1. 引言
在上两篇博客《微服务轮子项目(03) - 服务认证架构设计(有网络隔离)》、《微服务轮子项目(04) - 服务认证架构设计(无网络隔离)》主要讲解服务认证架构有网络和无网络两种隔离方式,具体的架构图如下:
有网络隔离:
无网络隔离:
本文主要讲解的是token续签,本设计只针对redis token
模式,该模式下的续签建议只修改过期时间而不重新生成token,因为重新生成token会导致同一个账号下的其他客户端访问失效。
续签会有性能开销,所以可以设计了开关和黑白名单方便灵活控制,只有真正需要的业务才开放。
2. 逻辑时序图
3. 设计思路
- 整个续签逻辑在CustomRedisTokenStore中实现
- 在方法
readAuthentication
中认证token
成功后,根据配置文件(开关、黑白名单)、过期时间等判断是否满足续签条件 - 因为
storeAccessToken
方法有很多redis
访问,所以使用pipeline
能有效提升性能减少开销