w
wnwk
V1
2022/11/25阅读:20主题:默认主题
token的思考
jwt token的思考
如何处理在有效期内,但是已失效的token,见如下情况
-
用户主动退出。导致已经签发的token就失效了。 -
用户修改密码,导致已签发的token失效 -
后台禁止了某些用户的操作,导致已签发的token 失效
处理方法token黑名单
对于以上情况,把对应的token 加入到黑名单中,key是token所对应的用户id, value 是当前时间。过期时间可以简单设置为token的有效时间。 校验逻辑如下:
-
step 1 判断token 是否有效,有效进入step 2 -
step 2,判断token对应的用户id是否在黑名单中,如果在,并且token 签发时间小于 vaule值,说明是要阻止的token,直接提示无效。如果签发时间大于vault ,说明是有效token
token 如何续签,针对过期的token
第一次签发token的时候会同时签发 refreshtoken,如果判断了token过期,返回一个特定的标识,前端发现是token过期,发送token 和 refreshtoken 到回台,回台处理逻辑如下
-
判断token 是否失效,如失效,判断refreshtoken是否在有效期并且是否有效,如果有效则校验token和refreshtoken 的关系,如果是一同签发的,就生成新的 token 和refreshtoken 给前端。同时作废这个 refreshtoken。 后端应该维持一个refreshtoken 的 黑名单 ,有效期可以设置为refreshtoken的有效期

作者介绍
w
wnwk
V1