首页 文章

OAuth2刷新令牌实用程序

提问于
浏览
1

在为资源所有者密码凭据授予实现授权/资源服务器之前,我正在阅读OAuth2 RFC 6749 specs .

我了解客户端应用程序使用 refresh_token (及其凭据)为最终用户(资源所有者)获取新的访问令牌,而不是存储最终用户的用户名/密码,并在每次access_token到期时发送它们 .

但是,对我而言,这听起来像refresh_token和access_token一样好,它几乎只是一个额外的服务器调用,所以为什么不直接使用它,即如果刷新令牌是有效的授权访问?

我是否也认为每个最终用户的会话有一个刷新令牌?

1 回答

  • 1

    但是,对我来说这听起来像refresh_token和access_token一样好,它几乎只是一个额外的服务器调用,所以为什么不直接使用它,即如果刷新令牌是有效的授权访问?

    因为对授权服务器的额外服务器调用对于确保仍允许访问客户端应用程序非常重要 . 如果不与授权服务器通信,资源服务器将无法验证刷新令牌是否仍然良好 . 但这不是资源服务器的关注点 .

    有效的访问令牌是承载令牌 . 它直接在资源服务器上用于获取数据 - 没有问题 . 如果是's not expired, and it has the right scopes - here'的数据,无论你是谁!

    另一方面,刷新令牌必须与客户端凭证一起呈现给授权服务器 . 授权服务器可以选择验证资源所有者是否已撤销对该客户端的访问权限,或者客户端应用程序本身是否仍然有效 . 如果确定,授权服务器可以创建一个新的,短命的承载访问令牌,这对任何拥有它的人来说都是一样好!

相关问题