【发布时间】:2018-03-15 01:41:13
【问题描述】:
在 OAuth 2.0 流程中,授权服务器将授权代码发送到重定向端点,然后网页必须再次访问服务器以获取单独的访问令牌来查询受保护的 API。
为什么必须有两个令牌?具体来说,有人可以提供在没有这种设计的情况下出现的安全攻击/漏洞的示例。
有这个帖子Facebook OAuth 2.0 "code" and "token",但它并没有真正完全解释设计背后的原因。
【问题讨论】:
标签: oauth-2.0
在 OAuth 2.0 流程中,授权服务器将授权代码发送到重定向端点,然后网页必须再次访问服务器以获取单独的访问令牌来查询受保护的 API。
为什么必须有两个令牌?具体来说,有人可以提供在没有这种设计的情况下出现的安全攻击/漏洞的示例。
有这个帖子Facebook OAuth 2.0 "code" and "token",但它并没有真正完全解释设计背后的原因。
【问题讨论】:
标签: oauth-2.0
一个(授权码)在前通道交换,另一个(访问令牌)在后通道交换。最终目标是获取访问令牌。由于前端通道本质上更不安全,因此在前端通道中发送一个非常短暂的一次性使用临时凭证(即授权代码)是有意义的,Web 服务器可以使用该凭证来重复获取寿命较长的 -反向通道中的可用访问令牌。该反向通道调用还将允许 Web 服务器(或:客户端)向授权服务器验证自己的身份,以增加与正确方打交道的保证。
【讨论】: