jwt 如何使原来的token失效
前端直接删掉
前端删掉这个Token就可以啊,但是拿着以前的token还是可以访问到,只能等过期,过期时间又很久,我觉得不是很安全,举例子(密码泄露了,去修改密码了,之前的token还能用)
把token存入数据库
登录第一次生成token时,把token存入数据库。每次请求验证一下是不是和数据库的token一样。退出登录时,删掉数据库里的token。
这样就破坏jwt的无状态原则了
解决思路
用户表维护一个登录时间字段lastLoginDate,每次登录,退出,修改密码都更新此字段,,然后jwt生成时有个签发时间
使用签发时间跟登录时间对比,如果签发时间在登录时间前则视其为失效