在CakePHP3中使用OAuth 2

时间:2016-11-28 17:02:07

标签: php oauth cakephp-3.0

我想在CakePHP3应用程序中使用外部登录(OAuth 2)。 (外部登录需要密码和电子邮件)。我从不为我的应用程序使用外部Auth(每次我只使用我自己的数据库和CakePHP3的Basic Auth,所以我不知道应该做什么)

在我的AppController中我写这个:

 $this->loadComponent('Auth', [

 'authenticate' => [
   'Basic' => [
       'fields' => ['username' => 'email', 'password' =>'password'],
   ], ],

     'loginAction' => [
                'controller' => 'Users',
                'action' => 'login'
            ]
        ]);

$this->Auth->config('authenticate', 'OAuth2');

在我的OAuth2Authenticate.php

public function authenticate(Request $request, Response $response)
{
    $http = new Client();
    $response = $http->get('http:xxx/login', [], [
        'auth' => ['username' => 'email', 'password' => 'password']
    ]);
}

但我无法访问用户?

是否有任何有用的教程或我可以学习的示例,以建立外部登录CakePHP3?

1 个答案:

答案 0 :(得分:1)

您可以使用UseMuffin / OAuth2插件来实现此目的 有关文档,请参阅https://github.com/UseMuffin/OAuth2

Cookbook还解释了如何创建自定义身份验证对象 http://book.cakephp.org/3.0/en/controllers/components/authentication.html#creating-custom-authentication-objects