mac*_*jna 6 security openid-connect microservices
我正在尝试实现OpenID Connect隐式流程。前端单页应用程序将ID令牌向下传递到后端服务器(使用Authorization标头),在这里我需要对其进行验证。
该文档要求我检查我是否信任令牌的受众(aud和azp字段)。我正在努力了解此验证步骤的重要性以及不进行验证的安全隐患是什么。如果我不是预期的接收者,为什么我应该不信任令牌?
我的理由是,如果我信任发行人,那么发行人的代币无关紧要。我希望任何clientId的声明都相同(这是错误的吗?)。理想情况下,当我在微服务周围传递ID令牌时,他们应该知道的是哪些发行者可以信任(并使用发现协议来确定密钥)。
如果我跳过此验证步骤,攻击向量是什么?
发行者可能会向不同的应用程序发行令牌,而这些应用程序可能具有不同的权限。不检查受众将允许攻击者在应用程序 B 上使用为应用程序 A 颁发的令牌,并可能导致权限提升。
对于您的建议:索赔可能确实因客户而异。