java如何判断token过期_【Java】后台判断token过期,后台刷新token,接下来该如何处理...

在Java后台处理token过期时,通常有两种处理方式:一是返回新token,前端需要判断并重新发送请求;二是返回错误码,前端刷新token后再请求。微信的做法是返回token剩余过期秒数,前端记录并主动刷新。建议方案是后端返回401,前端保存token过期时间,过期则刷新token后再执行请求。另一种方案是前端全局响应拦截器,每次响应更新token,并根据状态码决定是否跳转登录页。
摘要由CSDN通过智能技术生成

如标题所示

我再详细描述一下我遇到的问题,如果我再发送请求的试试,后台验证header中的token,如果这时候,发现token过期,然后一系列判断其为合法token,允许token刷新,后台主动刷新token,并且成功获得新的token,那么问题来了:

因为请求的接口是有返回信息的,我这时候是返回重新刷新的token给前端吗,还是获得新的token后,直接返回接口请求应该返回的数据

1.如果是直接返回token,那前端是不是每个带上token的请求,都需要判断是否有token刷新返回,如果是返回刷新的token,那不是又要用新返回的token,重新发送一次请求???我觉得应该不会这么做

2.如果是返回接口应该返回的具体数据,那token怎么办?这个时候后台刷新了token,然而前端却还是保存的那个过期了的token,不过后台可以把新的token直接设置到返回的方法体中的header中,如果是这样处理,那前端怎么判断header中的token是刷新了的,难不成还是每个带token的请求前端都要去返回的数据中获取header中的token?感觉又回到了原点…..

求各位大佬帮助下,以上两种方法有没有什么比较好的解决方法,或者抛开我的两种方法,有其他合适的,符合我的需求的解决方法,小弟大学生一枚,给自己挖的坑,想填好

回答

参考微信做法

返回 token 的时候,同时返回了还有多少秒过期 ($expire 秒数)

前端保存 token 同时,记下啥时候过期 (now + $expire)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值