系统选择产品可能需要很长的时间,但是选择完成之后提示:请先登录。

Blade 未结 2 263
idea
idea 剑圣 2025-11-06 14:43

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

1. 超过一小时不操作系统

2. 

3.


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

系统正常使用,实际看到系统需要重新登陆

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

付费版微服务

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

image.png

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

2条回答
  • 2025-11-06 16:21

    你现在使用的版本是多少,目前支持token无感刷新了,长时间不登陆token过期后,下次再请求,会自动刷新token

    0 讨论(0)
  • 2026-01-09 16:32

    你说的版本是什么版本?我现在项目已经上线了生产了,然后代码仓库也是使用我们自己的私有化仓库了,没办法直接更新你们的代码了。

    作者追问:2026-01-09 16:33

    bladex的前后端版本

    回答: 2026-01-09 16:39

    image.png

    是截图的这个版本吗?

    作者追问:2026-01-09 17:59

    复制这个文件的最新代码,拷贝到你们前端的同名文件:https://center.javablade.com/blade/Saber3/src/branch/master/src/axios.js


    再试试能不能自动刷新token,这个功能更新后能支持无感刷新

    回答: 2026-01-12 14:43

    无感刷新是什么意思?是没有过期时间了对吗,目前我们测试是30分钟后就会过期,我怎么来修改这个30分钟呢?我看后端的配置是3600秒,按照我的理解应该是一小时后过期才对?因为已经上了生产环境,麻烦确认一下,回复详细一点,也避免占用过多资源dd56f0170beec92778f8d21df83fe084.png

    作者追问:2026-01-12 14:52

    无感刷新的意思是token过期后,前端返回401的时候会自动再去主动请求一次认证服务,获取新的token续期。只要刷新令牌(refreshToken一般都比较久)没有过期,他就会那刷新令牌去获取新的token回来。


    你现在截图的应用管理配置的token就是默认1小时过期,你需要去检查下生产环境的配置是多少。为了验证token的时间,你可以f12查看network,把调用接口的请求点击查看详情,把请求头里 Blade-Auth的token复制到这里解析下,看看过期时间是什么时候:https://btool.cn/jwt-parser


    如下图可以看到对应的时间就是间隔1小时

    CleanShot20260112145108@2x.png


    因为不清楚你们具体改动了哪些地方,所以建议你们直接先用git私服最新版的master分支的代码,部署一份到服务器,来测试下是否原版也会有同样的问题。如果原版没有,则需要自己去排查你们改动的地方。

    0 讨论(0)
提交回复