使用localhost测试Google Oauth 2.0(2019年6月)?

时间:2019-06-04 02:09:02

标签: oauth-2.0 google-oauth

由于Google要求使用顶级私有域作为授权域,因此如何使用本地主机在我的应用程序上测试Google Oauth 2.0?

a

我试图查找解决方案,但是给出的所有解决方案都已经有一段时间了,我认为Google从那时起就改变了服务。

请帮助:)

6 个答案:

答案 0 :(得分:4)

localhost 不是有效的顶级域,它不会让您在不设置同意屏幕的情况下生成凭据。如果您愿意,您可以添加多个授权域,但不能将其留空。但是,如果您没有域/暂时不想添加域,则可以删除该字段。你不能把它留空。

注意描述——“使用域时”。所以没有义务为同意屏幕添加授权域。此外,这里的授权域仅与同意屏幕相关。授权来源和授权重定向 URL 需要在凭证部分指定,这很重要;指定接受请求的来源以及重定向的来源。所以只需在同意屏幕中省略授权域。

enter image description here

那怎么删除呢?以防万一,如果您没有注意到,只需将鼠标悬停在该领域上,这个小人就会弹出。删除它。就这样。现在您应该可以保存并继续,它可能会要求您设置范围。

enter image description here

我知道现在很晚了,希望它可以帮助其他人..

答案 1 :(得分:0)

在提交应用程序验证请求之前,必须提供授权域的列表[1]。如果要配置localhost重定向URI,则可以在Web OAuth客户端ID配置[2]中对其进行配置。

[1] https://support.google.com/cloud/answer/7454865?hl=en

[2] https://developers.google.com/identity/protocols/OAuth2WebServer#creatingcred

答案 2 :(得分:0)

如果选择“其他”作为应用程序类型而不是“ Web应用程序”,则将假定您使用的是本地主机,并且不会要求您提供重定向URL。

enter image description here

答案 3 :(得分:0)

大约一个小时后,我将脑袋撞到墙上,发现this article的逐步解决方案有效(截至2020年7月)。

基本上,您需要创建一个服务帐户,与该帐户共享工作表,然后它才能工作。

我尝试过的所有其他身份验证方法都引发了无意义的错误,或者只是默默地不起作用。

答案 4 :(得分:0)

让您的开发计算机标识为该域的一部分-编辑您的hosts文件。

This post应该可以帮助您。

答案 5 :(得分:0)

如果有人反对上述建议,this answer 为我解决了问题。在 google API 控制台中将我授权的 JavaScript 源 URI 设置为 http://localhost:8080,然后清空我的 Chrome 缓存。