Laravel Socialite: InvalidStateException

2022-08-30 07:55:29

我正在使用Laravel Socialite在网站上添加一个Facebook连接按钮。有时,我在回调时遇到此错误:

exception 'Laravel\Socialite\Two\InvalidStateException' 
in /example/vendor/laravel/socialite/src/Two/AbstractProvider.php:161

我不知道它是什么意思,也没有发现任何关于这个错误的信息。真正的问题是它似乎是一个随机的例外(不明白为什么会发生这种情况)。那么这个错误意味着什么以及如何避免它呢?

这似乎与Laravel 5在AbstractProvider中获取InvalidStateException不是同一个问题.php,因为在我的情况下它是随机的。


答案 1

我昨晚遇到了这个问题,并使用以下解决方案解决了这个问题。

有关我的问题的更多信息,我已获得

InvalidStateException in AbstractProvider.php行 182

在功能中,当它从Facebook登录重新定向回来时。它似乎与您的问题相同。handleProviderCallback()

此外,我发现当我在没有的情况下打开我的网站时,我的问题发生了。当我打开我的网站时 - 没问题。起初,我认为我的问题是随机的,直到我得到克里斯·汤森德(Chris Townsend)对这个问题的回答的线索 - 非常感谢。wwwwww.mysite.com

解决方案

  1. 转到您的 www 根目录,检查 laravel 文件config/session.php
  2. 检查会话会话 Cookie 域 默认配置是 我对 进行了更改。'domain' => null,'domain' => 'mysite.com'
  3. 在 和 之后,我可以登录,而两者都没有问题'php artisan cache:clear''composer dump-autoload'www.mysite.commysite.com

完成这些修改后,请务必在测试时从浏览器中删除您的Cookie。旧的饼干仍然会产生问题。


答案 2

解决:

Socialite::driver('google')->stateless()->user()

推荐