我想在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?
答案 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