Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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时无法传递应用程序ID_Django_Facebook_Twitter_Django Socialauth - Fatal编程技术网

使用Django Social Auth时无法传递应用程序ID

使用Django Social Auth时无法传递应用程序ID,django,facebook,twitter,django-socialauth,Django,Facebook,Twitter,Django Socialauth,我正在尝试通过facebook、twitter和Google Open Auth 2登录。我正在使用主文档。我也用过 我已将所有必要的配置放置到位。这是我的设置.py .... AUTHENTICATION_BACKENDS = ( 'social_auth.backends.twitter.TwitterBackend', 'social_auth.backends.facebook.FacebookBackend', 'social_auth.backends.google.GoogleO

我正在尝试通过facebook、twitter和Google Open Auth 2登录。我正在使用主文档。我也用过

我已将所有必要的配置放置到位。这是我的设置.py

....

AUTHENTICATION_BACKENDS = (
'social_auth.backends.twitter.TwitterBackend',
'social_auth.backends.facebook.FacebookBackend',
'social_auth.backends.google.GoogleOAuthBackend',
'social_auth.backends.google.GoogleOAuth2Backend',
'social_auth.backends.google.GoogleBackend',
'django.contrib.auth.backends.ModelBackend',
)

.....

TEMPLATE_CONTEXT_PROCESSORS = (
"social_auth.context_processors.social_auth_by_type_backends",
"django.contrib.auth.context_processors.auth",
 )

......

SOCIAL_AUTH_ENABLED_BACKENDS = ('google','facebook','twitter')

.....

FACEBOOK_APP_ID='**********'
FACEBOOK_API_SECRET='**********************'
FACEBOOK_APP_NAMESPACE = '********_app'
FACEBOOK_EXTENDED_PERMISSIONS = ['email']

GOOGLE_OAUTH2_CLIENT_ID = '***************'
GOOGLE_OAUTH2_CLIENT_SECRET  = '**************************'

TWITTER_CONSUMER_KEY = '***************'
TWITTER_CONSUMER_SECRET = '**********************'

........

INSTALLED_APPS = (
    ............
    'social_auth',
)
我也在我的URL.py中添加了社交身份验证

(r'^accounts/login/$', 'django.contrib.auth.views.login',
 {'template_name': 'login.html'}),
(r'^accounts/logout/$', 'django.contrib.auth.views.logout_then_login'),

.....

urlpatterns = patterns('',
  ...
    url(r'', include('social_auth.urls')),
  ...
)
在我的login.html页面上,下面是我如何调用链接的

  <div>Login with <a href="{% url socialauth_begin 'facebook' %}">Facebook</a></div>
  </div>Login with <a href="{% url socialauth_begin 'twitter' %}">Twitter</a></div>
  </div>Login with <a href="{% url socialauth_begin 'google-oauth2' %}">Google</a></div>
使用登录
登录
登录
但问题是,每次我尝试通过这些服务登录时,似乎都会丢失应用程序Id


我在Facebook上得到这个错误无效的应用程序ID:无,而在twitter上只有unicode对象是可转义的。我一点也不喜欢这种类型。。谷歌也不起作用,但它告诉我不能使用原始IP地址。我正在使用服务器IP地址。请帮忙。

我找到了问题所在。我安装了python social auth,然后安装了django social auth。我的应用程序仍在使用python social auth包

使用命名配置变量的python social Auth语法,我添加了前缀

SOCIAL_AUTH_
修改我的配置变量,使它们现在看起来像这样

SOCIAL_AUTH_FACEBOOK_SECRET='*******************'
SOCIAL_AUTH_FACEBOOK_APP_NAMESPACE = '*******'
SOCIAL_AUTH_FACEBOOK_EXTENDED_PERMISSIONS = ['email']

SOCIAL_AUTH_TWITTER_KEY  = '********'
SOCIAL_AUTH_TWITTER_SECRET = '************'


SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '*************************************'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET  = '****************'
我现在可以登录了。谢谢