试图将API中的Google登录添加到十月cms



我正在使用基于laravel freamwork的十月cms。

我想在我的网站上可以选择"使用Google帐户登录"。

所以我去了https://developers.google.com/indistity/sign-in/web/devconsole-project我为"使用后端服务器进行身份验证"的所有步骤下降。因为我没有SSH访问我的域(我无法使用Composer安装库(,因此我下载了用于php的Google API客户库。

我将其解开为"插件/namefmyplugin/google"。

我被卡住了,因为我不知道如何将ID令牌发送到我的服务器并使用这些库进行验证,然后我想在我的DB中创建新用户,如果不存在于Rainlab中.user.plugin。

感谢您的任何帮助。

我已经解决了它。

在10月CMS上,没有理由通过您自己的"更好的解决"插件与Google API连接(actioncms.com/plugin/flynsarmy-sociallogin(。

我刚刚下载了coptcms.com/plugin/flynsarmy-sociallogin,但正如我之前所说的,在登录到我的网站时遇到了一些问题。

我播种,每12分钟在注销和登录到我的网站之间,我可以登录。当我在注销后的11分钟内尝试登录时,它无效。

我去了我的后端/设置/日志/事件日志,然后播种

在2017-04-19T08:27:14 0000之前无法处理令牌

这意味着我的服务器时间迟到了12分钟。有两种解决方法:

首先出于安全原因不好:

设置在插件/flynsarmy/sociallogin/vendor/firebase/php-jwt/src/jwt.php中公共静态$ LEEWAY = x;x是secunds,在我的示例中或添加时间差,如果从123开始:

if (isset($payload->iat) && $payload->iat > ($timestamp + static::$leeway +  
**720**)) {
    throw new BeforeValidException('Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->iat)
   );
}

,但是正如我所说的...不是安全...

第二个解决方案是以正确的方式设置服务器上的时间。

有很多解决方案如何做:

http://www.inmotionhosting.com/support/website/php/php/update-local-php-settings

https://help.directadmin.com/item.php?id=52

http://forum.directadmin.com/showthread.php?t=1817

最新更新