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

Posted

技术标签:

【中文标题】在 AWS 上托管时,拒绝为目标域生成登录提示的权限【英文标题】:Permission denied to generate login hint for target domain when hosted on AWS 【发布时间】:2018-09-21 14:05:51 【问题描述】:

帮助排除故障的网站链接:http://ec2-54-227-148-233.compute-1.amazonaws.com/architect/

我正在尝试在我自己的服务器上启动 Anyplace Architect。我已经进入谷歌开发者控制台并将我的密钥和授权 javascript 来源设置为我的网站,但是当我点击该网站时,我得到以下信息:

在开发者控制台中,我看到:

Request URL:https://accounts.google.com/o/oauth2/iframerpc?action=listSessions&client_id=964916910124-bv0kcgd7lrbhblvc0okebbhahitnnerl.apps.googleusercontent.com&origin=http%3A%2F%2Fec2-54-227-148-233.compute-1.amazonaws.com&scope=openid%20profile%20email&ss_domain=http%3A%2F%2Fec2-54-227-148-233.compute-1.amazonaws.com
Request Method:GET
Status Code:400 
Remote Address:10.15.8.202:8080
Referrer Policy:no-referrer-when-downgrade

当我在本地吃午饭时,它运行良好,我什至没有在 chrome 的开发者控制台的网络选项卡中看到该请求。

localhost:5000 和 AWS 站点都在谷歌的批准列表中

更新:

这可能只是我对登录工具如何工作的无知,但我已经能够找出对 localhost 的调用和我的托管环境不同。本地主机地址转到 google.com/signin/oauth/oauthchooseaccount:

https://accounts.google.com/signin/oauth/oauthchooseaccount?client_id=964916910124-bv0kcgd7lrbhblvc0okebbhahitnnerl.apps.googleusercontent.com&as=woofRlZRVjxqKYzi0Xbttw&destination=http%3A%2F%2Flocalhost%3A5000&approval_state=!ChRhQmpLNEZRVHZJVEo2TW4xUHZwbhIfd3hHcnJMMDRJYlVkMEs2dFEwd1Nsa3YxeWR4ZUt4WQ%E2%88%99AB8iHBUAAAAAWs-i2_Lj-7nWLqvZjcwt3RArM0a3r6wB&xsrfsig=AHgIfE9BSG8q4mj-GBLin4PQT5-zv5fhhQ&flowName=GeneralOAuthFlow

当托管人访问 google.com/o/oauth2/auth

https://accounts.google.com/o/oauth2/auth?redirect_uri=storagerelay%3A%2F%2Fhttp%2Fec2-54-227-148-233.compute-1.amazonaws.com%3Fid%3Dauth422135&response_type=code%20permission%20id_token&scope=openid%20profile%20email&openid.realm=&client_id=964916910124-bv0kcgd7lrbhblvc0okebbhahitnnerl.apps.googleusercontent.com&ss_domain=http%3A%2F%2Fec2-54-227-148-233.compute-1.amazonaws.com&access_type=offline&include_granted_scopes=true&prompt=consent&origin=http%3A%2F%2Fec2-54-227-148-233.compute-1.amazonaws.com&gsiwebsdk=2

【问题讨论】:

如果这里没有人知道答案或能够提供帮助,有人可以发帖我可以去哪里寻求帮助吗?我检查了谷歌表单,但找不到这个类别。 【参考方案1】:

ec2 url 遇到了同样的问题,它在 localhost 中工作。

这是你可以做的。

    获取 IP 地址 -(最好是弹性 IP,因为每次重启时 ec2 IP 都会发生变化)。

    使用魔法域 - xip.io 或 nip.io 前任。您的 IP 地址 11.12.0.0 变为 => http://11.12.0.0.xip.iohttp://11.12.0.0.nip.io

    在谷歌和浏览器中使用上述地址。

干杯

【讨论】:

关于其他答案,我发现了使用 xip.io 的建议,这对我有用。我认为没有必要,因为我使用的是 ec2 (http://ec2-11-12-0-0.compute-1.amazonaws.com) 的域版本,但似乎那些也不起作用

以上是关于在 AWS 上托管时,拒绝为目标域生成登录提示的权限的主要内容,如果未能解决你的问题,请参考以下文章

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

谷歌登录网站错误:为目标域生成登录提示的权限被拒绝

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

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

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

在 Azure 上托管时找不到位于我的根项目文件夹中的文件