我正在使用基于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