问下jwtauthtoken 这个插件如何能延长token的使用时间?
情况是这样的,我现在需要用jwttoken 生成一个30分钟的token,如果用户在30分钟内不操作这token就自动过期了,然后如果用户一直有操作,那这个token就3天后过期,强制用户登录
这jwttoken能做到吗?
相当于我有一个token,这token是一定会到3天后过期,但是3天内,如果用户30分钟内没有操作,token也会过期
只用jwt貌似不能实现,可以和缓存一起来实现
我觉得你的诉求可以换一个方向,转为 token 有效期和可刷新有效期的概念。 拆解一下你的诉求
我的 token 要求 30 分钟过期。
我的 token 无论如何在 3 天后都要过期
看起来是一个很离谱的诉求,因为你认为你的 token 应该有两个有效期。其实换一种方式去思考就有答案了。 其实就是一个
Token 自刷新
的概念。浅谈一下,你可以理解一下我的说法,如有其他问题可以继续回复。
你这个要求跟 Session 的生命周期差不多,所以可以有两种方案:
1.你直接就用 Session 机制来实现用户认证;
2.魔改 JWT 的 Auth Guard 的验证逻辑,从数据库或 Redis 里获取 Token 的过期时间,如果当前请求还在有效期内,则自动更新数据库里的有效时间(往后顺延)。
refresh token啊