AbstractProvider.php 生产中第 199 行中的 InvalidStateException,Laravel 5.2.39

InvalidStateException in AbstractProvider.php line 199 on production, Laravel 5.2.39

我使用 Socialite 2.0 和 Laravel 5.2.39。 localhost:8000 上的社交登录工作正常,但在生产站点 (example.com) 上不起作用。

public function handleProviderCallback($provider) { $social_user = Socialite::driver($provider)->user(); .... }

调用Socialite::driver($provider)->user()函数时的异常错误为:

InvalidStateException in AbstractProvider.php line 199

我尝试了人们建议的所有解决方案,但没有成功。 这是一些配置

SESSION_DRIVER=file DOMAIN=example.com URL=http://example.com (used in config/app.php) DOMAIN=mysite.com (used in config/session.php)

路线如下:

Route::get('redirect/{provider}', 'Auth\AuthController@redirectToProvider'); Route::get('callback/{provider}', Auth\AuthController@handleProviderCallback');

感谢您的帮助!

我终于找到了解决办法。它与 Nginx 配置有关。使用 try_files $uri $uri/ /index.php$is_args$args;而不是 try_files $uri $uri/ /index.php$query_string;在文件 /etc/nginx/sites-available/.