mtls 和 jwt 身份验证流程场景 NGINX 作为 API 网关?

问题描述 投票:0回答:0

我有一个场景,在身份验证流程的一侧需要 B2B(客户端)和 NGINX API 网关之间的 mTLS 身份验证以从 API 端点(在 nginx api 网关后面)访问资源,并且在 nginx 之间需要 JWT 授权api 网关和 IdP(keycloak)和托管 url 资源的 API 端点。

因此,看起来将对连接到 API 网关的新客户端进行 mtls 身份验证,然后 API 网关和 IdP 以及 API 端点/微服务之间的授权流程将通过 JWT 流程进行。总结:

  1. MTLS 身份验证发生在 B2B 客户端和 API 网关之间
  2. 如果 mtls auth 成功:API 网关向 IdP 请求 JWT 令牌(?)
  3. IdP 对来自 API 网关的请求进行身份验证
  4. 使用包含正确授权范围的 JWT 令牌进行响应
  5. API 网关使用 JWT 令牌从 API 端点/微服务请求资源以提供授权详细信息
  6. 资源返回并代理回客户端...

我能找到的最接近这个场景的模型是这里描述的“Phantom token”场景:

https://curity.io/resources/learn/phantom-token-pattern/

(除了在我的场景中,幻像令牌以某种方式生成以响应客户端成功的 mtls 身份验证)

我的问题是:

a) 这个场景有意义吗?如果是这样,用于什么用例?

b) 如果是这样,NGINX Plus/NGINX 配置会是什么样子?

背景:

  • 我知道 mtls 将用于处理完整身份验证的身份验证流程
  • 替代方法是使用 JWT 身份验证+授权代替 mtls

我的困惑是为什么/如何将这两者用于 API 网关 authX?

jwt keycloak api-gateway mtls nginx-plus
© www.soinside.com 2019 - 2024. All rights reserved.