https://jwt.io/
jwt logo https://jwt.io/img/icon.svg
image.png

koa-jwt

  1. yarn add jsonwebtoken koa-jwt

封装 jwt中间件,loginCheck中间件

token原理

  1. 前端提交用户名和密码到后端,
  2. 后端验证成功后,对用户名和密码进行加密,得到一个字符串 token,返回给前端
  3. 前端存储 token,每次访问接口时,必须要带上token
    1. headers里面 Beaer token

jwt的好处

  1. 不占用内存
  2. 不受跨域的限制
  3. 多进程,多服务器,不受影响;分布式鉴权的解决方案
  4. jwt成本低,维护简单

jwt的缺点

  1. 自定义 headers,是个复杂请求
  2. 无法快速封禁用户;解决:通过一个枚举类来判断 token是否启用

jwt和session的区别

  1. jwt 存储在客户端
  2. session存储在服务端