資料介紹
軟件簡(jiǎn)介
TokenManager是一款基于Java開(kāi)發(fā)的Spring Boot組件,用于管理自身平臺(tái)以外的三方平臺(tái)Token。
TokenManager將全場(chǎng)景的遠(yuǎn)程調(diào)用獲取Token抽象到TokenManager接口中,通過(guò)調(diào)用指定的三方TokenAPI 實(shí)現(xiàn)各類三方平臺(tái)的Token的管理。
TokenManager通過(guò)Redis的消息訂閱特性實(shí)現(xiàn)了延時(shí)消息監(jiān)聽(tīng)Token生命周期過(guò)期時(shí)間,從而自動(dòng)刷新Token。 確保在高并發(fā)請(qǐng)求下,用戶不會(huì)調(diào)用具體的三方接口實(shí)時(shí)獲取Token。
TokenManager 默認(rèn)實(shí)現(xiàn)了WEIXIN微信平臺(tái)的accessToken(非用戶授權(quán)碼token)
TokenManager原理圖如下所示:
?
TokenManager特性
-
多環(huán)境Token共享?例如:調(diào)試微信,獲取appid+secrt換取accessToken,在開(kāi)發(fā)環(huán)境和測(cè)試環(huán)境共用或不共用appid的情況下,可配置Token共享。
-
自動(dòng)刷新accessToken?支持基于Oauth2協(xié)議的刷新Token機(jī)制,無(wú)需干預(yù)自動(dòng)刷新,最佳的管理方式,提高接口響應(yīng)速度。
-
多級(jí)緩存(待實(shí)現(xiàn))?支持本地緩存與遠(yuǎn)程緩存。本地緩存JVM級(jí)別的,遠(yuǎn)程緩存基于Redis。提高Token的訪問(wèn)速度,防止Redis擊穿雪崩。 本地緩存的生命周期動(dòng)態(tài)管理。
-
可擴(kuò)展?支持?jǐn)U展現(xiàn)有的API實(shí)現(xiàn),能夠支持除了微信以外的其他平臺(tái)。采用自動(dòng)裝配技術(shù),實(shí)例動(dòng)態(tài)注入到Spring容器中。
-
支持請(qǐng)求日志攔截?通過(guò)RestTempalte 攔截器實(shí)現(xiàn)了請(qǐng)求日志攔截,默認(rèn)實(shí)現(xiàn)了請(qǐng)求Slf4j的info級(jí)別日志。可以自定義配置個(gè)性化的攔截實(shí)現(xiàn)。
快速開(kāi)始
準(zhǔn)備好Redis-server,服務(wù)IP與端口還有密碼
服務(wù):127.0.0.1:6379
密碼:123456
如果您沒(méi)有Redis服務(wù)環(huán)境,推薦使用Docker部署測(cè)試。
在您的項(xiàng)目中pom.xml加入maven依賴:
<dependency>
<groupId>com.wuweiitgroupId>
<artifactId>token-managerartifactId>
<version>0.0.2version>
dependency>
Springboot配置內(nèi)容
spring:
## 三方Token管理器
token-manager:
# TokenManager自動(dòng)裝配開(kāi)關(guān)
enabled: true
# redis鏈接地址
host: ${TOKEN_REDIS_HOST:127.0.0.1}
# redis密碼
password : ${TOKEN_REDIS_PASSWORD:123456}
# redis數(shù)據(jù)索引 默認(rèn)15
database : ${TOKEN_REDIS_DB:14}
port: ${TOKEN_REDIS_PORT:6379}
# Token管理器多實(shí)例配置
configMap:
# 微信Token接口配置,自動(dòng)注入Bean weixinTokenManager
weixin:
type: WEIXIN
appid: xxxxx
appsecret: xxxxx
TokenAPI設(shè)計(jì)簡(jiǎn)介
TokenAPI 提供了獲取Token和刷新token兩種接口,參數(shù)包含SecretConfig和Map,這里使用Map的原因是我們不能確定獲取Token需要c端用戶傳遞哪些數(shù)據(jù)字段,因此使用Map會(huì)較為通用的方式。
TokenManager會(huì)通過(guò)類型自動(dòng)判斷調(diào)用那個(gè)接口實(shí)現(xiàn),當(dāng)然我們也可以采用策略模式直接設(shè)置TokenAPI到TokenManger實(shí)例里。
通過(guò)時(shí)間偏移量來(lái)防止本地token過(guò)期,提前刷新Token。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- 如何安装第三方模块爬取4K壁纸0次下载
- 干货|虹科教你在第三方软件CODESYS中应用配置PCAN!19次下载
- 如何通过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次下载
- 基于第三方信号无源探测系统研究29次下载
- proteus第三方元件库下载0次下载
- 瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法727次阅读
- 调用第三方API接口会遇到哪些问题?如何解决?2580次阅读
- 西门子S7-1200与第三方设备自由口通信详解8021次阅读
- 调用第三方 API 接口会遇到哪些问题1761次阅读
- 自制一款鸿蒙应用文件管理器2116次阅读
- Python的包管理器1689次阅读
- 如何通过S7-1200与第三方设备实现自由口通信1324次阅读
- 如何嵌入第三方可执行程序5319次阅读
- 用户可在苹果iOS 14将第三方应用谷歌Gmail设置为iOS默认邮件3990次阅读
- 怎么样才能将S7-1500作为DP从站连接到第三方到DP主站系统13456次阅读
- 怎样才能实现S7-1500与第三方自动化系统的数据交换?5763次阅读
- Nginx在不加载第三方模块的情况下到底能做说明3314次阅读
- 解答索尼电视如何安装第三方软件28764次阅读
- 如何为MPC-HC添加第三方HEVC解码器_步骤教程及注意事项17267次阅读
- 学习使用 8 种 Linux 原生命令或第三方实用程序来生成随机密码4954次阅读
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論