Python社交身份验证“ AuthForbidden”

时间:2019-08-13 21:23:17

标签: python django python-social-auth

我正在尝试使用social-auth使django的google身份验证有效,但到目前为止我还没有任何运气。其他带有类似错误消息的问题表明,这可能是由列入白名单引起的,但是我想接受我应用中的所有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")),
]

当我使用google登录并重定向到我的身份验证网址时,我收到消息:

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]>

1 个答案:

答案 0 :(得分:0)

经过数天的故障排除后,归结为一些我应该更加关注的问题。

  1. 请确保您的客户端ID和密码正确无误,并且末尾没有空格。
  2. 确保在凭据屏幕(在Google的云控制台上)上都提供了JavaScript并重定向了URL,这似乎是吸引我的原因。