Php 正在尝试将Google登录api添加到octobercms

Php 正在尝试将Google登录api添加到octobercms,php,laravel,google-signin,octobercms,Php,Laravel,Google Signin,Octobercms,我正在使用基于Laravel freamwork的OctoberCMS 我想在我的网站上有“使用谷歌帐户登录”的选项 所以我去了 我放弃了“使用后端服务器进行身份验证”的所有步骤。 因为我没有ssh访问我的域(我无法使用Composer安装库),所以我在.zip中下载了用于php的Google API客户端库 我把它解压缩到“plugins/nameOfMyplugin/google” 我被卡住了,因为我不知道如何将ID令牌发送到我的服务器并用这些库验证它,然后如果rainlab.user.pl

我正在使用基于Laravel freamwork的OctoberCMS

我想在我的网站上有“使用谷歌帐户登录”的选项

所以我去了 我放弃了“使用后端服务器进行身份验证”的所有步骤。 因为我没有ssh访问我的域(我无法使用Composer安装库),所以我在.zip中下载了用于php的Google API客户端库

我把它解压缩到“plugins/nameOfMyplugin/google”

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

谢谢你的帮助。

我已经解决了

在octoberCMS中,您没有理由自己连接google api,更好的解决方案是下载已经制作好的插件(octoberCMS.com/plugin/flynsarmy socialwin),该插件正在运行

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

我知道在注销和登录我的网站之间每12分钟我都可以登录。当我尝试在注销后11分钟内登录时,它不起作用

我转到了我的后端/设置/日志/事件日志,并将其记录下来

无法在第124行的public_html/plugins/flynsarmy/sociallogin/vendor/firebase/php jwt/src/jwt.php中处理2017-04-19T08:27:14+0000之前的令牌

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

出于安全原因,第一个不好:

在plugins/flynsarmy/socialgin/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)
   );
}
但正如我所说。。。这不安全

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

如何做到这一点,有很多解决方案:


你可以安装这个插件,我已经安装了,但它的工作方式不对。。。当有人第一次登录网站时,他正在创建帐户并自动登录。但当他/她注销时,就不可能再登录一次了……我已经在那个插件上写了问题来支持,但同时我也在考虑自己“用谷歌api登录”……根据sociallogin的说法——有时可以登录,但并不总是这样。我在我的事件日志第124行发现“无法处理2017-04-19T07:51:41+0000 in/plugins/flynsarmy/sociallogin/vendor/firebase/php jwt/src/jwt.php之前的令牌”@皮埃尔·安德烈·瓦利乌德