springboot oauth2 token续签

我是研究僧i 提交于 2020-03-26 11:42:29

3 月,跳不动了?>>>

项目中使用了spring  oauth2作为接口的权限认证,由于是集群环境,使用了redis存储token信息。一开始使用并没有注意,再后来app在使用的过程中,用户一直操作着,会突然中断跳到登录页,这种体验是很不友好的。问了下客户端的小伙伴,在token过期时,并没有调用刷新token的接口。好吧~那就接口来处理吧。

首先确定的时token的存储和读取都没有问题,就是每次请求后,token 的过期时间没有更新,才会导致token过期操作中断。所以我们要做的就是在每次正常请求接口后,更新token的过期时间。

看了下RedisTokenStore的源码

再看下readAuthentication(OAuth2AccessToken token)方法,只是读取了token之后就返回了,并没有更新的操作

因此,在readAuthentication(OAuth2AccessToken token)方法上改造,其他方法原样照抄RedisTokenStore就行

改造后的结果如下

这样就算改造完成了。

然后在自己的AuthorizationServer 中注入自己改造的redistokenStore,类似这种

然后再配置token的存储方式的时候,使用自己改造的redisTokenStore,如下

这样redis token续签的功能就实现了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!