加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Spring Cloud Security JWT:使用配置服务器/密钥轮换分发公钥

发布时间:2020-12-15 01:33:19 所属栏目:大数据 来源:网络整理
导读:如何在Spring Cloud环境中管理用于签署/验证JWT的私钥/公钥? 问题”: 目前我生成一个密钥对.然后将私有公钥复制到我的auth-server应用程序.并将公钥复制到每个资源服务器. 当我现在想要实现“密钥轮换”时,我必须以某种方式为每个服务填充新密钥. 想法:

如何在Spring Cloud环境中管理用于签署/验证JWT的私钥/公钥?

问题”:

目前我生成一个密钥对.然后将私有公钥复制到我的auth-server应用程序.并将公钥复制到每个资源服务器.

当我现在想要实现“密钥轮换”时,我必须以某种方式为每个服务填充新密钥.

想法:

也许我可以使用spring-cloud-config-server存储和分发Key Pairs?

配置服务器已提供数据库登录凭据.那么为什么不在那里存储更敏感的信息呢?

问题(S):

如果这是要走的路:你如何使用spring-cloud-config-server实现密钥对分发?

你有任何安全问题吗?

你是怎么解决这个问题的?我想有更好的解决方案.

编辑:

也许有一些解决方案使用Spring Oauth的JWKs的security.oauth2.resource.jwt.keyUri属性?

最佳答案
首先,我会有一个隐藏JWT机制的网关.它允许您从网关撤消令牌.如果用户知道他的令牌,则不能在不撤销公钥的情况下撤销该令牌.它看起来像这样:

enter image description here

使用zuul的过滤器和会话范围的bean很容易实现.

其次,如果你在评论中说过,你可以简单地创建一个新的私钥来生成新的令牌.但是所有资源服务器必须能够读取所有先前生成的令牌.因此,您需要在每个资源服务器上都有一个公钥列表,每次收到请求时,都必须尝试使用??每个公钥进行验证.也许你可以拥有一个公钥ID(并将id放在每个生成的令牌上),以避免对这个任务进行愚蠢的查找.

对于密钥分发,使用spring cloud总线和rabbit mq似乎对我来说.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读