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

Posted

技术标签:

【中文标题】Google登录网站Django:拒绝为目标域生成登录提示的权限【英文标题】:Google sign in website Django : Permission denied to generate login hint for target domain 【发布时间】:2015-11-11 05:04:01 【问题描述】:

我正在尝试在我的网站中集成 Google 登录 ..我正在遵循以下示例:https://developers.google.com/identity/sign-in/web/

我也关注了http://www.marinamele.com/user-authentication-with-google-using-django-allauth,

我为我的项目生成了客户端ID,并在上面的代码中替换了它,我的settings.py如下:

AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)

SITE_ID = 1
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_EMAIL_VERIFICATION = "none"
LOGIN_REDIRECT_URL = '/'
SOCIALACCOUNT_QUERY_EMAIL = True
SOCIALACCOUNT_PROVIDERS = \

'google': 
    'SCOPE': ['profile','email'],
    'AUTH_PARAMS': 'auth_type': 'reauthenticate', 'access_type':'online',
    'METHOD': 'oauth2',
    'VERIFIED_EMAIL': False


TEMPLATES = [

    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, "templates")],
    'APP_DIRS': True,
    'OPTIONS': 
        'context_processors': [
            'django.contrib.auth.context_processors.auth',
            'django.template.context_processors.debug',
            'django.template.context_processors.i18n',
            'django.template.context_processors.media',
            'django.template.context_processors.static',
            'django.template.context_processors.tz',
            'django.contrib.messages.context_processors.messages',
            # Required by allauth template tags
            "django.core.context_processors.request",
            # allauth specific context processors
            "allauth.account.context_processors.account",
            "allauth.socialaccount.context_processors.socialaccount",
        ],
    ,
   ,
]

我从我的页面登录时不断收到此错误:

404: That’s an error.

Error: invalid_request

Permission denied to generate login hint for target domain.

【问题讨论】:

Google sign in website Error : Permission denied to generate login hint for target domain的可能重复 我很抱歉投票结束,但在你问你的前一天问了完全相同的情况(没有你的特定代码,这不影响解决方案)。你的问题很相关。 UPVOTED 如果这意味着什么 【参考方案1】:

我在 javascript 中遇到了类似的错误。

就我而言,这是授权的 JavaScript 来源不匹配。在开发人员控制台中对照您的 OAuth2 客户端 ID 检查您的授权 JavaScript 来源。如果您在 localhost 上工作,请务必添加它并使用 localhost 而不是 127.0.0.10.0.0.0 运行您的应用程序

希望这会有所帮助。

【讨论】:

如果你想在真机上测试并且需要ip而不是localhost怎么办?

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

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

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

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

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

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

同一域的 IE9 中的 Script5 访问被拒绝