概述
drf第三方登入–QQ–微信–微博
-
安装包
pip install social-auth-app-django
-
注册应用
INSTALLED_APPS = ( ... 'social_django', ... )
-
migrate
python manage.py migrate
-
AUTHENTICATION_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/
-
-
最后
以上就是优美溪流为你收集整理的rest_framework第三方登入--QQ--微信--新浪的全部内容,希望文章能够帮你解决rest_framework第三方登入--QQ--微信--新浪所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复