前端token是定时刷新的,界面一直打开就不会过期,如何可以设置一小时不操作就过期,如果在操作则不过期

Blade 已结 1 219
15797709324
15797709324 剑童 2024-12-31 14:42

一、该问题的重现步骤是什么?

1. 前端界面在浏览器打开token就会一直不过期,因为定时刷新

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?

期望:一直不操作一小时token会过期,如果一直操作则token不会过期,每次请求接口会把token过期时间重新设置


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladecloud


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (最佳回答者)
    2024-12-31 15:18

    需要使用无感刷新的方案才能实现,之前的定时刷新方案不支持。

    无感刷新从bladex4.2版本开始支持。比如让他30分钟不操作就过期,只需要把refreshtoken的有效期改成1800秒就行了

    作者追问:2024-12-31 15:18

    我只需要这个功能,是不是只需要前端修改axios.js中对应的就行,系统部署有几年了版本更新有点麻烦

    回答: 2024-12-31 15:18

    参考最新版axios.js,加入无感刷新的功能,然后在删掉定时刷新token的逻辑就行(全局搜索:dispatch('RefreshToken'))

    作者追问:2024-12-31 15:18

    发现一个问题,我重新拿到的refresh_token令牌时间没有续期,还在在最开始的登陆时间基础上加的,这样还是不行的,第一次登录1:00 ,refresh_token10分钟过期,1:05刷新token拿到新的access_token和refresh_token,在1:10用新的refresh_token去获取token过期了,并没有在1:05的基础上续期

    0 讨论(1)
代码语言
提交回复