多年来,我一直在我的网站上使用 Google 的 OAuth 2.0 身份验证。最近它停止工作,因为我使用的 redirect_urihttp://
和谷歌现在显然需要 https。我的站点支持 https,因此我将本地 client_secrets.json 文件更改为使用 https,还转到了有关凭据的 Google Cloud Platform 页面,选择了 OAuth 2.0 客户端 ID,并确保授权重定向 URI 下的条目也具有https://
。重新启动我的网络服务器后,身份验证仍然失败,因为 redirect_uri 仍在使用http://
.
这只是一个缓存问题,会在一小时/天后消失吗?我还需要做些什么来更新重定向 URI 或告诉 Google 刷新它吗?
您声明是因为 redirect_uri 仍在使用 http://。什么在使用那个 URI?您的应用程序中有硬编码的路径吗?
或者您的意思是来自 Google 的回调将发送到您的 HTTP 端点?您的代码会通知 Google 回调 URI。Google 会验证 URI 是否在已批准的回调列表中。仔细检查您的应用程序代码是否有硬编码的 URI。
另一种可能性是您在代理(负载均衡器)后面,并且您的应用程序认为该方案是 HTTP,而实际上它是 HTTPS。这将需要更新您的应用程序以支持 HTTP 标头X-Forwarded-Proto。