15

我正在深入研究 Spring OAuth,发现一些相互矛盾的信息。

具体来说,本教程指出/oauth/token端点在向客户端应用程序授予刷新令牌之前会处理用户名和密码。相比之下,Spring OAuth 开发人员指南提到了/oauth/authorize/oauth/token端点,但没有具体说明它们是如何工作的。

是否/oauth/authorize执行 100% 的username/password/nOtherFactors检查,然后向/oauth/token端点发送刷新令牌给客户端的信号,以便客户端随后将刷新令牌发送给/oauth/token端点?

还是所有这些都由/oauth/token端点处理?

不同授权类型之间/oauth/authorize的关系是否不同?/oauth/token如何?

4

1 回答 1

22

根据 OAuth 2.0 规范,授权和令牌端点有不同的用途。

授权端点是资源所有者(用户)登录并向客户端授予授权的地方(例如:在浏览器中运行的 Web 应用程序或在移动设备上运行的应用程序)。这通常用于资源所有者的用户代理(例如:浏览器)被重定向到身份服务器(授权服务器)进行身份验证的场景。资源所有者的用户代理将直接访问访问令牌。

令牌端点是客户端(例如:服务器端 API 或移动应用程序)调用以交换授权码、客户端 ID 和客户端密钥以获取访问令牌的地方。在这种情况下,用户代理只提供了一个授权码,不能直接访问访问令牌。客户端是一个受信任方,可以从授权服务器访问客户端 ID 和客户端密码(这就是我提到服务器端 API 作为客户端的原因)。

请阅读这篇有更好解释的文章。

于 2016-05-02T02:12:45.930 回答