繁体   English   中英

Laravel Laravel\Socialite\Two\InvalidStateException

[英]Laravel Laravel\Socialite\Two\InvalidStateException

我正在尝试使用社交媒体添加登录

我正在使用 Laravel 7 和社交名流进行登录。

起初它可以工作,但在第一次出现以下错误后:

Laravel\Socialite\Two\InvalidStateException
vendor/laravel/socialite/src/Two/AbstractProvider.php:210

我已经阅读了这个问题Laravel Socialite: InvalidStateException但我无法解决问题。

我将不胜感激任何帮助

在我的例子中,同样的错误是通过向->with()方法添加保留字参数“state”引起的。 我做了:

return Socialite::driver('twitch')
    ->with(['state' => 'randomstate'])
    ->redirect();

删除这有帮助。

我遇到了同样的问题,但仅在生产主机上运行应用程序(Laravel 8)时。

问题在于提供者执行了限制性资源隔离策略,该策略丢弃了具有sec-fetch-site:cross-site header (这是 OAuth2 重定向的情况)的请求的所有输入参数。

要验证这是否是您的情况,检查到达您的端点 function 的Request的内容就足够了:如果以下代码打印一个空数组,您可能必须检查您的 web 服务器配置。

public function socialCallback(Request $request) {
  // Those two lines are just for debug, to be removed
  print_r($request->all());
  exit();

  Socialite::driver('google')->user();
}

在这里,有关sec-fetch-site 的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM