我开始为 CakePHP 实现 Opauth。通过 Facebook、Twitter 轻松登录真是太棒了……
问题是一旦 Opauth 返回登录数据,将用户登录到 CakePHP 的有效方法是什么?
Opauth 不会让用户登录到 CakePHP。我想我应该创建一个用户并将 facebook 或其他身份验证信息保存到数据库。有没有一个插件可以让我轻松做到这一点?
我开始为 CakePHP 实现 Opauth。通过 Facebook、Twitter 轻松登录真是太棒了……
问题是一旦 Opauth 返回登录数据,将用户登录到 CakePHP 的有效方法是什么?
Opauth 不会让用户登录到 CakePHP。我想我应该创建一个用户并将 facebook 或其他身份验证信息保存到数据库。有没有一个插件可以让我轻松做到这一点?
我喜欢 CakePHP 2.0 的一件事是身份验证插件的工作方式,您可以真正自定义一种或多种身份验证方法。同时,这让开发人员可以“挂钩”自定义身份验证插件以集成解决方案。
插件页面有你的答案,差不多
检查步骤#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 !
如果您有任何问题,请告诉我。