一、该问题的重现步骤是什么?
开启BladeX-Boot2.5.1中的 [ 有状态,单人模式令牌 ]。
启用配置如下:
blade: #token配置 token: # 有状态 state: true # 只可同时在线一人 single: true
二、你期待的结果是什么?实际看到的又是什么?
期望:
"有状态,单人模式令牌“功能正常运行。
实际效果:(底部有POSTMAN测试脚本)
登录时候refresh_token获取失败,使得返回值中没有了tokenType等键值对,进而导致之后的请求鉴权失败。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX-Boot
2.5.1
Windows10
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
参考文档 : 5.3.2.2 令牌认证配置
另外:
1. 这个问题我们已经找到了问题的根源: 位于 blade-core-secure 项目中的 SecureUtil.createJWT() 方法,其同时负责生成 accessToken 和 refreshToken, 在启用了有状态TOKEN之后,在生成refreshToken因为判断缺失导致refreshToken值将已经放进去的accessToken值进行了覆盖。
2. 对于商业版代码里发现的问题如何作贡献? 我们本想通过提交PR的方式来修复地,但没有发现这个选项。
附上相应的POSTMAN测试脚本。(其中使用了POSTMAN的测试脚本传递accessToken,所以在调用时候需要创建一个Environment,无需向Environment填入任何参数,脚本会自行添加)
BladeX-Boot-有状态TOKEN.postman.zip
官方新品
- 热议问题
-
skywalking的log页块下没有日志数据
1
-
rider中 使用127.0.0.1访问正常,用域名访问就跨域,一般是哪里设置不对
1
-
在rider 中 后台同一个业务模块,1台服务器跨域,1台服务器不跨域,帮我看看什么问题
1
-
spingblade v3.7.1 blade-user 启动报错 No fallback instance of type class
1
-
免登录跳转到首页
1
-
skywalking的trace页块有数据,但是点击“查看日志”后跳转后的log页块没有日志数据
1
-
系统的接口没有被放行,却被漏扫扫出来
1
-
blade4.4版本,使用接口加解密的情况SensitiveType脱敏失效了
1
-
BladeX Boot 项目对应的前端也是Saber3吗
1
-
rider跨域问题,如何解决跨域的问题,不用nginx
1
扫一扫访问 Blade技术社区 移动端