V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Fiora
V2EX  ›  程序员

token 有必要保存在数据库吗?

  •  
  •   Fiora · 2019-02-20 22:02:23 +08:00 · 5254 次点击
    这是一个创建于 1885 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经有签名来保证安全性了, 是否还有必要将 token 存到数据库? 如果有, 是基于怎样的业务场景?

    12 条回复    2019-02-20 22:22:50 +08:00
    yunye
        1
    yunye  
       2019-02-20 22:05:08 +08:00
    你应该先说说场景,再来问有没必要保存到数据库鸭,为什么反着问
    Fiora
        2
    Fiora  
    OP
       2019-02-20 22:08:32 +08:00
    @yunye 除了保存登录状态, 我想不到其他场景了
    huangdayu
        3
    huangdayu  
       2019-02-20 22:10:59 +08:00 via Android
    用户权鉴?用 jwt,加密解密即可,感觉不需要存储
    lovedebug
        4
    lovedebug  
       2019-02-20 22:11:50 +08:00
    一次性 token 还是长时间 token ?是否很重要?刷新 token 的时机?是否有 API throttling 问题? 这些才是是否落盘的决定因素
    Fiora
        5
    Fiora  
    OP
       2019-02-20 22:12:39 +08:00
    @huangdayu jwt 没有加密, 也没有解密吧, 载荷是 base64 编码的. 你说的是签名?
    luozic
        6
    luozic  
       2019-02-20 22:12:54 +08:00 via iPhone
    redis 缓存里面就行,除非是长期的那种。
    Fiora
        7
    Fiora  
    OP
       2019-02-20 22:14:35 +08:00
    @luozic 长期和短期有什么区别? 不能每次请求登录接口都发新的 token 吗?
    luozic
        8
    luozic  
       2019-02-20 22:16:59 +08:00 via iPhone
    长期就类似给用户一个长时间的钥匙,下次进来不用登录。或者自动刷新 token,短期就是你说的这种。 现在的 App 都是长期+自动更新 Token 这种
    cpdyj0
        9
    cpdyj0  
       2019-02-20 22:17:38 +08:00 via Android
    jwt 那种东西想要吊销有点困难吧
    @Fiora
    huangdayu
        10
    huangdayu  
       2019-02-20 22:20:01 +08:00 via Android
    @Fiora 可加密,只要盐没有暴露就安全,加密有很多种算法
    Fiora
        11
    Fiora  
    OP
       2019-02-20 22:21:07 +08:00
    @cpdyj0 如果不保存的话确实没办法注销, 只能让前端自己清除了
    Fiora
        12
    Fiora  
    OP
       2019-02-20 22:22:50 +08:00
    @huangdayu 问题是已经有加盐的签名了为什么还需要加密
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   934 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:55 · PVG 03:55 · LAX 12:55 · JFK 15:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.