顾名思义,我正在寻找一种解决方案,以确保内部微服务之间的通信流安全。
最终目标是通过将请求标头作为声明存储在JWT中以防止欺骗来保护通信。我最初的想法是让我们的网关创建,管理和签名(使用某种缓存策略)所有用于在服务之间传递和传递的内部令牌。每个服务将负责使用共享机密验证传入的请求。
这里的问题是我们的一些服务需要使用新的x-header值更新HttpContext(例如:一种用例是在需要绕过authz时)。因此,对于这些服务,唯一的解决方法是在将请求发送到服务B之前,在服务A处创建/签名具有新声明的新令牌。
我实际上是在尝试避免将所有这些额外的处理逻辑混在一起用于在服务层上管理令牌,该服务层已经是定义良好的微服务体系结构。在此模型中,缓存令牌是一个选项,可以提高性能,但是从整体设计的角度来看,是否有更好的方法?也许不是使用JWT进行内部身份验证?