资料介绍
软件简介
TokenManager是一款基于Java开发的Spring Boot组件,用于管理自身平台以外的三方平台Token。
TokenManager将全场景的远程调用获取Token抽象到TokenManager接口中,通过调用指定的三方TokenAPI 实现各类三方平台的Token的管理。
TokenManager通过Redis的消息订阅特性实现了延时消息监听Token生命周期过期时间,从而自动刷新Token。 确保在高并发请求下,用户不会调用具体的三方接口实时获取Token。
TokenManager 默认实现了WEIXIN微信平台的accessToken(非用户授权码token)
TokenManager原理图如下所示:
TokenManager特性
-
多环境Token共享 例如:调试微信,获取appid+secrt换取accessToken,在开发环境和测试环境共用或不共用appid的情况下,可配置Token共享。
-
自动刷新accessToken 支持基于Oauth2协议的刷新Token机制,无需干预自动刷新,最佳的管理方式,提高接口响应速度。
-
多级缓存(待实现) 支持本地缓存与远程缓存。本地缓存JVM级别的,远程缓存基于Redis。提高Token的访问速度,防止Redis击穿雪崩。 本地缓存的生命周期动态管理。
-
可扩展 支持扩展现有的API实现,能够支持除了微信以外的其他平台。采用自动装配技术,实例动态注入到Spring容器中。
-
支持请求日志拦截 通过RestTempalte 拦截器实现了请求日志拦截,默认实现了请求Slf4j的info级别日志。可以自定义配置个性化的拦截实现。
快速开始
准备好Redis-server,服务IP与端口还有密码
服务:127.0.0.1:6379
密码:123456
如果您没有Redis服务环境,推荐使用Docker部署测试。
在您的项目中pom.xml加入maven依赖:
<dependency>
<groupId>com.wuweiitgroupId>
<artifactId>token-managerartifactId>
<version>0.0.2version>
dependency>
Springboot配置内容
spring:
## 三方Token管理器
token-manager:
# TokenManager自动装配开关
enabled: true
# redis链接地址
host: ${TOKEN_REDIS_HOST:127.0.0.1}
# redis密码
password : ${TOKEN_REDIS_PASSWORD:123456}
# redis数据索引 默认15
database : ${TOKEN_REDIS_DB:14}
port: ${TOKEN_REDIS_PORT:6379}
# Token管理器多实例配置
configMap:
# 微信Token接口配置,自动注入Bean weixinTokenManager
weixin:
type: WEIXIN
appid: xxxxx
appsecret: xxxxx
TokenAPI设计简介
TokenAPI 提供了获取Token和刷新token两种接口,参数包含SecretConfig和Map,这里使用Map的原因是我们不能确定获取Token需要c端用户传递哪些数据字段,因此使用Map会较为通用的方式。
TokenManager会通过类型自动判断调用那个接口实现,当然我们也可以采用策略模式直接设置TokenAPI到TokenManger实例里。
通过时间偏移量来防止本地token过期,提前刷新Token。
- 如何安装第三方模块爬取4K壁纸 0次下载
- 干货|虹科教你在第三方软件CODESYS中应用配置PCAN!
- 如何通过S7-1200与第三方设备实现自由口通信 16次下载
- 利用第三方软件实现WinCC打印实时报表的方法 10次下载
- 可信第三方参与的伪签名方案设计与实现 26次下载
- Express DSP兼容第三方算法的完整列表详细介绍 3次下载
- Excel DSP兼容的第三方算法可以用于声码器的芯片概述 14次下载
- 兼容DSP第三方算法的VB调制解调器的详细表格数据分析 5次下载
- TI的基于DSP兼容的第三方算法协议的详细资料概述 8次下载
- 兼容第三方算法的Excel DSP用在GSM上的详细概述 6次下载
- 兼容DSP的第三方算法的传真详细数据资料概述 3次下载
- B/S模式下电子商务第三方物流体系的构建 2次下载
- 基于微信支付、支付宝支付等第三方支付的Android框架 5次下载
- 基于第三方信号无源探测系统研究
- proteus第三方元件库下载 0次下载
- 瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法 495次阅读
- 调用第三方API接口会遇到哪些问题?如何解决? 2312次阅读
- 西门子S7-1200与第三方设备自由口通信详解 7747次阅读
- 调用第三方 API 接口会遇到哪些问题 1556次阅读
- 自制一款鸿蒙应用文件管理器 1880次阅读
- Python的包管理器 1564次阅读
- 如何通过S7-1200与第三方设备实现自由口通信 1197次阅读
- 如何嵌入第三方可执行程序 4909次阅读
- 用户可在苹果iOS 14将第三方应用谷歌Gmail设置为iOS默认邮件 3886次阅读
- 怎么样才能将S7-1500作为DP从站连接到第三方到DP主站系统 1.3w次阅读
- 怎样才能实现S7-1500与第三方自动化系统的数据交换? 5560次阅读
- Nginx在不加载第三方模块的情况下到底能做说明 3205次阅读
- 解答索尼电视如何安装第三方软件 2.8w次阅读
- 如何为MPC-HC添加第三方HEVC解码器_步骤教程及注意事项 1.6w次阅读
- 学习使用 8 种 Linux 原生命令或第三方实用程序来生成随机密码 4850次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多