Google 登录错误 400。为目标域生成登录提示的权限被拒绝

Posted

技术标签:

【中文标题】Google 登录错误 400。为目标域生成登录提示的权限被拒绝【英文标题】:Google Sign-in Error 400. Permission denied to generate login hint for target domain 【发布时间】:2016-08-16 13:59:45 【问题描述】:

我得到以下内容

    这是一个错误。

错误:invalid_request

申请:[已编辑]

您可以通过以下地址向此应用程序的开发人员发送电子邮件:[已编辑]

为目标域生成登录提示的权限被拒绝。

请求详细信息这就是我们所知道的。

我的代码是

<meta name="google-signin-client_id" content="[redacted]">

<div class="g-signin2" data-onsuccess="onSignIn"></div>

<script src="https://apis.google.com/js/platform.js" async defer></script>

Google 开发控制台凭据是:

javascript Origins/Authorized Redirected URI

问题:

这目前在 localhost(server : named dev) 上运行良好,但是当我尝试从我们网络中的另一台计算机上执行此操作时,我收到 400 错误。该服务器仅在我们的内部网络中可用,不面向外部。 对于授权的 JavaScript 来源,我还尝试将它们添加到重定向 URI。但继续得到同样的错误。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

我不是这方面的专家,但这是我的看法。

如果您在 localhost 中访问该 URL,则一切正常。 但是如果您使用 IP 地址 192.168.1.x 会导致问题。 那是一些***答案指出了这个问题。

将该代码放在像 www.something.com 这样的公共域中运行 并使用 DNS 指向您的服务器,这可能会有所帮助。

顺便说一句,您在四月发布了这个问题。现在是五月。 您的问题可能已经自己解决了? 也许您可以在 *** 上分享您的解决方案

【讨论】:

【参考方案2】:

@NamNamNam 说的是真的,在使用 localhost 并认为它会与 ip 地址一样工作时的麻烦尝试是错误的。要让它在其他机器上工作,请尝试使用 ip 地址。会更好,当我使用 facebook api 时,它在局域网上对我有用。虽然仍在为 Google api 测试它,但我发现如果您希望通过 ip 地址在 lan 上使用远程调用来识别 localhost 调用,它肯定不起作用

【讨论】:

哦,我刚刚意识到,google api 不能在局域网上工作,因为它不接受 IP 地址重定向。因此,除非您可以将 ip 地址解析为本地网络上的域名,否则只能在 localhost 机器上进行测试:) 如果它位于具有域名的服务器上,您将只能在另一台机器上看到它跨度>

以上是关于Google 登录错误 400。为目标域生成登录提示的权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

Google登录网站Django:拒绝为目标域生成登录提示的权限

Google 登录:为目标域生成登录提示的权限被拒绝(javascript 网络应用程序)

拒绝为目标域生成登录提示的权限。 ec2 实例中的谷歌身份验证错误

谷歌:生成登录提示的权限被拒绝

在 AWS 上托管时,拒绝为目标域生成登录提示的权限

400 Invalid_request 您无法登录此应用,因为它不符合 Google 为确保应用安全而制定的 OAuth 2.0 政策