coolair
V2EX  ›  问与答

JWT 管理用户登录时,都需要把 token 存数据库里,判断用户登出时删除吗?

  •  
  •   coolair · Sep 22, 2020 · 2923 views
    This topic created in 2236 days ago, the information mentioned may be changed or developed.
    13 replies  •  2020-09-22 16:31:43 +08:00
    ddefewfewf
    ddefewfewf
    Sep 22, 2020
    1
    留着也没用啊
    Molita
    Molita
    Sep 22, 2020
    2
    不删留着干啥嘞

    就是 post session 和 delete session 嘛
    DavidNineRoc
    DavidNineRoc
    Sep 22, 2020❤️1
    3
    jwt 好就好在不用存储数据库
    坏就坏在不用存储数据库

    正常情况下 jwt 不用处理登出, 如果非要做. 参考黑名单的实现.
    ## 登出的做法就是, 客户端把本地的 token 删除, 这样子就不存在这个 token, 服务端也不关心这个. 就证明这个 token 没来过
    yamedie
    yamedie
    Sep 22, 2020
    4
    服务端有主动吊销 token 需求时, 才这样做
    https://www.v2ex.com/t/590337
    coolair
    coolair
    OP
    Sep 22, 2020
    5
    @DavidNineRoc 我也是这么想的,但是领导说这样不安全,真是尴尬。
    wysnylc
    wysnylc
    Sep 22, 2020
    6
    @DavidNineRoc #3 对的,jwt 只做认证不做业务,导致无法直接指定 jwt 失效只能拉黑某个 jwt 或者拉黑用户
    如果有在线状态维护还是把 token 存 mongdb 或者 redis 吧
    Kr98
    Kr98
    Sep 22, 2020 via Android
    7
    jwt 无状态,session 有状态。用 jwt 又要做成有状态,说明没想清楚到底想要什么。
    czzt1
    czzt1
    Sep 22, 2020
    8
    你这么描述就说明你没理解 jwt 是啥,再去读读文档,想想 jwt 和传统 token 的区别
    DavidNineRoc
    DavidNineRoc
    Sep 22, 2020
    9
    @coolair
    领导懂代码吗? 懂就按他的说
    不懂按你的来
    sytnishizuiai
    sytnishizuiai
    Sep 22, 2020
    10
    我登录的 token 不存,登出存 redis+销毁时间。
    最近想解决,用户修改密码或者手机号,老的 token 失效的问题,不知道有什么有效的方法。
    limuyan44
    limuyan44
    Sep 22, 2020
    11
    都拿 db 存了为啥用 jwt 呢有啥优势吗,不如我们使用 jwt 存一个叫 jsessionid 的东西,然后存 redis jessionid:userinfo,这样是不是显得厉害多了,你看不仅能踢用户还能控制过期时间。
    yimity
    yimity
    Sep 22, 2020
    12
    jwt 只是一个认证方式, 完了生成一段字符串。
    你想怎么用就怎么用。
    当成 token 也行,当成 session 也行。
    所以不要局限自己。token 或者 session 不都是随机字符串么。
    FinnBai
    FinnBai
    Sep 22, 2020
    13
    如果有服务端管理的需求,那就别用 JWT 了,session 就挺好的,有很多现成的解决方案
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2181 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 14:24 · PVG 22:24 · LAX 06:24 · JFK 09:24
    ♥ Do have faith in what you're doing.