CakePHP 和 Oauth

标签 cakephp cakephp-2.0 cakephp-2.1

我开始实现Opauth for CakePHP 。太棒了,可以轻松地通过 Facebook、Twitter 登录...

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

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

最佳答案

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

插件页面几乎有你的答案

  • 转到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!

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

关于CakePHP 和 Oauth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14616486/

相关文章:

css - CakePHP 3x 中的响应式 Bootstrap 设计

php - CakePHP 2.8.4 : Change User balance

mysql - 加速复杂的多连接 MySQL 查询(如果重要的话可以通过 CakePHP 创建)

php - 从 mysql 获取数据并以周为单位进行分组并显示日期

Cakephp belongsTo 关系 - 访问相关模型

php - CakePHP:如何在模型中访问 $this->request

php - CakePHP:为插件创建操作 Hook

php - 在哪里注册事件监听器

php - CakePHP 2.1.3 单个页面的 SEO 元描述与 default.ctp

cakephp-2.0 - 如何从 CakePHP 2.x 中的助手访问 View block ?