Google:拒绝为localhost

时间:2016-03-15 19:27:23

标签: google-admin-sdk google-signin

我正在尝试创建Google登录并收到错误:

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

在您将此标记为重复之前, Google sign in website Error : Permission denied to generate login hint for target domain处提出的问题相同,因为在这种情况下,提问者是在localhost上,而我在此处收到此错误服务器。

具体来说,我在Authorized Javascript Origins中包含了服务器的url,如下图所示: Javascript origins

当我收到错误时,请求显示发送了相同的网址,如下图所示: Invalid request page

我的限制页面中还有其他内容吗?有没有办法弄清楚这里发生了什么?开发人员控制台上是否有日志可以告诉我发生了什么?

8 个答案:

答案 0 :(得分:99)

好的,我想出来了。我正在使用IP地址(例如" http://175.132.64.120")进行重定向uri,因为这是实时服务器上的测试网站,Google只接受实际网址(如&# 34; http://mycompany.com"或" http://localhost")作为重定向uris。

你知道,他们可能已经在文件中说过了什么,但无论如何。

答案 1 :(得分:15)

我知道这是一个老问题,但这是您通过Google查找问题时的第一个结果,所以我会与您分享我的解决方案。

在专用网络中部署Google OAuth服务时,即某些无法通过互联网访问的IP,您应该使用魔术DNS服务,例如xip.io,它会为您提供浏览器所需的网址解决您的内部IP。您可以看到,Google需要能够通过您的浏览器访问您的授权来源,这就是为什么如果您在计算机上提供localhost,设置localhost的原因,但是当您在Internet外部部署时,它将不起作用,例如VPN,内联网或隧道。

所以,步骤:

  1. 获取您正在部署的IP地址,而不是公共域名,让我们以10.0.0.1为例。
  2. 在Google Developer Console上将http://10.0.0.1.xip.io添加到您的授权Javascript来源。
  3. 访问http://10.0.0.1.xip.io
  4. 打开您的网站
  5. 如有必要,请清除网站的缓存。
  6. 使用Google登录,然后发送消息。
  7. 我在另一个问题中使用this answer来解决这个问题。

答案 2 :(得分:7)

如果您在自己的机器上进行测试(本地)。然后不要在客户端ID配置中使用IP地址(即http://127.0.0.1:8888),而是使用本地主机,它应该工作

示例:http://localhost:8888

答案 3 :(得分:7)

如果您使用的是http://127.0.0.1/projects/testplateform,请将其更改为http:// localhost / projects / testplateform,它会起作用。

答案 4 :(得分:2)

刚刚在外部测试服务器上遇到过同样的问题,但还没有DNS条目。如果您拥有本地计算机的权限,只需编辑/etc/hosts文件:

175.132.64.120  www.jimboweb.com

并使用http://www.jimboweb.com作为授权域。

答案 5 :(得分:2)

要允许将ip地址用作有效的javascript源,请先在/ etc / hosts文件中添加一个条目

10.0.0.1 mydevserver.com

然后在授权的Javascript Origins 中添加此域mydeveserver.com。如果您使用的是某些非标准端口,请在授权Javascript起源中使用您的域指定它。

enter image description here

注意:删除缓存,它会起作用。

答案 6 :(得分:0)

我在专用网ip 172.16.X.X中有一台服务器 通过将应用程序 port ssh-forwarding 移至我的本地主机端口,该问题得以解决。 现在,我可以将已部署的应用程序与google oauth浏览到本地主机一起使用了。

ssh -N -L8081:localhost:8080 ${user}@${host}

我还将localhost:8081添加到console.developers.google.com中的“授权URI重定向”和“授权JavaScript源”:

google developers console

答案 7 :(得分:0)

安装xampp并运行apache服务器, 将您的文件(索引和索引)放在xampp目录(c:\ xampp \ htdocs \ yourfolder)的文件夹中。 在您的浏览器网址中输入-http://localhost/yourfolder/index.html