【问题标题】:How to create an alternate method of authentication in CakePHP 3?如何在 CakePHP 3 中创建另一种身份验证方法?
【发布时间】:2015-10-27 19:45:27
【问题描述】:

除了经典的用户名/密码方法之外,我正尝试在 CakePHP 3 中创建另一种身份验证方法,因为我打算让用户使用 Facebook 帐户进行身份验证。 我的策略如下:

当用户点击“注册或登录”按钮时,他们的 FB 信息将被检索并在我的数据库中创建/更新。之后,用户将通过并访问系统。

我的问题是我无法弄清楚如何创建一种额外的身份验证方法,该方法只需要在我的用户数据库中注册用户 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) {});
    });

【问题讨论】:

标签: php facebook cakephp authentication cakephp-3.0


【解决方案1】:

试试这个http://www.smarttutorials.net/login-with-google-oauth-2-using-php-and-mysql/

策略是在登录时 - 如果用户不在您的表中,请将他们重定向到 facebook 的 auth2 登录页面。

一旦用户允许您的应用,请求他们的信息并手动登录。

 $this->Auth->setUser ( $user );  //$user is an array

【讨论】:

    猜你喜欢
    • 2016-08-24
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 2017-10-05
    • 1970-01-01
    相关资源
    最近更新 更多