一、该问题的重现步骤是什么?
调用blade-auth/oauth/token接口,获取token;
二、你期待的结果是什么?实际看到的又是什么?
1.期待的结果:在redis中看到token信息;
2.实际看到的是:redis中无token信息;
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
当前正在使用的产品BladeXAvue联合版,版本2.4.0.RELEASE ,操作系统:windows
四、请提供详细的错误堆栈信息,这很重要。
无
五、若有更多详细信息,请在下面提供。
请问在Bladex项目中该如何实现token信息保存到redis中?
token的刷新只能靠前端的定时器调用接口刷新?如果后端要实现动态刷新token失效时间又该如何实现呢?
PS:如果第一个问题能解决的话,第二个问题倒是可以利用redis的缓存失效时间来实现。
1. 目前是前后端分离架构,采用了无状态token认证,所以token是没有状态,也无法判断在线的
2. token刷新必须从前端操作,可以做定时刷新,也可以做自动刷新(请求接口返回token失效后,单独调用一下刷新token接口,然后再次调用原先的接口)后端动态刷新能实现,但这样是不可取的,后端不知道前端有没有登陆,一直在刷新token。一是给后端带来了极大的压力,二是会让token一直不过期,等于没有意义了。
3. 如果需要实现有状态,那么需要对接到redis。可以从AuthUtil.getUser()方法来拓展实现。
感觉改成redis 存储的话 在gateway filter 以及授权校验那块都得改了。我擦 再添加讨论那提交了好几次评论提交不了 只能写回答 这是bug吗?手动@smallchill
目前已经支持token保存至redis,请看2.5.1的配置
扫一扫访问 Blade技术社区 移动端