标签:rest 技术 lazy star 授权 model login tar 配置文件
第三方登录原理介绍见上篇,第三方登录流程
DjangoRestFramework整合social-auth-app-django实现第三方登录流程
安装第三方库social-auth-app-django
pip install social-auth-app-django
注册app
INSTALLED_APPS = (
...
‘social_django‘,
...
)
执行数据库迁移操作,创建数据库表
python manage.py migrate
添加微信、QQ、微博backends到settings.py配置文件中
AUTHENTICATION_BACKENDS = (
‘social_core.backends.weibo.WeiboOAuth2‘,
‘social_core.backends.weixin.WeixinOAuth2‘,
‘social_core.backends.qq.QQOAuth2‘,
‘django.contrib.auth.backends.ModelBackend‘,
)
添加根路由到urls.py,这里主要有两个路由地址,login/...,主要是实现返回授权码的功能,complete/...,主要是实现后续获取access_token,创建用户,关联用户,认证和跳转登录功能
urlpatterns = patterns(‘‘,
...
url(‘‘, include(‘social_django.urls‘, namespace=‘social‘))
...
)
添加context_processors到template
TEMPLATES = [
{
...
‘OPTIONS‘: {
...
‘context_processors‘: [
...
‘social_django.context_processors.backends‘,
‘social_django.context_processors.login_redirect‘,
...
]
}
}
]
添加应用key和secret到配置文件settins.py中
SOCIAL_AUTH_TWITTER_KEY = ‘foobar‘
SOCIAL_AUTH_TWITTER_SECRET = ‘bazqux‘
settins.py中配置用户完成登录之后的跳转url
SOCIAL_AUTH_LOGIN_REDIRECT_URL = ‘/index/‘
前后端分离的项目中将token放进响应cookie中实现登录跳转之后自动登录
实现微博第三方登录,浏览器输入地址http://127.0.0.1:8000/login/weibo
DjangoRestFramework整合social-auth-app-django实现第三方登录
标签:rest 技术 lazy star 授权 model login tar 配置文件
原文地址:https://www.cnblogs.com/iread9527/p/13138179.html