neptuno
V2EX  ›  问与答

问一个 jwt 的强制下线问题

  •  
  •   neptuno · Aug 22, 2022 · 1871 views
    This topic created in 1533 days ago, the information mentioned may be changed or developed.
    如果我在用户表存一个 key ,作为该用户 jwt 的 secret 。这样用户注销或重置密码,重新设置用户表的 key 。之前的 jwt 是不是就不能验证成功,是不是就实现了强制下线。(这个方案前提是数据库不能泄露)
    cheng6563
    cheng6563
    Aug 22, 2022
    1
    那直接把 key 当做 token 岂不更秒?
    PerFectTime
    PerFectTime
    Aug 22, 2022
    2
    那这样和 token 有啥区别,为什么要用 jwt
    neptuno
    neptuno
    OP
    Aug 22, 2022
    3
    @cheng6563
    @PerFectTime 很有道理,我把自己绕进去了
    justfindu
    justfindu
    Aug 22, 2022
    4
    你密钥都变了, 然后你怎么验证给过来的 payload 是真实有效的? 然后你无法验证是真实有效的, 你怎么能拿里面的 sub 来验证查询是哪一个对应的 key ? 是不是整个逻辑就不通了.
    johnli
    johnli
    Aug 22, 2022
    5
    你这思路看起来也没问题
    neptuno
    neptuno
    OP
    Aug 22, 2022
    6
    @justfindu 是的,没考虑这一点
    cozof
    cozof
    Aug 22, 2022 via iPhone
    7
    加一个黑名单机制,把要下线的 jwt 加入黑名单。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1430 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 22:31 · PVG 06:31 · LAX 14:31 · JFK 17:31
    ♥ Do have faith in what you're doing.