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.1
或 0.0.0.0
运行您的应用程序
希望这会有所帮助。
【讨论】:
如果你想在真机上测试并且需要ip而不是localhost怎么办?以上是关于Google登录网站Django:拒绝为目标域生成登录提示的权限的主要内容,如果未能解决你的问题,请参考以下文章
Google 登录错误 400。为目标域生成登录提示的权限被拒绝
Google 登录:为目标域生成登录提示的权限被拒绝(javascript 网络应用程序)