一  使用环境  

  开发系统: windows

  后端IDE: PyCharm 

  前端IDE: VSCode 

  数据库: msyql,navicat

  编程语言: python3.7  (Windows x86-64 executable installer)

  虚拟环境: virtualenvwrapper

  开发框架: Django 2.2

二  Vue学习笔记Django-rest_framework_jwt 学习

Django-rest_framework_jwt 是 Django-rest_framework 第三方写的jwt,不等同于jwt.

流程:

1,用账号密码登录接口,登录接口逻辑中调用签发的token算法,得到token,返回给客户端,客户端自已存到cookies中

2.校验token的算法应该写在认证类中(在认证类中调用),全局配置给认证组件,所有视图类请求,都会进入认证校验,所以请求带了token,就会反解出user对象,在视图类中用request.user就可以访问登录用户

注:登录接口需要做认证+权限局部禁用

三  Django-rest_framework_jwt

  • 三段:头,荷载(用户信息),签名
  • 使用:最简单方式(在路由中配置),path("login/",obtain_token)
  • 自定制:多方式登录,手动签发token(两个方法:jwt_payload_handler,jwt_encode_handler)
  • 自定制基于jwt的认证类
  •   -取出token
  •   -调用jwt提供的解析出payload的方法(校验是否过期,是否合法,如果合法,返回荷载信息)
  •   -转成user对象
  •   -返回

1.按装配置 rest_framework_jwt

pip install djangorestframework-jwt

settings.py

INSTALLED_APPS = [
'django.contrib.admin',# admin依赖
'django.contrib.auth',# admin依赖
'django.contrib.contenttypes',# admin依赖
'django.contrib.sessions',# admin依赖
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework', # 按装包:djangorestframework
'rest_framework_jwt', # 按装包:djangorestframework-jwt
'corsheaders', # 跨域设置4-(1-2):按装,注册跨域包(django-cors-headers),中间件中注册
'A001qyyh.apps.A001QyyhConfig',
'A002ywxx.apps.A002YwxxConfig',
]

最新文章

  1. session的使用方法详解
  2. 写入文件(txt格式)
  3. ***电商数据库设计参考:ecshop数据库+订单表结构等
  4. iOS学习22之视图控制器
  5. NDK编译FFMpeg[Linux]
  6. JAVA中的数据结构——集合类(序):枚举器、拷贝、集合类的排序
  7. Asp.net MVC入门视频教程
  8. jQuery获取鼠标移动方向
  9. Codeforces 231E - Cactus
  10. [Leetcode][Python]56: Merge Intervals
  11. 树莓派高级GPIO库,wiringpi2 for python使用笔记(一)安装
  12. 设计模式(Abstract Factory)抽象工厂
  13. Angular5 宏观把控
  14. JavaScript加载次序问题
  15. log4j日志输出框架
  16. 7. mybatis:mapper-locations: 路径放在java路径下报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  17. linux命令-awk入门
  18. go struct{}的几种特殊用法
  19. php curl数据传输神器
  20. [C++]“error C2712: 无法在要求对象展开的函数中使用__try”解决方案

热门文章

  1. java 去掉重复的数字
  2. 存储过程demo返回银行名称
  3. 免费开源的代码审计工具 Gosec 入门使用
  4. 我们到底为什么要用 IoC 和 AOP
  5. dedecms万能SQL标签使用方法大全
  6. Python 字符串指定位置替换字符
  7. Flink-v1.12官方网站翻译-P003-Real Time Reporting with the Table API
  8. 一统江湖的大前端(10)——inversify.js控制反转
  9. P3128 [USACO15DEC]最大流Max Flow (树上差分)
  10. AtCoder Beginner Contest 171