OAuth 是一种安全、高效且易于使用的开放标准授权协议,可帮助您保护用户隐私。 它定义了如何委托或授权应用程序访问资源(例如远程或第三方 API 或用户数据),而无需用户提供其用户名和密码凭据。

注: Salesforce 标志和徽标、Microsoft SharePoint 标志和徽标、Apigee 标志和徽标、ServiceNow 标志和徽标以及 Genesys 标志和徽标分别是 Salesforce, Inc.、Microsoft Corp.、Google LLC、ServiceNow, Inc. 和 Genesys 的商标或注册商标,仅用于识别目的。

有关更多信息,请参阅 OAuth 2.0

OAuth 支持一组预定义的方法,称为授权类型。 每种授权类型根据具体情况有特定的要求和流程。Control Room OAuth 连接支持以下授权类型:

  • 授权代码流程
  • 带有代码交换证明密钥的授权代码流程 (PKCE)
  • 客户端凭据流程
注: 在不需要用户授权和同意的场景中,或者在多个 bots(例如无人值守 bot 运行)之间共享令牌时,请确保使用共享令牌(保存登录凭据选项)来运行无人值守自动化。 有关更多信息,请参阅 创建 OAuth 连接

OAuth 架构

通过在 Control Room 中管理的 OAuth 连接,您可以通过 Control Room 集中管理连接和令牌生命周期。 此外,您可以安全地存储用于验证和授权访问企业应用程序所需的令牌,而无需在每次自动化运行时获取它们。Control Room 中配置的 OAuth 连接是出站的,面向相应的企业应用程序以进行身份验证。

Control Room 支持以下选项:
  • 为自动化中使用的每个 SaaS 应用程序创建和管理连接。
  • 管理共享和用户特定令牌的令牌生命周期。
  • 使用行业标准加密级别来安全存储令牌。
  • 授予权限和基于角色的访问权限,以管理和使用自动化中的 OAuth 连接。

OAuth 工作流示例: 以下示例描述了如何配置、创建和使用 OAuth 连接:

  1. 配置企业应用程序
  2. 创建 OAuth 连接
  3. 使用 OAuth 连接

显示 OAuth 连接工作流的图片

角色和职责: 管理员执行以下任务:
  1. 为企业级 SaaS 应用程序创建连接。
  2. 输入身份验证详细信息,例如:客户端 ID、客户端密钥、授权 URL 等。
  3. (可选)保存登录凭据并测试连接。
  4. 邀请角色使用此连接或进行无人值守的 Bot Runners 身份验证。
  5. 保存并管理连接。

请参阅:创建 OAuth 连接

专业开发人员或普通开发人员执行以下任务:
注: 要成功构建和执行 API bot,专业开发人员或普通开发人员需要对企业应用程序进行身份验证,除非管理员已保存了开发人员(用户)使用连接的登录凭据。
  1. 创建 API TaskTask Bot
  2. 为软件包添加身份验证操作。
  3. 选择身份验证类型(Control Room OAuth 连接)、连接名称和企业应用程序信息。

请参阅:使用 OAuth 连接

OAuth 令牌

OAuth 提供以下令牌类型:

访问令牌
用于访问受保护资源的凭据是一长串字符
刷新令牌
一种长期有效的特殊令牌,用于在现有访问令牌过期时获取新的访问令牌。 刷新令牌提供了一个短期有效的访问令牌,而不是每次需要新的访问令牌时都从用户那里收集凭据。 Control Room 使用刷新令牌从授权服务器 (AS) 获取新的访问令牌。

在使用 OAuth 时,访问令牌和刷新令牌会在称为访问令牌响应的令牌交换过程中在同一响应中返回。

Control Room 中的 OAuth 令牌

Control Room 中使用了以下类型的令牌:
  • 共享: 共享令牌类型通常用于运行无人值守的自动化,在这种情况下不需要用户身份验证或同意。 要在 Control Room 中配置和使用此令牌类型,您必须配置以下选项:
    1. 确保您拥有管理连接,以创建 OAuth 连接。
    2. 管理 > OAuth 连接部分,在创建连接时需要在测试连接并保存凭据屏幕中选择保存登录凭据选项,以便生成共享令牌。 请参阅 创建 OAuth 连接共享令牌连接
    3. 当用户在其 bots 中使用此连接时,必须在选择连接选项中选择共享令牌类型。 请参阅 使用 OAuth 连接
  • 用户专用: 用户特定的令牌类型通常用于运行需要用户身份验证或同意的有人值守自动化。 要在 Control Room 中配置和使用此令牌类型,您必须配置以下选项:
    1. 确保您拥有管理连接,以创建 OAuth 连接。
    2. 管理 > OAuth 连接部分,通过在邀请角色屏幕中选择适当的角色来邀请这些角色使用连接。 请参阅 创建 OAuth 连接

      角色中的用户如果订阅了事件通知,就会收到关于指定连接的通知。 请参阅 通知

    3. bots 中使用用户特定连接的用户必须在我的设置 > OAuth 连接部分中对连接进行身份验证,然后才能使用该连接。 请参阅 验证用户特定的 OAuth 连接
    4. 用户在其自动化中使用此连接时,必须在选择连接选项中选择用户专用令牌类型。 请参阅 使用 OAuth 连接

OAuthControl Room 集成的好处

当您将 OAuthControl Room 集成时,您:

  • 为自动化验证和授权企业应用程序提供安全、标准的模型。
  • 无需在运行时手动输入凭据或在自动化过程中对凭据进行硬编码。
  • 通过在访问令牌过期之前获取它们来确保访问令牌始终有效且在运行时可用于自动化;从而无需用户经过身份验证过程即可获取它们。
  • 避免为每个使用 OAuth 连接的自动化配置 OAuth 参数的重复任务。 在自动化中使用企业应用程序提供商类型引用这些连接。

令牌生命周期管理

所有访问令牌的过期时间由授权服务器 (AS) 决定。 令牌通过令牌刷新机制进行刷新,以延长令牌的有效期(通过颁发新令牌)。 通过集中化的方法,Control Room 管理令牌生命周期,并在 bot 执行之前验证每个令牌。

注: 如果令牌处于过期状态,Bot 会触发连接操作,检索新的令牌并将状态更新为活动