如何在CakePHP 3中创建另一种身份验证方法?

时间:2015-10-27 19:45:27

标签: php facebook cakephp authentication cakephp-3.0

我正在尝试在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) {});
    });

1 个答案:

答案 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