【发布时间】:2020-12-30 23:54:10
【问题描述】:
带有 PKCE 的 OAuth2 Auth Code 是一种可用于 SPA、Web 应用程序、Web API 的协议。我想知道,在任何情况下都应该使用“经典”身份验证代码(没有 PKCE)吗?据我了解,PKCE 扩展是 Auth Code 流程的演变,完全可以替代“经典”流程。
【问题讨论】:
标签: oauth-2.0
带有 PKCE 的 OAuth2 Auth Code 是一种可用于 SPA、Web 应用程序、Web API 的协议。我想知道,在任何情况下都应该使用“经典”身份验证代码(没有 PKCE)吗?据我了解,PKCE 扩展是 Auth Code 流程的演变,完全可以替代“经典”流程。
【问题讨论】:
标签: oauth-2.0
不将 OAuth2 授权代码与 PKCE 一起使用的一个原因是,目前(2020 年 12 月),存在不支持它的授权服务器以及不支持它的客户端库。因此,根据您使用的库和服务器,您可能无法使用它。但是,如果您可以使用它,无论是用于公共客户还是机密客户,最佳实践表明您应该(参见https://datatracker.ietf.org/doc/html/draft-ietf-oauth-security-topics-16#section-2.1.1)
【讨论】: