1

我们正在将我们的 Web 应用系统重构为微服务架构。
我们决定对我们的用户进行身份验证,JWT并在其中保存一些授权数据。例如,从令牌的有效负载可以推断出用户是否可以访问某个资源。

我们考虑两种选择:

  1. 每个微服务都会询问签名服务(例如 API 网关)令牌是否有效。
  2. 每个微服务都将持有公钥并验证令牌本身。

在管理公钥的情况下,网关服务如何将其公钥发布给所有其他微服务?

它似乎有很多关于如何设计系统的信息,但没有关于如何实际实现这些东西的信息。

4

1 回答 1

0

我建议不要使用选项 1,因为它给签名服务增加了很多不必要的负担。

签名服务可以共享其公钥。需要该密钥的服务可以在启动时简单地获取它并使用它来验证 JWT。话虽如此,您需要确保签名服务与它所说的一样,例如使用 HTTPS。

于 2017-08-01T20:04:59.640 回答