我正在尝试使用social-auth让google认证与django一起工作,到目前为止还没有任何运气。其他带有类似错误消息的问题表明它可能是由白名单引起的,但我想在我的应用程序中接受所有gmail后缀。(不需要白名单)
INSTALLED_APPS = [
'livereload', # TODO Remove when finished
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'dashboard.apps.DashboardConfig',
'user.apps.UserConfig',
'social_django'
]
字符串'social_django.context_processors.backends'
和'social_django.context_processors.login_redirect'
都在我的上下文处理器settings.py中。
AUTHENTICATION_BACKENDS = (
'social_core.backends.open_id.OpenIdAuth', # for Google authentication
'social_core.backends.google.GoogleOpenId', # for Google authentication
'social_core.backends.google.GoogleOAuth2', # for Google authentication
'django.contrib.auth.backends.ModelBackend',
)
urlpatterns = [
path('dashboard/', include("dashboard.urls", namespace="dashboard")),
path('admin/', admin.site.urls),
path('login/', auth_views.LoginView.as_view(), name="login"),
path('logout/', auth_views.LogoutView.as_view(), name="logout"),
path('auth/', include("social_django.urls", namespace="social")),
]
的数据
当我登录谷歌并被重定向到我的授权网址时,我得到这样的消息:
AuthForbidden at /auth/complete/google-oauth2/
Your credentials aren't allowed
型
我怎么才能让它正常工作?
编辑:我正在浏览错误信息,发现了这个,如果这对任何人都有帮助的话。
http_error_msg = ('401 Client Error: Unauthorized for url: 'https://accounts.google.com/o/oauth2/token')
reason = 'Unauthorized'
self = <Response [401]>
型
2条答案
按热度按时间2skhul331#
经过几天漫长的故障排除,它归结为几个问题,我应该已经更加注意。
1.确保你的客户端id和secret是正确的,结尾没有空格。
1.确保在凭据屏幕(在谷歌的云控制台),你给予两个JavaScript和重定向URL,这似乎是什么抓住了我。
6rqinv9w2#
在我的情况下,我需要删除数据库并删除所有迁移