我正在深入研究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之间的关系是否不同?多么?
发布于 2016-05-02 10:12:46
根据OAuth 2.0规范,授权端点和令牌端点具有不同的用途。
授权端点是资源所有者(用户)登录并向客户端(例如:在浏览器中运行的web应用程序或在移动设备上运行的应用程序)授予授权的地方。这通常用于将资源所有者的用户代理(例如:浏览器)重定向到身份服务器(授权服务器)进行身份验证的场景。资源所有者的用户代理将直接访问访问令牌。
令牌端点是客户端(例如:服务器端API或移动应用程序)调用以交换访问令牌的授权码、客户端Id和客户端机密的地方。在这种情况下,用户代理只提供授权代码,不能直接访问访问令牌。客户端是受信任的一方,可以从授权服务器访问客户端Id和客户端机密(这就是我将服务器端API作为客户端的原因)。
请阅读this文章,这篇文章有更好的解释。
https://stackoverflow.com/questions/36944986
复制相似问题