个人觉得登录时使用redis存储token并设置有效时间,有一个很严重的buy
来源:7-16 token登录需要注意的点以及登录代码优化
漠言
2021-05-12
个人觉得登录时使用redis存储token并设置有效时间,有一个很严重的buy。比如token有效时间为1小时,用户登录几分钟后关闭程序,在59分的时候又打开了程序,这时程序还处理登录状态,但1分钟过后,由于token过期了,就自动退出登录,用户还需要重新登录,影响用户的使用体验。处理方法:token设置为永久存储,前端获取到token后存储(不设置有效时间),如果前端存储的token被清除后需要重新登录获取token。这是我个人的想法,不知道是否可行,望老师指点!
写回答
1回答
-
天经地义
2021-06-01
这种问题属于业务层面上的考虑,具体要结合实际的业务,永不过期的token可能会导致一些长时间不登录的用户token一直遗留在redis中,浪费空间,也有一种常用的交互方式,前后端都有一个过期时间,前端检测到剩余有效期只剩xx分钟了,自动向后台请求一个续期,将过期时间延长至1小时,这样虽然麻烦了点,但是既可以保证一直在使用的情况下token不过期,也能保障不会有“垃圾”token占用空间
20
相似问题