来自本地主机的 Google OAuth 引发 invalid_request 错误

Posted

技术标签:

【中文标题】来自本地主机的 Google OAuth 引发 invalid_request 错误【英文标题】:Google OAuth from localhost throws invalid_request error 【发布时间】:2021-12-24 03:11:36 【问题描述】:

从几周前开始,Google 开始抱怨在非 HTTPS 网站上使用 OAuth。所以最后我们将所有服务都更新为 HTTPS。

但在我的 PC 中,我使用 WAMP 和 HTTP(仅用于开发目的)。从那以后,每次我尝试使用 Google OAuth 登录时,都会收到错误消息:错误 400:invalid_request(没有更多信息)

在生产服务器中,每一个都像一个魅力。但只在本地主机失败。在 Google API 控制台中,我已正确设置 URI:

我不知道还能尝试什么。我应该在我的 WAMP 服务器上安装 SSL 证书吗? Google 不再支持 localhost URI 了吗?

只是为了让您知道,在我的开发环境中,我使用的是 WAMP 3.2.2.2。该项目使用 Laravel 8.0 和 Socialite 5.0

提前感谢所有可以帮助我的人:)

【问题讨论】:

【参考方案1】:

SSL 和 OAuth 开发倾向于一起进行,如果您尝试使用 localhost URL,这将是一个难题。因此,我通过在我的主机文件中添加条目来在本地工作:

127.0.0.1  web.mycompany.com api.mycompany.com

然后创建一些 OpenSSL 证书,如 this bash script。然后我会在需要时使用它们,这提高了我的工作效率。

这还提供了更真实的设置,为尽早了解信任问题提供了更好的选择。更多详情请见this blog post。

【讨论】:

以上是关于来自本地主机的 Google OAuth 引发 invalid_request 错误的主要内容,如果未能解决你的问题,请参考以下文章

不是来自 Google API Oauth 的客户端的有效来源

Google OAuth 和本地开发

可以在本地测试 Google 社交登录吗?

在本地主机上使用 Google OAuth

google-oauth / calendar api的本地开发问题

如何将重定向 uri 链接到我的本地主机?