gpt4 book ai didi

Spring Cloud Security JWT : Distribute Public Key using Config Server/Key Rotation

转载 作者:行者123 更新时间:2023-12-04 12:39:09 25 4
gpt4 key购买 nike

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

“问题”:

目前我生成了一个 key 对。然后将私钥+公钥复制到我的auth-server应用。并将公钥复制到每个资源服务器。

当我现在想要实现“ key 轮换”时,我必须以某种方式填充每个服务的新 key 。

思路:

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

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

问题:

如果这是要走的路:您将如何使用 spring-cloud-config-server 实现 key 对分发?

您有任何安全问题吗?

你是如何解决这个问题的?我想有更好的解决方案。

编辑:

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

最佳答案

首先,我会有一个网关来隐藏 JWT 机制。它将允许您从网关撤销 token 。如果用户知道他的 token ,您不能在不撤销公钥的情况下撤销它。它看起来像这样:

enter image description here

使用 zuul 的过滤器和 session 范围的 bean 很容易实现。

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

对于 key 分发,使用 spring cloud bus 和 rabbit mq 对我来说似乎是正确的。

关于Spring Cloud Security JWT : Distribute Public Key using Config Server/Key Rotation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51947402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com