JWT 如何像 Session 一样延长时间?
使用 https://github.com/tymondesigns/jwt-auth 这个包
我将JWT的 ttl 和 refresh_ttl 分别设置成 1小时和24小时
使用一个middleware 来处理 token, 如果遇到过期 则进行刷新. 直到超出refresh_ttl
这样做的话. 有个问题. 如果有用户在最后一小时进行操作的话. 或者更极端的最后一秒还有在线的行为, 那么后一秒因为超出refresh_ttl 以及 ttl过期 而导致需要重新登录
jwt-auth包能否做到像session一样. 自动延长过期时间?
refresh token就是设计来做这个事情的啊
@leo refresh ttl 只能做到在此限定时间内 允许刷新TOKEN. 还是会存在 最后一秒哪怕用户活跃 还是会发生过期的行为
它不能像Session一样 延长生命周期.
我想知道JWT能否做到像session一样. 如果N时间是用户最后一次活跃时间点. 那么N+5则是过期时间.
而不是目前这种, 限定了ttl 和 refresh_ttl 后, 无论期间用户是否有持续的交互 只要超过了 token时效, 并且refresh_ttl也超出了最后的限期 就无法为token延时
JWT的过期时间编码在token里的,所以不可能在不改变token的情况下修改过期时间。
通常的解决方案是每次用户请求都通过cookie返回新的token
我深有体会,ipad端斗鱼一年都不过期,熊猫每星期登录一次。用户每次登录颁发一次token, ttl 和 refresh_ttl 分别设置成 1小时和999999小时。反正token谁都都可以看到数据