JWT实现单点登入的想法

来源:3-13 基于JWT的用户token验证(下(二))

WittChen

2022-01-09

看完这一节,发现JWT更像一个加了密的cookie存储了用户信息,在课程中讲解了生成和验证的两个方法,假设我修改了密码,我拿着未过期的token还是可以实现登入状态

解决方案:
配合Redis把用户key=userid, value=token存储起来,当修改敏感信息的时候,重新生成token,因为生成token的时候过期时间会不一样,那么最终生成的token应该和原先的token不一致,这样的话,就可以在请求接口前验证token是否与redis中的value相同,来实现单点登入了,不知道实际工作中怎么解决的,这是我的个人想法,请老师指教^ ^

写回答

1回答

HELLOSTAR

2022-01-10

没错,其实这里给大家留了一个拓展作业,被你提前发现了~ 当修改密码或退出登录后,如果前端只是删除本地的local storage,是无法控制你说的这种情况的,这种时候我们会引入一个刷新token,我们一般叫refresh-token,这个token会存储在redis或数据库中,它的有效期会长于用户登录时生成的token(我们也叫access-token),当用户退出登录或修改密码后,我们会让refresh token失效,以此来控制access token仍没有过期的情况~

1
1
WittChen
感谢老师
2022-01-10
共1条回复

SpringBoot 2.x 实战仿B站高性能后端项目

还原高性能项目开发全流程,掌握视频业务核心功能与技术

755 学习 · 190 问题

查看课程