混合流中无法进行代码替换吗?



我正在尝试了解openid连接代码流。

在授权代码流中,授权代码来自前端通道。然后使用客户端 ID 和客户端凭据通过反向通道id_token/access_token。此外,它容易受到代码替换攻击,并可能允许黑客冒充用户,如此处所述

但我无法理解混合流如何防止这种情况。我在这里读到。但是是什么阻止了黑客替换代码和id_token呢?可能是我无法通读行。但请帮助我理解这一点。

更新

在阅读了更多内容后,我相信id_token有关于澳元的信息,即它最初发行给哪个客户。因此,恶意客户端将具有它(并且恶意客户端不能将其替换为原始客户端的Client_Id,因为它由颁发者签名(因此,原始客户端将能够验证这是否被颁发给它。这是正确的理解吗?另外,黑客是否还有其他情况可以替换代码和id_token?

您是对的:令牌由颁发者签名并包含客户端必须检查的aud声明这一事实将防止与用于其他客户端的令牌交换。

最新更新