Microservices 微服务体系结构中的JWT验证和公钥发布

Microservices 微服务体系结构中的JWT验证和公钥发布,microservices,public-key-exchange,Microservices,Public Key Exchange,我们正在将我们的web应用程序系统重构为微服务体系结构。 我们决定使用JWT对用户进行身份验证,并在其中保存一些授权数据。例如,从令牌的有效负载可以推断用户是否可以访问特定资源 我们考虑两个选项: 每个微服务将询问签名服务(例如API网关)令牌是否有效 每个微服务将持有公钥并验证令牌本身 在管理公钥的情况下,网关服务如何将其公钥发布到所有其他微服务 它似乎有很多关于如何设计系统的信息,而不是如何实际实现这些东西。我建议不要选择选项1,因为它给签名服务增加了很多不必要的负担 签名服务可以共享其公钥

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

我们考虑两个选项:

  • 每个微服务将询问签名服务(例如API网关)令牌是否有效
  • 每个微服务将持有公钥并验证令牌本身
  • 在管理公钥的情况下,网关服务如何将其公钥发布到所有其他微服务


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

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


    签名服务可以共享其公钥。需要该密钥的服务可以在启动时获取该密钥,并使用它来验证JWTs。也就是说,您需要确保签名服务与它所说的一样,例如使用HTTPS。

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

    签名服务可以共享其公钥。需要该密钥的服务可以在启动时获取该密钥,并使用它来验证JWTs。也就是说,您需要确保签名服务就是它所说的,例如使用HTTPS