gpt4 book ai didi

php - Laravel 5 在 AbstractProvider.php 中获取 InvalidStateException

转载 作者:可可西里 更新时间:2023-11-01 12:25:50 25 4
gpt4 key购买 nike

我正在尝试使用 Socializelaravel 5 中使用 facebook 登录。

这是我的路由文件代码。

Route::get('fb', function ($facebook = "facebook")
{
$provider = \Socialize::with($facebook);
if (Input::has('code'))
{
$user = $provider->user();
return var_dump($user);
} else {
return $provider->scopes(['public_profile','user_friends'])->redirect();
}
});

登录成功,我得到了代码,但是 get $provider->user() 的时间我得到了错误。

InvalidStateException in AbstractProvider.php line 161

最佳答案

我不喜欢仅仅注释掉表示错误的代码(如@Dipesh Shihora 的回答),所以我进一步挖掘。我发现错误是由 session 问题引起的(至少在我的情况下)。

我的开发服务器是根据 this answer 中给出的说明设置的.基本上,我通过使用看起来像可公开访问的地址的回调 URL 来“欺骗”Google。

InvalidStateException 问题出现在我身上,因为我正在访问我的登录页面 http://localhost/login 并重定向到 Google 的登录页面,然后它返回了我到 http://myapp.example.com/callback。问题是 session key 存储在 cookie 中 - 它最初是 http://localhost 的 cookie,但是当我重定向到不同的 URL 时,cookie(以及 session key )无法访问。因此, session state 值在更新后不存在并抛出异常。

解决方案?确保我在开发机器上的所有浏览都是在 http://myapp.example.com 而不是 http://localhost 上完成的。

关于php - Laravel 5 在 AbstractProvider.php 中获取 InvalidStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29629287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com