Django rest framework集成微博第三方登录
准备工作
1.注册微博开放者平台并通过个人认证,创建一个网页应用。
2.在高级信息中编辑回掉url,可以填写本机的地址。
3.找到自己的app_key 和 App Secret并保存。
4.准备一个django restframework 前后端分离项目。
相关推荐:《Python视频教程》
drf集成social-auth第三方包
这里我们要安装social-auth-app-django这个第三方包,世界上所有主流的第三方登录都可以支持,我们可以在他的源码里看到几乎涵盖了所有第三方登录。
pip直接安装
$ pip install social-auth-app-django
在settings.py文件中设置:
#安装的apps INSTALLED_APPS = ( ... 'social_django', ... ) #认证backend AUTHENTICATION_BACKENDS = ( 'social_core.backends.weibo.WeiboOAuth2', 'django.contrib.auth.backends.ModelBackend' ) #上下文管理器 TEMPLATES = [ { ... 'OPTIONS': { ... 'context_processors': [ ... 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', ... ] } } ] #微博的app id SOCIAL_AUTH_WEIBO_KEY = 'xxx' #微博的app secret key SOCIAL_AUTH_WEIBO_SECRET = 'xxx' #登录成功后跳转的页面 SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/index/'
同步数据表到数据库中:
python manage.py migrate
urls.py中设置:
urlpatterns = patterns('', ... url('', include('social_django.urls', namespace='social')) ... )
验证是否登录成功
打开http://127.0.0.1/login/weibo/
显示如下内容:
点击登录后回调配置的url,即为成功!
在数据库中也可以看到登录的用户:
这样就实现了集成到第三方登录,QQ和微信道理也一样。
AJAXAsynchronous Javascript And XML是 "异步Javascript和XML"。即使用 Javascript 语言与服务器进行异步交互,传输的数据为XML。同步交互:客户端 ...