/ oauth / authorize和/ oauth / token如何在Spring OAuth中进行交互?

时间:2016-04-29 18:12:29

标签: spring oauth oauth-2.0 spring-security-oauth2 spring-oauth2

我正在对Spring OAuth进行深入研究,我发现了一些相互矛盾的信息。有人可以澄清一下吗?

具体而言,this tutorial表示/oauth/token端点在向客户端应用授予刷新令牌之前处理用户名和密码。相比之下,Spring OAuth Developer Guide提及了/oauth/authorize/oauth/token个端点,但没有详细说明它们的工作原理。

/oauth/authorize执行100%username/password/nOtherFactors检查,然后发信号通知/oauth/token端点向客户端发送刷新令牌,以便客​​户端将刷新令牌发送到/oauth/token端点?

或者全部由/oauth/token端点处理?

/oauth/authorize/oauth/token之间的关系对于不同的授权类型是否有所不同?怎么样?

1 个答案:

答案 0 :(得分:12)

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

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

令牌端点是客户端(例如:服务器端API或移动应用程序)调用以交换访问令牌的授权码,客户端ID和客户端密钥的位置。在此方案中,仅为用户代理提供授权代码,不能直接访问访问令牌。客户端是可信方,可以从授权服务器访问客户端ID和客户端密钥(这就是为什么我提到服务器端API作为客户端)。

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