文档中的相关部分:https://tools.ietf.org/html/rfc6749#section-1.3.1
最初它说:
授权代码是使用授权服务器获得的 客户端和资源所有者之间的中介。代替 直接从资源所有者,客户端请求授权 将资源所有者定向到授权服务器(通过其 [RFC2616]中定义的用户代理,反过来指示 资源所有者使用授权码返回客户端。
粗体部分让我认为Auth代码被提供给资源所有者,然后资源所有者将其提供给客户端。像这样:
然而,它后来说:
授权码提供了一些重要的安全优势, 例如验证客户端的能力,以及 无需将访问令牌直接传输到客户端 将其传递给资源所有者的用户代理并且可能 将其暴露给其他人,包括资源所有者。
这让我觉得auth代码正在直接发送到客户端,而不是通过资源所有者。像这样:
这两个是哪一个?如果它是后者,那么资源所有者得到的响应是什么?
答案 0 :(得分:1)
我认为您将授权码与访问令牌混淆。 在第一部分中,RFC表示授权代码从授权服务器传递给资源所有者,然后从资源所有者(通过其用户代理)传递到客户端。 它后来说,ACCESS TOKEN(用于获取信息)直接被委托给客户。这是因为首先客户端从资源所有者的用户代理获得授权代码,然后它与授权服务器交换访问令牌。显然,这发生在授权代码授权中。在隐含授权中,它们都是不同的。