相信使用jwt这种规范进行鉴权的同学们都会遇到这样一个问题:“token过期了怎么处理?“”
假设一个场景:
你在生成token的时候设置了过期时间,假设过期时间为2个小时。
假如用户是0点登录的,那么签发给他的这个token应该在2:00过期,但是用户在1:59还在你的网站或者APP上操作,2点突然就被告知需要重新登录,是不是很郁闷!
本来就应该是用户一直在浏览你的网站,那么他的状态应该一直是在线的。怎么在用户无感知的情况下,让他的token一直有效呢?首先为token单独修改过期时间是不可能的,修改了过期时间验证就通不过了,修改了过期时间就需要重新生成token。
那么每次请求就设置新的token,那么一个用户又会积攒很多token同时有效。
要想token唯一有效就需要借助存储工具,建立黑名单制。