微服务架构和公钥发布中的JWT验证

时间:2016-08-24 14:42:57

标签: microservices public-key-exchange

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

我们考虑两个选择:

  1. 如果令牌有效,每个微服务都会询问签名服务(例如API网关)。
  2. 每个微服务都将保存公钥并验证令牌本身。
  3. 在管理公钥的情况下,网关服务如何将其公钥发布到所有其他微服务?

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

1 个答案:

答案 0 :(得分:0)

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

签名服务可以共享其公钥。需要该密钥的服务可以在启动时简单地获取它并使用它来验证JWT。话虽这么说,您需要确保签名服务是使用HTTPS的原因。