Oauth 2.0 JWT访问令牌:矛盾?

Oauth 2.0 JWT访问令牌:矛盾?,oauth-2.0,jwt,microservices,openid-connect,Oauth 2.0,Jwt,Microservices,Openid Connect,我正在尝试为微服务体系结构实现一个安全解决方案。我的身份验证服务器支持OAuth2和OIDC 我试图弄清楚我是否可以在我的微服务之间传递JWT令牌,以避免重复交换不透明令牌来获取用户的声明。没有什么(实际的)能阻止我做那件事。我可以: 在进行调用时,使用我从auth服务器获得的JWT(ID令牌)作为承载令牌 每个服务都可以根据身份验证服务器的(缓存的)JWK验证该令牌,以确保其有效 每个服务都可以在其对其他服务的调用中包含令牌 我读过 很好,但是: 我的(道德?)问题是: JWT的JWT适

我正在尝试为微服务体系结构实现一个安全解决方案。我的身份验证服务器支持OAuth2和OIDC

我试图弄清楚我是否可以在我的微服务之间传递JWT令牌,以避免重复交换不透明令牌来获取用户的声明。没有什么(实际的)能阻止我做那件事。我可以:

  • 在进行调用时,使用我从auth服务器获得的JWT(ID令牌)作为承载令牌
  • 每个服务都可以根据身份验证服务器的(缓存的)JWK验证该令牌,以确保其有效
  • 每个服务都可以在其对其他服务的调用中包含令牌
我读过

很好,但是:

我的(道德?)问题是:

JWT的JWT适用于一家公司。事实上,规范基本上说,如果不适合你,你应该拒绝它

承载令牌是。因此,如果我发行一个令牌,上面写着持票人可以阅读我的邮件,它可以通过六种不同的服务,其中任何一种都可以阅读我的邮件

所以我的问题很简单,JWT怎么可能是不记名代币

链接到任何优秀文章/视频/有效分布式身份验证解决方案示例的奖励积分

JWT针对特定的受众。事实上,规范基本上说,如果不适合你,你应该拒绝它

不记名令牌也是如此。它可以被任何人传递,但只有观众才能根据它的有效性采取行动

因此,服务X可以通过预期的受众服务Y获得JWT承载令牌。它不会基于此向呼叫客户端提供任何授权,但使用它呼叫服务Y不会违反受众声明。违反受众声明的是,如果服务X验证JWT,看到不匹配的受众并说“好吧,因为客户端有一个JWT声明它是用户Fubar,我可以返回一些关于用户Fubar的信息。”


不透明的非JWT承载令牌的区别在于服务X将无法滥用它……

您可以在这里查看:JWT可以用于许多事情,其中包括承载令牌,即,您可以向某个服务提供的一条信息,由于您拥有它(您是“承载者”)允许你接触到某些东西,这就是矛盾!我用令牌呼叫服务X。服务X使用令牌调用服务Y。如果它是一个不透明的标记,好的。如果是JWT,那么其中一个服务就是违反了规则(因为它们不能同时成为目标受众)。当然我误读了规范。代币来自谁并不重要,但重要的是它流向了谁。谢谢