为什么不同时发送访问和刷新令牌(OAuth2)



为什么客户端不能简单地为每个授权请求同时发送访问令牌和刷新令牌?如果访问令牌过期,检索新的访问令牌并最终发出相关请求不需要额外的两次访问。

我意识到这个操作是平摊的,但它会减少对非常短的访问令牌的请求数量。在SSL下,我看不出添加刷新令牌会让它变得更脆弱。是吗?

我认为主要原因是刷新令牌和访问令牌被发送到不同的地方。访问令牌发送给资源服务器,刷新令牌发送给授权服务器。一般情况下,资源服务器对刷新令牌无能为力。

一些原因:

访问令牌提供了一个抽象层,代替了不同的授权结构(例如,用户名和密码)使用单个资源服务器理解的令牌。这个抽象使发出比授权授予更具限制性的访问令牌用于获取它们,以及删除资源服务器的需要了解各种身份验证方法。

https://www.rfc-editor.org/rfc/rfc6749部分- 1.4

  • 让资源服务器理解刷新令牌意味着当它可以/应该被(授权服务器)抽象掉时,它们需要做更多的工作。

因为刷新令牌通常是用于的持久凭据请求其他访问令牌时,刷新令牌绑定到被发给的客户。如果客户端类型为机密或向客户端颁发了客户端证书(或分配了其他证书)认证要求),客户端必须使用第3.2.1节描述的授权服务器。

https://www.rfc-editor.org/rfc/rfc6749第六节

  • 刷新请求需要客户端凭据。资源服务器不应该看到客户端的凭据。

  • 刷新令牌意味着是持久的,而访问令牌不是(或不应该是)。

最新更新