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

Posted

技术标签:

【中文标题】谷歌:生成登录提示的权限被拒绝【英文标题】:Google: Permission denied to generate login hint 【发布时间】:2019-07-08 05:14:51 【问题描述】:

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

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

请求详情

redirect_uri=https://www.DOMAIN_FOR_REDIRECT.com/main-page/ response_type=permission id_token 范围=电子邮件配置文件 openid openid.realm= client_id=XXXXXX.apps.googleusercontent.com ss_domain=https://www.SOURCE_DOMAIN_WITH_GOOGLE_BUTTON.com fetch_basic_profile=true siwebsdk=2

https://www.DOMAIN_FOR_REDIRECT.com/main-page/ https://www.SOURCE_DOMAIN_WITH_GOOGLE_BUTTON.com 添加到

授权的 javascript 来源

文档中对 redirect_uri 没有限制 https://developers.google.com/identity/protocols/OAuth2UserAgent#request-parameter-redirect_uri

https://developers.google.com/identity/sign-in/web/reference#gapiauth2clientconfig

在域 https://www.SOURCE_DOMAIN_WITH_GOOGLE_BUTTON.com 上托管的验证代码示例:

gapi.auth2
    .init(
        client_id: `XXXXXX.apps.googleusercontent.com`,
        scope: 'profile',
        ux_mode: 'redirect',
        redirect_uri: 'https://www.DOMAIN_FOR_REDIRECT.com/main-page/'
    )

【问题讨论】:

根据那个文档,你必须'apiKey': 'YOUR_API_KEY', 'clientId': 'YOUR_CLIENT_ID', ... 你的api密钥在哪里? (假设$id被正确替换) ..我的意思是你不应该发布它,但考虑将它添加到“init object”...... :) in myaccount.google.com/security 检查是否安全性较低的应用程序访问设置为开启 我认为scope应该是Google根据请求的api提供的URL。 【参考方案1】:

我在您提供的docs 中的任何地方都没有看到ux_mode

在gapi.auth2 ClientConfig 的文档中,我可以看到您引用的变量。这question 阐明了 URI 必须是完整 URL 的事实,但是您可以使用一些魔法来使 ip 地址在专用网络上工作。

您能否验证您已将您的 URL 添加到您的授权 JavaScript 源中,如 here 所述?

【讨论】:

以上是关于谷歌:生成登录提示的权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

谷歌应用引擎 - 权限被拒绝错误

谷歌商店上架APP被拒绝