TokenManager 0.0.1 发布:支持三方 Token 托管
TokenManager V0.0.1版本
TokenManager是一款基于Java开发的Springboot组件,用于管理自身平台以外的三方Token。
TokenManager将全场景的远程调用获取Token抽象到TokenManager接口中,通过调用指定的API实现各类三方系统的Token的管理。
通过Redis的消息订阅特性实现了延时消息监听Token生命周期过期时间,从而自动刷新Token。 确保在高并发请求下,用户不会调用具体的三方接口实时获取Token。
TokenManager原理图如下所示:
开发者:marker
TokenManager特性
-
多环境Token共享 例如:调试微信,获取appid+secrt换取accessToken,在开发环境和测试环境共用appid的情况下,Token共享。
-
自动刷新accessToken 支持基于Oauth2协议的刷新Token机制,无需干预自动刷新,最佳的管理方式,提高接口响应速度。
-
多级缓存(待实现) 支持本地缓存与远程缓存。本地缓存JVM级别的,远程缓存基于Redis。提高Token的访问速度,防止Redis击穿雪崩。 本地缓存的生命周期动态管理。
-
可扩展 支持扩展现有的API实现,能够支持除了微信以外的其他平台。采用自动装配技术,实例动态注入到Spring容器中。
-
支持请求日志拦截 通过RestTempalte 拦截器实现了请求日志拦截,默认实现了请求Slf4j的info级别日志。可以自定义配置个性化的拦截实现。
更新日志
2021-08-16 新版本发布;
快速开始
准备好Redis-server,服务IP与端口还有密码
服务:127.0.0.1:6379 密码:123456
如果您没有Redis服务环境,推荐使用Docker部署测试。
在您的项目中pom.xml加入maven依赖:
<!-- 开发者:marker 三方Token管理器 --> <dependency> <groupId>com.wuweibi</groupId> <artifactId>token-manager</artifactId> <version>0.0.1</version> </dependency>
TokenAPI
TokenAPI 提供了获取Token和刷新token两种接口,参数包含SecretConfig和Map,这里使用Map的原因是我们不能确定获取Token需要c端用户传递哪些数据字段,因此使用Map会较为通用的方式。
TokenManager会通过类型自动判断调用那个接口实现,当然我们也可以采用策略模式直接设置TokenAPI到TokenManger实例里。
Springboot配置内容
spring: ## 三方Token管理器 token-manager: enabled: true # redis链接地址 host: ${TOKEN_REDIS_HOST:192.168.1.6} # redis密码 password : ${TOKEN_REDIS_PASSWORD:xxx} # redis数据索引 默认14 database : ${TOKEN_REDIS_DB:13} port: ${TOKEN_REDIS_PORT:6379} lettuce: #在关闭客户端连接之前等待任务处理完成的最长时间,在这之后,无论任务是否执行完成,都会被执行器关闭,默认100ms shutdownTimeout: 100 pool: # 连接池最大连接数(使用负值表示没有限制) maxActive: 50 # 连接池中的最大空闲连接 maxIdle: 10 # 连接池中的最小空闲连接 minIdle: 9 # 连接池最大阻塞等待时间(使用负值表示没有限制) maxWait: -1 # Token管理器多实例配置 configMap: # 微信Token接口配置 weixinMp: type: WEIXIN appid: wx03698c0a99f50cfb appsecret: 82aee19d923384fcda0be1ad9f23619c offsetTime: 60
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开源工具以纯文本形式从 Windows 365 中提取 Azure 凭证
微软的 Windows 365 自推出以来只过了几周的时间,但如今已经有研究人员发现了安全漏洞,并可以利用该漏洞提取用户未加密的明文 Microsoft Azure 凭证。 微软的 Windows 365 自推出以来只过了几周的时间,但如今已经有研究人员发现了安全漏洞,并可以利用该漏洞提取用户未加密的明文 Microsoft Azure 凭证。 安全研究人员 Benjamin Delpy 使用了一个名为 Mimikatz 的工具提取 Azure 凭证,Mimikatz 是一个开源的网络安全项目,由 Delpy 本人亲自开发,允许研究人员测试各种凭证窃取和冒充漏洞。 Mimikatz 项目的 [GitHub](https://github.com/gentilkiwi/mimikatz) 页面介绍写道:"众所周知,它可以从内存中提取明文密码、哈希值、PIN 码和 kerberos tickets。Mimikatz 还可以执行传递哈希值、传递 ticket、建立 Golden tickets、……" 虽然这个项目最初是为研究人员所创建的,但由于其各种模块的强大功能,它通常被恶意攻击者用来从...
- 下一篇
DevUI Admin 2.0 重磅发布!
DevUI是面向企业中后台产品的开源前端解决方案,其设计价值观基于"至简"、"沉浸"、"灵活"三种自然与人文相结合的理念,旨在为设计师、前端开发者提供标准的设计体系,并满足各类落地场景,是一款企业级开箱即用的产品。如果你正在开发 ToB 的工具类产品,DevUI 将是一个很不错的选择! 引言 预告了2个星期,DevUI Admin 2.0 终于来了!先来看看黑科技是什么吧! 在2.0版本中,我们将区块从Admin中抽离了出来,并且推出了一套对应的Angular CLI去帮助你使用我们的区块,让你可以更快更方便地搭建一个基于DevUI Admin的后台管理系统。后续我们还会持续丰富现有的区块,完善CLI让其能够帮助你做更多的事情。 除此之外,我们还新增了: 动态表单 第三方登录,账号注册 消息提醒面板 为了让大家快速将黑科技用起来,我们特意在B站录制了一段4分钟的教学视频,欢迎大家围观~ https://www.bilibili.com/video/BV1o3411z7qi/ 1 DevUI Admin 区块 目前DevUI Admin提供了4类共19个内置区块,覆盖表单、列表、图表等丰...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6