我成功使用Django Social Auth登录Facebook用户。我正在尝试实施Google OAuth2。我已经采取了我所知道的所有步骤进行集成,但即使单击AuthCanceled at /complete/google-oauth2/
,我也会收到Allow access
异常。以下是我整合它的方法:
http://mysite/complete/google-oauth2
,在此之前我收到了Google的“未经授权的重定向网址”。在我的settings.py中,我有
GOOGLE_OAUTH2_CLIENT_ID = '*****'
GOOGLE_OAUTH2_CLIENT_SECRET = '*****'
AUTHENTICATION_BACKENDS = (
'social_auth.backends.google.GoogleOAuth2Backend',
'social_auth.backends.facebook.FacebookBackend',
'django.contrib.auth.backends.ModelBackend',
)
我做错了吗?如何修复/调试AuthCancelled异常?
答案 0 :(得分:3)
这个问题似乎是由一个奇怪的Google行为引起的:当我最初创建我的客户端ID时,谷歌给了我这个客户端ID:193271111225.apps.googleusercontent.com
。在与图书馆作者交谈后,他告诉我他的ID要长得多,所以我创建了一个具有完全相同设置的新客户端ID。生成的新ID是193271111225-cvltnldi4hh5lmo784v2ir451b3rij7e.apps.googleusercontent.com
,随之而来的是它的工作原理。两个ID在控制台中看起来都一样,但只有后者有效。
答案 1 :(得分:1)
使用SocialAuthExceptionMiddleware中间件正确处理social_auth异常
MIDDLEWARE_CLASSES = (
...,
'social_auth.middleware.SocialAuthExceptionMiddleware'
)