Laravel Socialite:InvalidStateException [英] Laravel Socialite: InvalidStateException
问题描述
我正在使用Laravel Socialite在网站上添加一个Facebook连接按钮。有时候,我有回调的错误:
I'm using Laravel Socialite to add a Facebook connect button on a website. Sometimes, I've got this error on callback:
exception 'Laravel\Socialite\Two\InvalidStateException'
in /example/vendor/laravel/socialite/src/Two/AbstractProvider.php:161
我不知道这是什么意思,还没有发现任何关于这个错误的东西。真正的问题是似乎是一个随机的例外(不明白为什么会发生)。那么这个错误是什么意思和如何避免的呢?
I don't know what it mean and did not found anything yet about this error. The real problem is it seems to be a random exception (don't understood why it happens). So what this error means and how to avoid it?
似乎这不一样的问题,因为 Laravel 5在AbstractProvider.php中摆放InvalidStateException ,导致我的情况是随机的。
It seems it's not the same problem as Laravel 5 geting InvalidStateException in AbstractProvider.php, cause in my case it's random.
推荐答案
我昨天遇到这个问题,并用以下解决方案解决。
I ran into this issue last night and solve it with the following solution.
有关我的问题的更多信息,得到
More information on my issue, I've got
AbstractProvider.php行182中的InvalidStateException
InvalidStateException in AbstractProvider.php line 182
在函数 handleProviderCallback()
当它重新从Facebook登录回来。这似乎和你的问题一样。
in the function handleProviderCallback()
when it re-direct back from Facebook login. It seems to be the same as your issue.
此外,我发现当我打开我的网站没有 www
。当我使用 www.mysite.com
打开我的网站 - 没问题。起初我认为我的问题是随机的,直到我得到了克里斯·汤森(Chris Townsend)回答这个问题的线索 - 非常感谢。
Furthermore I found my issue occurs when I open my site without www
. When I open my site with www.mysite.com
- no problem. At first I think my issue is random until I've got the clue by Chris Townsend's reply to the question - Thank you very much.
解决方案
- 转到您的www根,检查laravel文件
config /session.php
- 检查会话会话Cookie域
默认配置为'domain'=> null,
我更改了'domain'=> 'mysite.com'
。 -
'php artisan cache:clear'
和'composer dump-autoload'
,我可以从www.mysite.com
和mysite .com
- Go to your www root, check the laravel file
config/session.php
- Check session Session Cookie Domain
The default configuration is
'domain' => null,
I made a change to'domain' => 'mysite.com'
. - After
'php artisan cache:clear'
and'composer dump-autoload'
, I can login with no issue from bothwww.mysite.com
andmysite.com
在完成这些修改后,请确保在浏览器中删除Cookie。旧的Cookie仍然可能会产生问题。
Be sure to delete your cookies from browser when testing it after these modifications are done. Old cookies can still produce problems.
这篇关于Laravel Socialite:InvalidStateException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!