我正在尝试创建Google登录并收到错误:
拒绝为目标域生成登录提示的权限
在您将此标记为重复之前, 与Google sign in website Error : Permission denied to generate login hint for target domain处提出的问题相同,因为在这种情况下,提问者是在localhost上,而我在此处收到此错误服务器。
具体来说,我在Authorized Javascript Origins中包含了服务器的url,如下图所示:
我的限制页面中还有其他内容吗?有没有办法弄清楚这里发生了什么?开发人员控制台上是否有日志可以告诉我发生了什么?
答案 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,内联网或隧道。
所以,步骤:
10.0.0.1
为例。http://10.0.0.1.xip.io
添加到您的授权Javascript来源。http://10.0.0.1.xip.io
我在另一个问题中使用this answer来解决这个问题。
答案 2 :(得分:7)
如果您在自己的机器上进行测试(本地)。然后不要在客户端ID配置中使用IP地址(即http://127.0.0.1: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起源中使用您的域指定它。
注意:删除缓存,它会起作用。
答案 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源”:
答案 7 :(得分:0)
安装xampp并运行apache服务器, 将您的文件(索引和索引)放在xampp目录(c:\ xampp \ htdocs \ yourfolder)的文件夹中。 在您的浏览器网址中输入-http://localhost/yourfolder/index.html