【问题标题】:Socialite google works on localhost only, not productionSocialite google 仅在本地主机上工作,而不是生产
【发布时间】:2019-12-09 17:29:13
【问题描述】:

我有 facebook 和 google 使用社交名流登录,facebook 工作,但谷歌我只设法在本地工作,所以例如本地 url 是 http://dev.thesite.com,而在生产中,url 是 https://thesite.com,这是唯一的区别,但是当尝试在生产环境中使用 google 登录时,我总是得到 invalidState 异常

我注意到当我得到InvalidStateException 时,environment and details 下我有:

REQUEST_URI  "/login/google/callback?state=EoWyQabT7M6wFKbPWyNJ5UD1jpLaID8v0RylvWll&code=4%2FuAFENTN62cKi-HJH7MLDFnrn8LtALjwi0zpd1Fmx688A6Vj_uSMDPk-p5EtQl_GayYKtcasjInfPjL6gfSImto8&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&authuser=0&session_state=84bdbb33a08cc16bbaf7584540c9b97deca3dafb..5d5c&prompt=consent"

QUERY_STRING    ""

所以QUERY_STRING 出于某种原因是空的。

我的 .htaccess 文件将所有请求重定向到 https,我相信也许一些 .htaccess 设置可以解决这个问题。

【问题讨论】:

标签: laravel .htaccess google-oauth laravel-socialite


【解决方案1】:

转到config/session.php 并设置(不带www)

'domain' => env('SESSION_DOMAIN', yourdomain.com),

在控制台中

php artisan cache:clear
composer dump-autoload

从浏览器中删除所有 cookie

【讨论】:

  • cache:clear 为缓存存储,与配置缓存无关
猜你喜欢
  • 2018-08-01
  • 1970-01-01
  • 2018-06-23
  • 2018-04-16
  • 2020-08-16
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
相关资源
最近更新 更多