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 到回台,回台处理逻辑如下

  1. 判断token 是否失效,如失效,判断refreshtoken是否在有效期并且是否有效,如果有效则校验token和refreshtoken 的关系,如果是一同签发的,就生成新的 token 和refreshtoken 给前端。同时作废这个 refreshtoken。 后端应该维持一个refreshtoken 的 黑名单 ,有效期可以设置为refreshtoken的有效期
IT杂谈公众号
IT杂谈公众号

分类:

后端

标签:

后端

作者介绍

w
wnwk
V1