我正在尝试在CakePHP 3中创建另一种身份验证方法,除了经典的用户名/密码方法,因为我打算让用户通过Facebook帐户进行身份验证。 我的策略如下:
当用户点击“注册或登录”按钮时,将在我的数据库中检索和创建/更新其FB信息。之后,用户应该通过并访问系统。
我的问题是我无法弄清楚如何创建一个额外的身份验证方法,只需要在我的Users数据库中注册用户FB令牌。
我查看了关于Authentication Handlers的CakePHP 3文档,但不是很清楚。
如果有人能帮我解决这个问题,我会非常感激!
这是我的Javascript代码:
FB.api('/me?fields=id,first_name,last_name,email,permissions', function (response) {
console.log('Successful login for: ' + response.first_name + ' id: ' + response.id);
document.getElementById('status').innerHTML =
'Thanks for logging in, ' + response.first_name + '!';
$.post('/users/register/' + response.id + '/' + response.first_name + '/' + response.last_name + '/' + response.email, function (data, status) {});
});
答案 0 :(得分:0)
试试这个http://www.smarttutorials.net/login-with-google-oauth-2-using-php-and-mysql/
策略是登录时 - 如果用户不在您的表中,则将其重定向到facebook的auth2登录页面。
用户允许您的应用后,请求他们的信息并手动登录。
$this->Auth->setUser ( $user ); //$user is an array