python - 如何解决身份验证过程取消错误?

标签 python django python-social-auth

现在我尝试设置 python-social-app

在用户名/密码重定向到错误页面后的 facebook 登录中,我不知道为什么会这样......

在我的设置中,我有 'social.backends.facebook.FacebookOAuth2' 并且我正确设置了 SOCIAL_AUTH_FACEBOOK_KEY 和 Secret 所以真的在哪里查看错误。?

回溯

Environment:
Request Method: GET
Request URL: http://website.com:8000/complete/facebook/?redirect_state=IuQDEiyX2bbS8Uhk7MR3hpRFLNZlW2Y5&code=AQDH5kqBibfy9bi21M9tTieujRAqvJVYdAb2UPFvfH6DVXoCWrrtamRA99Ze5-6cC6qHPiNq-a3XbGh2Gg4pbdFfM4OTpCEpWkPID6SZrHfAoEan8Q68cV17LDgsryX_M45QoXd0knpbE0x-QwAPwdoFmKQGHLw7xomCHeN5pCtrWhtoYQIrsFE1UQZZaxt4qtLzAmfmCRjDO7Et_S75fngLiomM0PfevTChLbHJHMYaqy6DBkgGZqZK-bXrqLaNFnBEoZ3M956DwCg4ZtTnvxulR4sXH9ZV3IoxVhL0JxMVsGnT2H_0wdKujIDPKcdPKZc&state=IuQDEiyX2bbS8Uhk7MR3hpRFLNZlW2Y5

Django Version: 1.8.3
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'frontend',
 'social.apps.django_app.default')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware')


Traceback:
File "/Users/simon/Freelancer/env/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/simon/Freelancer/env/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)
File "/Users/simon/Freelancer/env/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)
File "/Users/simon/Freelancer/env/lib/python2.7/site-packages/social/apps/django_app/utils.py" in wrapper
  51.             return func(request, backend, *args, **kwargs)
File "/Users/simon/Freelancer/env/lib/python2.7/site-packages/social/apps/django_app/views.py" in complete
  28.                        redirect_name=REDIRECT_FIELD_NAME, *args, **kwargs)
File "/Users/simon/Freelancer/env/lib/python2.7/site-packages/social/actions.py" in do_complete
  43.         user = backend.complete(user=user, *args, **kwargs)
File "/Users/simon/Freelancer/env/lib/python2.7/site-packages/social/backends/base.py" in complete
  41.         return self.auth_complete(*args, **kwargs)
File "/Users/simon/Freelancer/env/lib/python2.7/site-packages/social/utils.py" in wrapper
  232.                 raise AuthCanceled(args[0])

Exception Type: AuthCanceled at /complete/facebook/
Exception Value: Authentication process canceled

最佳答案

同样的问题困扰了我好久。花了很多时间后,我想通了这个问题。出于某种原因,documentsocial-app-django已将 Facebook API 的当前版本指定为 2.9(安全原因?)。当前版本是 2.8。因此,只需将其更改为 2.8 或将其删除。

SOCIAL_AUTH_FACEBOOK_API_VERSION = '2.8'

这就是我的身份验证被取消的原因。希望这可以帮助 !

关于python - 如何解决身份验证过程取消错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31958246/

相关文章:

python - 配置不当 : The SECRET_KEY setting must not be empty error after editing django auth pipeline

python-social-auth: AttributeError: 'SQLAlchemy' 对象在/complete/vk-oauth2 url 上没有属性 'query'

python - 我可以在 Django QuerySet 中自定义复杂的分组依据吗?

python - 如何从 Django Rest Framework 序列化程序返回不同时区的 DateTime

django - 如何检查 Django 表单是否已保存以显示适当的反馈?

Django - UpdateView 中的动态 success_url

django - 在 Django 模型自定义 save() 方法中,你应该如何识别一个新对象?

python - 使用 Python 请求访问纳斯达克历史数据导致连接超时

python - 如何模拟类中的方法

python - Django 中的社交媒体链接