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

关于 APP 接口刷新 token 过期时间

  •  
  •   wayne712 · 2017-06-23 16:43:35 +08:00 · 5567 次点击
    这是一个创建于 2708 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前的做法是每次验证 token 时,如果 token 有效且未过期就会更新 token 时间。
    请问有没有必要做一个刷新 token 过期时间的接口,如果有必要,必要的理由是?

    4 条回复    2018-09-08 17:41:35 +08:00
    baiyi
        1
    baiyi  
       2017-06-23 16:52:07 +08:00
    那过期了是不是就要刷新了,

    如果过期了是要重新登录可以不需要

    还要考虑异地登陆以后顶掉线的问题

    现在常用的 jwt, token 是不要存在服务器端的, 你是如何更新 token 时间的? 每次都返回?
    moult
        2
    moult  
       2017-06-23 16:55:30 +08:00
    请求的时候,服务端将当前时间减去 Token 的生成时间。
    如果时间大于 1 小时小于过期时间,则返回一个新的 Token,并标记旧的 Token 已作废。下回 APP 使用新的 Token 请求。
    如果时间大于过期时间,就按过期逻辑处理(重新认证或者是直接给一个新的 Token )。
    这样就没必要更新 Token 的过期时间了。
    个人喜欢 Token 不按套路变来变去。虽然感觉有点坑,但是防劫持还是有点用的。
    wayne712
        3
    wayne712  
    OP
       2017-06-23 17:07:48 +08:00
    目前的管理 token 的方式类似于 session 的方式, 给登陆的用户分配好一个 token 以后, 只要在 token 过期之前有触发接口的请求就会更新 token 过期时间,token 值不变只是更新的过期时间
    ishowman
        4
    ishowman  
       2018-09-08 17:41:35 +08:00
    @wayne712 token 的生成会使用到生成时间和过期时间来加密,并构成 token 字符串的一部分。更改过期时间后,token 值是不可能还保持一致的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5268 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 08:19 · PVG 16:19 · LAX 00:19 · JFK 03:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.