OAuth API 授权 - BlueCat Integrity - 9.5.0

管理指南

Locale
中文 (大陆)
Product name
BlueCat Integrity
Version
9.5.0

OAuth 是授权协议,可以保护属于 API 客户端之间的计算机与计算机通信一部分的 API 端点。与侧重于 Web 客户端认证的 SAML 不同,OAuth 侧重于角色有权访问什么,而不是角色是谁。OAuth 2.0 规范包括四个角色:资源所有者(用户)、客户端(需要访问 Address Manager API 的应用程序或脚本)、授权服务器(OAuth2 Server、Open ID Connect)和资源服务器 (Address Manager API)。授权服务器向客户端颁发访问令牌(用于对发给 API 端点的请求进行认证),授权授予则定义了客户端获取访问令牌的方式。有关授权授予的更多信息,请参阅https://tools.ietf.org/html/rfc6749

OAuth 如何与 Address Manager 配合使用

Address Manager 允许以下授权授予:
  • 授权代码授予
  • 隐式授予
  • 资源所有者密码凭据授予

授权代码授予

在此授权授予中,通过授权服务器托管的登录页面(用户代理)对用户进行认证。

下图解释了授权代码授予:

  1. 客户端将用户代理重定向到授权服务器
  2. 授权服务器通过用户代理对用户进行认证
  3. 如果用户认证成功,用户授予访问所请求资源的权限,授权服务器返回授权代码,并将用户重定向到客户端
  4. 客户在请求中包含授权代码,向授权服务器请求访问令牌
  5. 授权服务器对客户端进行认证
  6. 客户端使用访问令牌访问资源服务器上的资源

隐式授予

与授权代码授予相似,通过授权服务器托管的登录页面(用户代理)对用户进行认证,但是授权服务器直接将访问令牌返回给客户端,而不是授权代码。

下图解释了隐式授予:

  1. 客户端将用户代理重定向到授权服务器
  2. 授权服务器通过用户代理对用户进行认证
  3. 如果用户认证成功,用户授予访问所请求资源的权限,授权服务器在片断中返回访问令牌,并将用户重定向到客户端
  4. 用户代理请求 Web 托管的客户端资源,但不使用片断
  5. Web 托管的客户端向用户代理返回可以提取访问令牌的脚本
  6. 用户代理执行脚本以提取访问令牌
  7. 用户代理将访问令牌传递给客户端
  8. 客户端使用访问令牌访问资源服务器上的资源

资源所有者密码凭据授予

在此授权授予中,客户端要求用户提供凭据 –– 此授予不会调用授权服务器托管的登录页面。

下图解释了资源所有者密码凭据授予:

  1. 用户在客户端应用程序中输入用户名和密码
  2. 客户端将凭据转发给授权服务器
  3. 授权服务器将访问令牌返回给客户端应用程序
  4. 客户端应用程序使用访问令牌调用 Address Manager