Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Social Auth(谷歌OAuth 2)-即使在;“允许访问”;点击_Django_Authentication_Django Socialauth - Fatal编程技术网

Django Social Auth(谷歌OAuth 2)-即使在;“允许访问”;点击

Django Social Auth(谷歌OAuth 2)-即使在;“允许访问”;点击,django,authentication,django-socialauth,Django,Authentication,Django Socialauth,我成功地使用Django Social Auth登录Facebook用户。我正在尝试实现GoogleOAuth2。我已经采取了我所知道的所有步骤来集成它,但是我在/complete/google-oauth2/上得到了一个authcanced异常,即使我单击允许访问。下面是我为整合它所做的: 转到GoogleAPI控制台,注册我的应用程序并获取我的客户ID和客户机密 我添加了正确的返回urlhttp://mysite/complete/google-oauth2,在此之前,我从谷歌获得了“未经

我成功地使用Django Social Auth登录Facebook用户。我正在尝试实现GoogleOAuth2。我已经采取了我所知道的所有步骤来集成它,但是我在/complete/google-oauth2/上得到了一个
authcanced异常,即使我单击
允许访问
。下面是我为整合它所做的:

  • 转到GoogleAPI控制台,注册我的应用程序并获取我的客户ID和客户机密
  • 我添加了正确的返回url
    http://mysite/complete/google-oauth2
    ,在此之前,我从谷歌获得了“未经授权的重定向url”
  • 在my 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',
    )
    
  • 我想我有其他相关设置的权利,因为Facebook登录工作,我能够显示窗口,在谷歌授权窗口中查看我的应用程序名称,等等

我做错了什么?如何修复/调试AuthCancelled异常?

这个问题似乎是由一个奇怪的Google行为引起的:当我最初创建客户端ID时,Google给了我这个客户端ID:
193271111225.apps.googleusercontent.com
。在与库作者交谈后,他告诉我他的ID要长得多,所以我用完全相同的设置创建了一个新的客户端ID。生成的新ID是
193271111225-cvltnldi4h5lmo784v2ir451b3rij7e.apps.googleusercontent.com
,使用它,它工作了。这两个ID在控制台中看起来相同,但只有后者起作用。

这个问题似乎是由一个奇怪的谷歌行为引起的:当我最初创建我的客户ID时,谷歌给了我这个客户ID:
193271111225.apps.googleusercontent.com
。在与库作者交谈后,他告诉我他的ID要长得多,所以我用完全相同的设置创建了一个新的客户端ID。生成的新ID是
193271111225-cvltnldi4h5lmo784v2ir451b3rij7e.apps.googleusercontent.com
,使用它,它工作了。这两个ID在控制台中看起来相同,但只有后者有效。

使用中间件正确处理社交身份验证异常

MIDDLEWARE_CLASSES = (
    ...,
    'social_auth.middleware.SocialAuthExceptionMiddleware'
)
使用中间件正确处理社交身份验证异常

MIDDLEWARE_CLASSES = (
    ...,
    'social_auth.middleware.SocialAuthExceptionMiddleware'
)