想象一下使用 PKCE 的 OAuth2 授权代码流程是在前端后端 (BFF) 位于浏览器和资源服务器之间的情况下完成的,如基于浏览器的应用程序的 OAuth 2.0 中所述。
我的理解是,当授权端点返回代码时,它将位于 https 302 重定向响应中,并将代码作为查询参数之一。这意味着代码实际上(在短时间内)驻留在浏览器中。这样的分析正确吗?如果是,这会带来安全问题,还是因为 OAuth2 客户端(BFF)必须是机密客户端(如果代码来自攻击者)?
如果攻击者在目标人员使用代码之前获取了代码,他们将获得访问令牌,但在正常情况下,攻击者不应能够拦截此代码。