CakePHP和Opauth

时间:2013-01-31 00:31:32

标签: cakephp cakephp-2.0 cakephp-2.1

我开始实施Opauth for CakePHP。很棒,通过Facebook,Twitter登录很容易......

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

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

1 个答案:

答案 0 :(得分:8)

我喜欢CakePHP 2.0的一个方面是Auth Plugins的工作方式,你可以真正定制一种或多种身份验证方法。与此同时,这使得开发人员可以“挂钩”自定义Auth插件来集成解决方案。

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

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

  • 检查步骤#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!

如果您有任何问题,请与我们联系。