我开始实施Opauth for CakePHP。很棒,通过Facebook,Twitter登录很容易......
问题是,一旦Opauth返回登录数据,将用户登录到CakePHP的有效方法是什么?
Opauth不会将用户登录到CakePHP。我想我应该创建一个用户并将facebook或其他身份验证信息保存到数据库。有插件可以让我轻松完成吗?
答案 0 :(得分:8)
我喜欢CakePHP 2.0的一个方面是Auth Plugins的工作方式,你可以真正定制一种或多种身份验证方法。与此同时,这使得开发人员可以“挂钩”自定义Auth插件来集成解决方案。
插件页面有你的答案,差不多
检查步骤#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!
如果您有任何问题,请与我们联系。