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

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

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

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

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

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

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

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