jwt 如何使原来的token失效

前端直接删掉

前端删掉这个Token就可以啊,但是拿着以前的token还是可以访问到,只能等过期,过期时间又很久,我觉得不是很安全,举例子(密码泄露了,去修改密码了,之前的token还能用)

把token存入数据库

登录第一次生成token时,把token存入数据库。每次请求验证一下是不是和数据库的token一样。退出登录时,删掉数据库里的token。

这样就破坏jwt的无状态原则了

解决思路

用户表维护一个登录时间字段lastLoginDate,每次登录,退出,修改密码都更新此字段,,然后jwt生成时有个签发时间

使用签发时间跟登录时间对比,如果签发时间在登录时间前则视其为失效

最后修改:2023 年 11 月 06 日
如果觉得我的文章对你有用,请随意赞赏