我们应该在授权代码流的情况下检查令牌吗?

Should we check token in case of Authorization Code flow?

这是 Instant Flow 遇到的一个 know problem 混乱问题,所以你必须检查你收到的 access_token 是否已提供给你的应用程序。

我一直认为这不是授权代码流的问题,但在 this answer 中提到它不是这样,即使在授权令牌流中你也必须验证令牌。

但老实说,我无法找出必要的工作流程。就像我们收到一个代码,然后直接请求令牌(指定 client_secret)。我不明白我们怎么会被迫在此流程中使用错误的标记。

您提到的答案是关于 access_token 传送到资源服务器的。这也是一般情况下“困惑的代理人”问题适用的地方。

在您的 post 中,您指的是交付给客户的授权码。那是不同的,不会像描述的那样遭受相同的混淆代理攻击。

需要注意的是,如果客户端出于相同的原因与多个授权服务器 (AS) 通信,则授权代码授权类型可能容易受到相关攻击(Authorization Server Mixup"):客户端无法检测授权码是否实际上是由它认为与之交谈的 AS 发出的。注册一个特定于每个 AS 的重定向 URI 可以解决这个问题。