现在我尝试设置python社交应用程序
在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
我也有同样的问题很久了。在花了很多时间之后,我发现了问题。出于某种原因,social-app-django的document将当前版本的Facebook API指定为
2.9
(安全原因?)。当前版本是2.8
。所以,只要把它改成2.8
或者删除它。SOCIAL_AUTH_FACEBOOK_API_VERSION = '2.8'
这就是我的身份验证被取消的原因。希望这有帮助!
我对Facebook和Google都有同样的问题。 从昨天起就开始尝试了。 它终于开始工作了。。。 在下面列出了我的工作设置,也许它会有帮助。。。
在我看来,在我的案例中,登录模板中的href值与问题有关??
希望这有帮助
已安装的应用程序
模板
网址.PY
最后是LOGIN.HTML模板,似乎有一个与origianl的
原始href为:
这已更改为
同样的改变,对谷歌的href。。。。。
在FACBOOK DEVELOPERS控制台中
基本设置
APP DOMAINS=mysite.com(还将/etc/hosts文件更改为将mysite.com而不是localhost映射为127.0.0.1)
site url=“example.com:8000/”
高级设置 只有 “允许API访问应用程序设置”和“使用应用程序事件收集苹果广告标识符(IDFA)”设置为“是”
所有其他字段设置为“否”或空,但客户端令牌字段除外
GOOGLE API设置如下
“Authorized JavaScript origins”为空
“授权重定向uri”设置为http://example.com:8000/complete/google-oauth2/(最初我使用的是http://example.com:8000/social-auth/complete/google-oauth2/)
在“Oauth同意屏幕”上
“电子邮件地址” 已设置
“显示给用户的产品名称” 已设置
所有其他字段保留默认设置
相关问题 更多 >
编程相关推荐