oauth 2.0 中的状态和证明密钥有什么区别?
what is the difference between state and proof key in oauth 2.0?
他们所做的只是生成一个随机值来防止代码。在证明密钥中,我需要发送代码挑战和传输方法。并在第二个请求中发送代码验证器来检查它。如果我使用状态,我只需要使用状态来检查它。他们都可以保护我的代码。那么这两种方式有什么区别呢?
状态用于将授权重定向关联到授权响应(1 个客户端 http 事件)
PKCE 用于确保授权重定向和授权码授予消息来自同一方(2 个客户端 http 事件)
我的文章可能会帮助您想象这一点 - 请参阅第 6 步和第 8 步:
https://authguidance.com/2017/09/26/basicspa-oauthworkflow/
他们所做的只是生成一个随机值来防止代码。在证明密钥中,我需要发送代码挑战和传输方法。并在第二个请求中发送代码验证器来检查它。如果我使用状态,我只需要使用状态来检查它。他们都可以保护我的代码。那么这两种方式有什么区别呢?
状态用于将授权重定向关联到授权响应(1 个客户端 http 事件)
PKCE 用于确保授权重定向和授权码授予消息来自同一方(2 个客户端 http 事件)
我的文章可能会帮助您想象这一点 - 请参阅第 6 步和第 8 步: https://authguidance.com/2017/09/26/basicspa-oauthworkflow/