https://jwt.io/
jwt logo https://jwt.io/img/icon.svg
koa-jwt
yarn add jsonwebtoken koa-jwt
封装 jwt中间件,loginCheck中间件
token原理
- 前端提交用户名和密码到后端,
- 后端验证成功后,对用户名和密码进行加密,得到一个字符串 token,返回给前端
- 前端存储 token,每次访问接口时,必须要带上token
- headers里面 Beaer token
jwt的好处
- 不占用内存
- 不受跨域的限制
- 多进程,多服务器,不受影响;分布式鉴权的解决方案
- jwt成本低,维护简单
jwt的缺点
- 自定义 headers,是个复杂请求
- 无法快速封禁用户;解决:通过一个枚举类来判断 token是否启用
jwt和session的区别
- jwt 存储在客户端
- session存储在服务端