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

2017-06-23 16:43:35 +08:00
 wayne712

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

5487 次点击
所在节点    程序员
4 条回复
baiyi
2017-06-23 16:52:07 +08:00
那过期了是不是就要刷新了,

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

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

现在常用的 jwt, token 是不要存在服务器端的, 你是如何更新 token 时间的? 每次都返回?
moult
2017-06-23 16:55:30 +08:00
请求的时候,服务端将当前时间减去 Token 的生成时间。
如果时间大于 1 小时小于过期时间,则返回一个新的 Token,并标记旧的 Token 已作废。下回 APP 使用新的 Token 请求。
如果时间大于过期时间,就按过期逻辑处理(重新认证或者是直接给一个新的 Token )。
这样就没必要更新 Token 的过期时间了。
个人喜欢 Token 不按套路变来变去。虽然感觉有点坑,但是防劫持还是有点用的。
wayne712
2017-06-23 17:07:48 +08:00
目前的管理 token 的方式类似于 session 的方式, 给登陆的用户分配好一个 token 以后, 只要在 token 过期之前有触发接口的请求就会更新 token 过期时间,token 值不变只是更新的过期时间
ishowman
2018-09-08 17:41:35 +08:00
@wayne712 token 的生成会使用到生成时间和过期时间来加密,并构成 token 字符串的一部分。更改过期时间后,token 值是不可能还保持一致的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/370615

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX