我正在尝试实现OpenID Connect Implicit Flow。前端单页应用程序将ID Token通过Authorization头传递到后端服务器,在那里我需要验证它。
文档要求我检查我信任令牌的受众(aud & azp字段)。我很难理解这个验证步骤的重要性以及不这样做的安全影响。如果我不是预期的接收者,为什么应该不信任令牌?
我的想法是,如果我信任发行者,那么发行给谁的令牌并不重要。我希望声明对于任何客户端ID都是相同的(这是错误的吗?)。理想情况下,当我在我的微服务中传递ID Token时,所有他们需要知道的就是要信任哪些发行者(并使用discovery protocol来找出密钥)。
如果我跳过此验证步骤,攻击向量是什么?
文档要求我检查我信任令牌的受众(aud & azp字段)。我很难理解这个验证步骤的重要性以及不这样做的安全影响。如果我不是预期的接收者,为什么应该不信任令牌?
我的想法是,如果我信任发行者,那么发行给谁的令牌并不重要。我希望声明对于任何客户端ID都是相同的(这是错误的吗?)。理想情况下,当我在我的微服务中传递ID Token时,所有他们需要知道的就是要信任哪些发行者(并使用discovery protocol来找出密钥)。
如果我跳过此验证步骤,攻击向量是什么?