CakePHP の Opauth の実装を開始しました。FacebookやTwitterで簡単にログインできるのがすごい…
質問は、Opauth がログイン データを返すと、ユーザーが CakePHP にログインする効率的な方法は何でしょうか?
Opauth はユーザーを CakePHP にログインさせません。ユーザーを作成し、Facebookまたはその他の認証情報をデータベースに保存することになっていると思います。これを簡単に実行できるプラグインはありますか?
CakePHP の Opauth の実装を開始しました。FacebookやTwitterで簡単にログインできるのがすごい…
質問は、Opauth がログイン データを返すと、ユーザーが CakePHP にログインする効率的な方法は何でしょうか?
Opauth はユーザーを CakePHP にログインさせません。ユーザーを作成し、Facebookまたはその他の認証情報をデータベースに保存することになっていると思います。これを簡単に実行できるプラグインはありますか?
私が CakePHP 2.0 で気に入っている点の 1 つは、Auth プラグインの機能です。1 つまたは複数の認証方法を実際にカスタマイズできます。同時に、開発者はカスタム認証プラグインを「フック」してソリューションを統合する必要があります。
プラグインページに答えがあります。
check step #6
"検証後、ユーザーは にリダイレクトされRouter::url('/opauth-complete')
、検証済みの認証応答データが取得可能になります。$this->data
"
これが完了すると、例のようなコードができますpublic function opauth_complete() {...
この関数では、 を使用して、$this->data
認証されたユーザーを見つけます
私が時々使用する方法は、Opauth の例で提供される 2 つの情報 (ユーザー名と電子メール) でユーザーを見つけることです。
次のようなものを使用できます$loginUser = $this->User->find('first', array('fields'=>array('User.*'), 'conditions'=>array('User.username'=>$this->data['username'], 'User.email'=>$this->data['email']));
ユーザーを取得したら$loginUser
、 を呼び出すだけ$this->Auth->login($loginUser)
で、そのユーザーとの AuthSession が作成されます!
ご不明な点がございましたら、お知らせください。