问一个 jwt 的强制下线问题

2022-08-22 15:18:44 +08:00
 neptuno
如果我在用户表存一个 key ,作为该用户 jwt 的 secret 。这样用户注销或重置密码,重新设置用户表的 key 。之前的 jwt 是不是就不能验证成功,是不是就实现了强制下线。(这个方案前提是数据库不能泄露)
891 次点击
所在节点    问与答
7 条回复
cheng6563
2022-08-22 15:20:18 +08:00
那直接把 key 当做 token 岂不更秒?
PerFectTime
2022-08-22 15:20:20 +08:00
那这样和 token 有啥区别,为什么要用 jwt
neptuno
2022-08-22 15:22:29 +08:00
@cheng6563
@PerFectTime 很有道理,我把自己绕进去了
justfindu
2022-08-22 15:22:35 +08:00
你密钥都变了, 然后你怎么验证给过来的 payload 是真实有效的? 然后你无法验证是真实有效的, 你怎么能拿里面的 sub 来验证查询是哪一个对应的 key ? 是不是整个逻辑就不通了.
johnli
2022-08-22 15:23:06 +08:00
你这思路看起来也没问题
neptuno
2022-08-22 15:23:33 +08:00
@justfindu 是的,没考虑这一点
cozof
2022-08-22 18:59:05 +08:00
加一个黑名单机制,把要下线的 jwt 加入黑名单。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/874573

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX