アプリケーションで API ユーザーを認証する方法が見つかりません。最初は、ユーザーが Web 経由でアクセスして認証できるシステムの構築に着手しましたが、要件が変更されたため、POST API 呼び出しを使用して RESTful な方法で利用できる追加のアクションを実装する必要があります。
CBehaviour
認証されていないすべてのユーザーのログイン ページへのリダイレクトを強制的に拡張するクラスを作成しました(ここの yii フレームワーク フォーラムにあります)。問題は、すべての API 呼び出しが同じロジックを介して強制され、POST 要求が単純に HTML をログイン ページに吐き出すことです。
class ApplicationBehavior extends CBehavior {
private $_owner;
public function events() {
return array(
'onBeginRequest' => 'forceGuestLogin',
);
}
public function forceGuestLogin() {
$owner = $this->getOwner();
if ($owner->user->getIsGuest())
$owner->catchAllRequest = array("site/login");
}
}
API ユーザーの認証を Web ユーザーから分離するにはどうすればよいですか?