提问者:小点点

laravel社交名流不在实时服务器上工作,仅在本地计算机上工作



问题是laravel社会名流停止工作,下面是解释:
我点击谷歌登录,选择电子邮件后,回调会发生这种情况:
InvalidStateExc0019 on Abstract.php在第200行。
为了修复这个问题,我使用了有状态的(),现在新的错误是:
客户端错误:'POSThttps://www.googleapis.com/oauth2/v4/token'导致'400坏请求'响应:{"错误":"invalid_request","error_description":"缺少必需的参数:code"}

以下是我已经尝试过的事情列表:
1-在谷歌网站上,我更新了谷歌apiurl回调url到新的实时域名地址:http://www.domain-name.com<--源代码

2-我修改了配置/会话。php文件如下:
'domain'=

3-我的存储文件夹已具有如下权限:
drwxrwxr-x 5 root www-data 4096 Jun 24 18:30 storage

4-我改变了供应商\laravel\社会名流\src\两个\GoogleProvider.php文件,并删除了配置文件,现在它看起来像这样:

protected $scopes = [
'openid',
'email',
];

5-我用了php的工匠缓存:清除作曲家转储-自动加载,并多次清除浏览器缓存数据。

6-我尝试了('google')的$userSocial=Socialite::方法-

我的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',
],

我已经尝试解决这个问题2天了。任何帮助都将不胜感激。


共3个答案

匿名用户

终于找到了答案:
是nginx:
所以我运行了sudo纳米 /etc/nginx/sites-available/default

并修正了这一行:

try_files $uri $uri/ /index.php?query_string; // wrong 

try_files $uri $uri/ /index.php?$query_string; // fixed 

匿名用户

谢谢@Pooria Honarmand花了几个小时后,我发现了你提到的同样的原因。因为我无法更改默认配置。

或者,您可以设置参数,如:

$urlArr=parse_url($_SERVER['REQUEST_URI']);
parse_str($urlArr['query'], $output);
$request->merge($output);

匿名用户

我有同样的问题,我今天花了两天多的时间更新了我的composer,删除了我的供应商文件夹,再次安装了composer,问题已经解决了