2

我开始为 CakePHP 实现 Opauth。通过 Facebook、Twitter 轻松登录真是太棒了……

问题是一旦 Opauth 返回登录数据,将用户登录到 CakePHP 的有效方法是什么?

Opauth 不会让用户登录到 CakePHP。我想我应该创建一个用户并将 facebook 或其他身份验证信息保存到数据库。有没有一个插件可以让我轻松做到这一点?

4

1 回答 1

8

我喜欢 CakePHP 2.0 的一件事是身份验证插件的工作方式,您可以真正自定义一种或多种身份验证方法。同时,这让开发人员可以“挂钩”自定义身份验证插件以集成解决方案。

插件页面有你的答案,差不多

  • 转到https://github.com/uzyn/cakephp-opauth#how-to-use

  • 检查步骤#6验证后,用户将被重定向到Router::url('/opauth-complete')可在以下位置检索的经过验证的身份验证响应数据$this->data

  • 完成后,你就有了像他们的例子一样的代码public function opauth_complete() {...

  • 在此功能中,您将使用$this->data查找已通过身份验证的用户

  • 我有时使用的一种方法是通过 Opauth 示例提供的两条信息来查找用户:用户名和电子邮件

  • 你可以使用类似的东西$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 !

如果您有任何问题,请告诉我。

于 2013-02-03T19:28:42.290 回答