Poo*_*and 5 exception laravel google-oauth laravel-socialite laravel-5.8
我最近将我的应用程序移至实时服务器中。
问题是 laravel 社会名流停止工作,下面是解释:
我点击 google 登录并选择电子邮件后,在回调时发生这种情况:
InvalidStateException on Abstract.php on line 200.
为了解决这个问题,我使用了stateless(),现在新的错误是:
Client error: `POST https://www.googleapis.com/oauth2/v4/token` resulted in a `400 Bad Request` response: { "error": "invalid_request", "error_description": "Missing required parameter: code" }
以下是我已经尝试过的事情列表:
1-在 Google 网站中,我更新了 google apiurl并更新callback url为新的实时域地址:
http://www.domain-name.com以及http://www.domain-name.com/login/google/callback
2-我修改了 config/session.php 文件,如下所示:
'domain' => env('SESSION_DOMAIN', 'www.domain-name.com'),
3-我的存储文件夹已经拥有这样的权限:
drwxrwxr-x 5 root www-data 4096 Jun 24 18:30 storage
4-我更改了vendor\laravel\socialite\src\Two\GoogleProvider.php文件并删除了“配置文件”,现在它看起来像这样:
protected $scopes = [
'openid',
'email',
];
Run Code Online (Sandbox Code Playgroud)
5- 我多次使用php artisan cache:clear、 、 并清除浏览器缓存数据。composer dump-autoload
6-我尝试$userSocial = Socialite::with('google')->user();而不是$userSocial = Socialite::driver('google')->user();,但我仍然得到InvalidStateException on Abstract.php on line 200。只有当我更改为$userSocial = Socialite::driver('google')->stateless()->user();错误时,才会更改我在问题开头所说的内容。
我的config/services.php文件是这样的:
'google' => [
'client_id' => 'my-correct-client-id-from-google',
'client_secret' => 'my-correct-client-secret-from-google',
'redirect' => 'http://www.domain-name.com/login/google/callback',
],
Run Code Online (Sandbox Code Playgroud)
我已经尝试解决这个问题两天了。任何帮助,将不胜感激。
浪费了很多个小时之后。终于找到答案了:
是nginx:
所以我跑了sudo nano /etc/nginx/sites-available/default
并修复了这一行:
try_files $uri $uri/ /index.php?query_string; // wrong
Run Code Online (Sandbox Code Playgroud)
到
try_files $uri $uri/ /index.php?$query_string; // fixed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2144 次 |
| 最近记录: |