You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 lines
843 B

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## 认证流程说明
### 流程图
![flow chart](./token.svg)
### 在以下情况需要使 refresh_token 失效:
1. 用户退出登录
2. 用户修改密码
3. 用户被管理员禁用
### 解决策略:
1,2 在操作完成后将refresh_token加入黑名单 >>>>>>>> 在没有Redis的情况下使用 mysql 数据库存储
3 有两种实现方式1) 禁用黑名单 2) 每次都查用户表,由于是对原有程序的扩展,方便起见使用第二和方式
### 认证流程:
1. 检验令牌有效
2. 令牌是否在黑名单外 //查询 refresh_token 表
3. 令牌生成上期是否在用户退出后发放,与令牌发放时间对比 //查询 user 表
4. 检测用户修改密码时间,与令牌发放时间对比 //查询 user 表
5. 检测用户未被禁用 // 查询 user 表
6. 以上条件都满足,发放新的令牌