安装包
pip install social-auth-app-django注册应用
INSTALLED_APPS = ( ... 'social_django', ... )migrate
python manage.py migrateAUTHENTICATION_BACKENDS
AUTHENTICATION_BACKENDS = ( # 第三方登入的验证 'social_core.backends.open_id.OpenIdAuth', 'social_core.backends.google.GoogleOpenId', 'social_core.backends.google.GoogleOAuth2', 'social_core.backends.google.GoogleOAuth', 'social_core.backends.twitter.TwitterOAuth', 'social_core.backends.yahoo.YahooOpenId', ... 'django.contrib.auth.backends.ModelBackend', )url
urlpatterns = patterns('', ... url('', include('social_django.urls', namespace='social')) ... )settings-template
TEMPLATES = [ { ... 'OPTIONS': { ... 'context_processors': [ ... 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', ... ] } } ]app-key secret-key
SOCIAL_AUTH_TWITTER_KEY = 'foobar' SOCIAL_AUTH_TWITTER_SECRET = 'bazqux'登入成功后的回调
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/logged-in/'QQ第三方登入去腾讯开放平开注册应用
微信第三方登入去微信开放平开注册应用
新浪第三方登入去新浪开放平开注册应用
应用需要配置位置
django–settings.py
django–url.py url里的源码 访问新浪第三方登入:127.0.0.1:8000/login/weibo/ 访问QQ第三方登入:127.0.0.1:8000/login/qq/ 访问微信第三放登入:127.0.0.1:8000/login/weixin/
由于social-auth-app-django是针对django而不是rest_framework, 所以我们这里就算用第三方登入了, 访问页面是还是不会显示用户信息, 因为rest_framework用的是jsonwebtoken, 所以我们要修改该包下的源文件actions.py 官方文档http://python-social-auth.readthedocs.org/