Django REST framework+Vue 打造生鲜超市(十三)
目录
生鲜超市(一) 生鲜超市(二) 生鲜超市(三)
生鲜超市(四) 生鲜超市(五) 生鲜超市(六)
生鲜超市(七) 生鲜超市(八) 生鲜超市(九)
生鲜超市(十) 生鲜超市(十一) 生鲜超市(十二) 生鲜超市(十三)
代码下载
github
十四、social_django 集成第三方登录
14.1.申请应用
进入微博开放平台,首先要经过认证,然后才可以创建应用
地址:http://open.weibo.com/authentication
创建应用
写上应用的名字,创建好后,会有个“App Key”,这个非常重要
OAuth2.0 授权设置
正常情况下,必须经过审核才可以让第三方登录,我们可以先用测试模式来完成。
(1)添加测试用户,可以测试登录
(2)高级信息
14.2.第三方登录
我们用social_django第三方库来实现第三方登录
github地址,上面有使用说明
https://github.com/python-social-auth/social-app-django
(1) 安装
pip install social-auth-app-django
(2)INSTALL_APP中配置
'social_django',
(3)生成表
只需要做migrate,因为migration的文件已经生成好了
python manage.py migrate
可以看到数据库中多了五张表
(4) 添加到AUTHENTICATION_BACKENDS中
settings
# 设置邮箱和用户名和手机号均可登录 AUTHENTICATION_BACKENDS = ('users.views.CustomBackend','social_core.backends.weibo.WeiboOAuth2','social_core.backends.qq.QQOAuth2','social_core.backends.weixin.WeixinOAuth2','django.contrib.auth.backends.ModelBackend', )
(5)配置url
# 第三方登录path('', include('social_django.urls', namespace='social'))
(6)settings里面context_processors
对于template中的用法,向context_processors中加入下面两个
'social_django.context_processors.backends','social_django.context_processors.login_redirect',
(7)接口
在微博开放平台里面设置回调url,调试的时候设置成本地的就可以了,上线的时候改成服务器的ip地址
(8)APP Secret和App key配置,settings里面
# 第三方登录,里面的值是你的开放平台对应的值 SOCIAL_AUTH_WEIBO_KEY = 'xxxxxxx' SOCIAL_AUTH_WEIBO_SECRET = 'xxxxxx'SOCIAL_AUTH_QQ_KEY = 'xxxxxxx' SOCIAL_AUTH_QQ_SECRET = 'xxxxxxx'SOCIAL_AUTH_WEIXIN_KEY = 'xxxxxxx' SOCIAL_AUTH_WEIXIN_SECRET = 'xxxxxxx'
现在浏览器访问:http://127.0.0.1:8000/login/weibo,就可以登录了,我们还需要设置用户微博登录成功后跳转到首页
#登录成功后跳转到首页 SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/index/'
(9)修改源码
登录成功跳到首页,发现还处于未登录状态,我们需要对源码做修改
social_core/actions.py
原始代码
return backend.strategy.redirect(url)
修改为
# 修改源码适配drfresponse = backend.strategy.redirect(url)payload = jwt_payload_handler(user)response.set_cookie("name",user.name if user.name else user.username, max_age=24*3600)response.set_cookie("token", jwt_encode_handler(payload), max_age=24*3600)return response
现在就登录后就正常了。qq和微信的登录,一样的操作,只要去开放平台注册应用,其它跟微博登录一样设置就可以了。
Django REST framework+Vue 打造生鲜超市(十三)相关推荐
- Django REST framework+Vue 打造生鲜超市(四)
目录 生鲜超市(一) 生鲜超市(二) 生鲜超市(三) 生鲜超市(四) 生鲜超市(五) 生鲜超市(六) 生鲜超市(七) 生鲜超市(八) 生鲜超市(九) 生鲜超市(十) ...
- Django REST framework+Vue 打造生鲜超市(六)
目录 生鲜超市(一) 生鲜超市(二) 生鲜超市(三) 生鲜超市(四) 生鲜超市(五) 生鲜超市(六) 生鲜超市(七) 生鲜超市(八) 生鲜超市(九) 生鲜超市(十) ...
- Django REST framework+Vue 打造生鲜超市(十)
目录 生鲜超市(一) 生鲜超市(二) 生鲜超市(三) 生鲜超市(四) 生鲜超市(五) 生鲜超市(六) 生鲜超市(七) 生鲜超市(八) 生鲜超市(九) 生鲜超市(十) ...
- Django REST framework+Vue 打造生鲜超市(三)
代码下载 github 教程 学习自慕课网-前端vue结合后端DjangoFramework的在线生鲜超市 四.xadmin后台管理 4.1.xadmin添加富文本插件 (1)xadmin/plugi ...
- Django REST framework+Vue 打造生鲜超市(二)
代码下载 github 教程 学习自慕课网-前端vue结合后端DjangoFramework的在线生鲜超市 三.Models设计 3.1.项目初始化 (1)进虚拟环境下安装 django2.0.2 d ...
- Django REST framework+Vue 打造生鲜超市(五)
六.商品类别数据展示 6.1. 商品类别数据接口 (1)商品分类有两个接口: 一种是全部分类:一级二级三级 一种是某一类的分类以及商品详细信息: 开始写商品分类的接口 (2)序列化 给分类添加三级分类 ...
- Django进阶 Django REST framework+Vue 打造生鲜超市第一天 搭建环境
新人学习django 是按照这个大佬的教程学习的 链接: https://www.cnblogs.com/derek1184405959/p/8733194.html. 很多步骤都是按照上面的教程学习 ...
- Django REST framework+Vue 打造生鲜电商项目(笔记八)
(form:http://www.cnblogs.com/derek1184405959/p/8862569.html) 十一.pycharm 远程代码调试 第三方登录和支付,都需要有服务器才行(回调 ...
- python全栈生鲜电商_Django REST framework+Vue 打造生鲜电商项目(笔记十)
(from:https://www.cnblogs.com/derek1184405959/p/8877643.html 有修改) 十三.首页.商品数量.缓存和限速功能开发 首先把pycharm环境 ...
最新文章
- webpack url-loader limit 转换部分资源为base64格式 其余不转换
- 微博登录界面的PHP代码,关于接入微博登录的代码实现
- 对“js变量作用域的疑问”的解答
- android返回键方法,Android按返回键(后退键)Back键事件捕获的两种方法
- Python小游戏(小蜜蜂)
- 简书自动上传工具出现多余空行的问题及解决方案
- 解决ionic3 android 运行出现Application Error - The connection to the server was unsuccessful
- 立志10天学会C++基础应用—day02 代码清晰易懂 涉及数据结构算法的知识 写完了~我也麻了
- Android中设置文本颜色的三种方法
- 基于python的图像变换(翻转、平移、缩放、旋转、仿射和透视变换)
- wait(3) - Linux man page
- python之__repr__
- hadoop集群环境配置成功与否查看方法
- 向数据库中的字段添加空值
- 挂单html模板,修改标签模板(指令打印)
- 山东大学软件学院《数据仓库与数据挖掘》复习知识点
- ps常用快捷键 常用的
- 计算机网络的三级结构是什么,计算机的三级存储结构是什么
- 坚果云同步linux,备份Linux系统数据到坚果云
- 汕头大学计算机专业就业,汕头大学毕业生最后怎样了?17%进入世界和中国500强,月薪5185元...