OAuth2.0中的状态键和证明键有什么区别?

OAuth2.0中的状态键和证明键有什么区别?,oauth,oauth-2.0,Oauth,Oauth 2.0,它们所做的只是生成一个随机值来阻止代码。在验证密钥中,我需要发送代码挑战和传输方法。在第二个请求中,发送代码验证器进行检查。如果我使用state,我只需要使用state来检查它。它们都可以保护我的代码。那么这两种方式的区别是什么呢?状态用于将授权重定向与授权响应关联起来(1个客户端http事件) PKCE用于确保授权重定向和授权代码授予消息来自同一方(2个客户端http事件) 我的总结可能有助于您形象化这一点-请参阅步骤6和8:

它们所做的只是生成一个随机值来阻止代码。在验证密钥中,我需要发送代码挑战和传输方法。在第二个请求中,发送代码验证器进行检查。如果我使用state,我只需要使用state来检查它。它们都可以保护我的代码。那么这两种方式的区别是什么呢?

状态用于将授权重定向与授权响应关联起来(1个客户端http事件)

PKCE用于确保授权重定向和授权代码授予消息来自同一方(2个客户端http事件)

我的总结可能有助于您形象化这一点-请参阅步骤6和8: