Control Room 管理员可以为用户创建 OAuth 连接,以便在 packages 的身份验证操作中使用这些连接,而无需输入任何身份验证详细信息。

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

先决条件

  • 如果 Control Room 服务器位于代理之后并且外部连接必须通过代理,则请按照 配置转发代理设置 中所述配置转发代理设置。
  • 确保您使用的用户角色已为 OAuth 连接功能启用了管理连接权限。 请参阅 角色的功能权限
  • 如果您要添加多个范围,请确保使用逗号分隔这些范围。

    示例:api,refresh_token,offline_access

  • 确保您已配置企业应用程序,并记下客户端 ID、客户端密钥、授权 URL、令牌 URL 和范围。 请参阅 配置企业应用程序
    注:
    • 请考虑上述先决条件以避免连接错误。
    • 配置 OAuth 时,范围字段是可选的。 请咨询身份提供商 (IDP) 以确定所需的范围。
    • 虽然下表列出了通过认证的应用程序,但您可以通过将提供程序类型选择为自定义,使用管理 > OAuth 连接 > 创建连接来配置您的企业应用程序。
    • 我们建议您使用配置了较长过期时间的刷新令牌。 请参阅 使用 AuthConfig App 启用 OAuth2 服务

OAuth 的关键组件示例

企业应用程序 授权 URL 令牌 URL 范围
Apigee https://accounts.google.com/o/oauth2/auth?prompt=consent&access_type=offline https://accounts.google.com/o/oauth2/token https://www.googleapis.com/auth/cloud-platform
Genesys https://login.<yourinstance>.pure.cloud/oauth/authorize https://login.<yourinstance>.pure.cloud/oauth/token 不需要
Google Workspace(日历、云端硬盘、表格 和 Gmail https://accounts.google.com/o/oauth2/auth?prompt=consent&access_type=offline https://oauth2.googleapis.com/token
  • Google 表格:https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/spreadsheets
  • Google 云端硬盘:https://www.googleapis.com/auth/drive
  • Google 日历:https://www.googleapis.com/auth/calendar
  • Gmail:https://developers.google.com/identity/protocols/oauth2/scopes#gmail

    https://mail.google.com/,https://www.googleapis.com/auth/gmail.readonly,https://www.googleapis.com/auth/gmail.send

Jira https://auth.atlassian.com/authorize https://auth.atlassian.com/oauth/token offline_access write:jira-work,read:jira-user,manage:jira-webhook,read:jira-work
Microsoft Entra https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token offline_access,openid,https://graph.microsoft.com/.default
Microsoft 365 Outlook https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token 授权码流程:offline_access, openid, https://graph.microsoft.com/.default
Salesforce https://<yourinstance>.salesforce.com/services/oauth2/authorize https://<yourinstance>.salesforce.com/services/oauth2/token api,refresh_token,offline_access
ServiceNow https://<yourinstance>.service-now.com/oauth_auth.do https://<yourinstance>.service-now.com/oauth_token.do 不需要
SharePoint https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token https://<domain-name>/AllSites.Manage,offline_access,openid
注: 仅当您的应用程序需要 ID 令牌中的 sub 声明来识别最终用户时,才需要 OpenID 范围。 否则,此范围是可选的。

过程

  1. Control Room 中,导航到 管理 > OAuth 连接
  2. 单击创建连接
  3. 在打开的连接设置屏幕中,选择提供程序类型
    注: 在企业应用程序配置设置中,使用回调 URL 连接到 Control Room
  4. 输入一个唯一的连接名称,以识别该连接。
  5. 可选: 输入连接的描述
    显示 OAuth 连接设置页面的图像
  6. 单击下一步
    将弹出身份验证详细信息屏幕。
  7. 选择授权类型。 请参阅 OAuth 授权码流程OAuth 客户端凭据流程
    注: 如果您正在为 Google Cloud Platform (GCP) 账户进行配置,请选择授权码流程,因为目前不支持使用带 PKCE 的授权码流程Control Room 管理的 OAuth 连接。
  8. 输入提供程序为您的账户提供的客户端 ID
  9. 输入提供程序为您的账户提供的客户端密钥
    注:
    • 在测试或创建连接后,客户端密钥字段将不会在用户界面中显示,但后端服务将继续使用存储的值。 这是预期的行为。
    • 在输入值时,客户端密钥字段会被隐藏,类似于密码字段。 这通过防止密钥以明文形式可见来增强安全性。
  10. 输入用于获取您账户授权码的授权 URL
    注: 对于 Apigee 或 Google Cloud Platform (GCP) 账户,您必须在授权 URL 后附加 &access_type=offline。 例如:https://accounts.google.com/o/oauth2/v2/auth?prompt=consent&access_type=offline
  11. 输入用于将授权码交换为访问令牌的令牌 URL
  12. 可选: 输入范围

    令牌过期时间可以由身份提供者设置。 如果令牌过期,Bot 会根据 Control Room 中的详细信息,在触发时使用 offline_access 范围获取新的有效令牌。 请参阅 配置 Control Room 中的 OAuth 连接

    显示 OAuth 身份验证详细信息页面的图像
    此信息用作访问令牌中的声明(有关用户的信息),并转发到资源服务器以限制访问。
  13. 单击下一步
    将弹出测试连接并保存凭据屏幕。
  14. 可选: 选择保存登录凭据
    注: 仅当您想要生成共享令牌以允许用户使用此连接,而无需提供用户身份验证和同意时,才使用此选项。 选择此选项后,使用此连接时必须选择共享令牌类型选项。 请参阅 OAuth 令牌
  15. 可选: 单击保存更改并测试连接
    显示 OAuth 测试连接和保存凭据页面的图像
    注: 在您单击保存更改并测试连接选项后,如果连接成功,下一步按钮将被禁用。 单击返回按钮,再次输入客户端密钥,然后单击下一步。 除非您对先前提供的身份验证详细信息进行了更改,否则无需再次测试连接。
  16. 单击下一步
    将显示邀请角色屏幕。
  17. 选择您想邀请使用此连接的角色。 只有受邀角色才能在机器人中使用该令牌,无论是私有还是共享。显示 OAuth 邀请角色页面的图像

    如果机器人使用 OAuth 连接,则必须执行邀请角色操作。 如果外部服务将使用 OAuth 连接,则此操作是可选的。

    注: 仅自定义角色显示在可用角色列表中。
  18. 单击创建连接。 已创建OAuth连接。

以下视频演示了如何创建 OAuth 连接:

后续步骤

使用 OAuth 连接