integration-service
latest
false
Integration Service 用户指南
Automation CloudAutomation Cloud Public Sector
Last updated 2024年8月6日

配置身份验证

创建连接器的一大关键是识别并正确集成其身份验证设置。 如果操作正确,一旦连接器发布到集成服务目录,用户就可以创建与该连接器的连接,就像使用目录中的任何其他连接器一样。

所有连接器都重用身份验证框架,以便可以用统一的方法处理完整的身份验证流程和连接管理。

身份验证的最终结果是,此连接器中的任何后续请求都使用每次 API 调用的身份验证流程的结果。 例如,系统会在每次 API 调用时在标头中发送持有者令牌:


docs image

连接器生成器通过简单的配置而不是大量的编码来支持以下行业标准:

  • OAuth 2.0 授权代码
  • 使用 PKCE 的 OAuth 2.0 授权代码
  • OAuth 2.0 客户端凭据
  • 基本
  • API 密钥
  • 个人访问令牌 (PAT)
  • 自定义
  • 无身份验证

由于连接器生成器与 Integration Service 框架相关联,因此定义身份验证设置现在只是一个配置问题,而不是一个复杂的过程。 这意味着该框架将处理令牌交换、刷新和任何其他此类任务。 “连接器生成器”默认使用 OAuth 2.0 授权代码,因为这是处理身份验证的最常见的供应商方法。

身份验证页面由三个组件组成:

  1. 身份验证类型,它驱动身份验证框架如何反映 PKCE 的附加验证、完整令牌交换(用于 OAuth)等。 此外,它还会使用下方的属性重新配置表格,以便列出所需的属性。
    docs image

  2. 可以使用自定义参数和/或编辑现有参数来修改属性表。 根据下拉菜单中的身份验证类型选择,某些字段可能是必填字段并以红色指定。
    注意:更改此表或身份验证类型中的这些属性会使您可能已在“连接器生成器”中创建的连接失效。 在设计期间只有一个连接,需要根据最新的身份验证配置进行设置和测试。
    如果更新身份验证设置,现有连接将失败。 您必须创建新连接并更新流程以使用新连接。
  3. 系统会根据您提供的配置自动生成“身份验证”界面。 配置期间,您在连接器生成器中看到的正是活动包的用户将看到的最终结果。
    docs image

身份验证表配置

无论身份验证类型如何,加载的属性表都会标识两项:

  1. 用户在身份验证屏幕中看到的内容。
  2. 身份验证框架如何处理身份验证。
  • 表格中的每个行项目都代表一个可以由用户覆盖或不可以由用户覆盖的属性。 要在屏幕上显示给定字段,需要将其标记为 “询问用户 - 是”
  • 每个行项目都有一个名称和一个显示名称名称是供应商对技术设置的预期,后者对于如何在身份验证屏幕上要求用户输入此名称非常重要。
  • 每个行项目都有一个操作菜单,允许更详细地编辑属性。 您可以在此处声明需要将给定属性作为标头发送。 请参阅API 密钥部分的更多示例。

身份验证类型

在“身份验证” 选项卡中,配置连接器的身份验证类型。 支持以下选项:

  • OAuth 2.0 授权代码
  • 使用 PKCE 的 OAuth 2.0 授权代码
  • OAuth 2.0 客户端凭据
  • 基本
  • API 密钥
  • 个人访问令牌 (PAT)
  • 自定义
  • 无身份验证
备注:

设置身份验证时,您将配置使用您的连接器的任何人需要进行身份验证的方式。 这是指构建连接器时的您,但也可能是最终使用您创建的其他人。

OAuth 2.0 授权代码

概述

OAuth 2.0 授权代码是最常用的身份验证协议之一。

身份验证字段

URL 字段(例如“授权 URL”和“令牌 URL”)不会从连接器继承基本 URL,而是需要完整的 URL。 这考虑到了提供程序使用与 API 的其余部分不同的基本 URL 进行身份验证的用例。

必填字段

注意:客户端 ID 和客户端密码通常由 API 提供程序生成。 请参考提供程序的文档,了解如何生成这些值以进行身份验证。
字段描述
客户端 ID提供程序生成的应用程序标识符。
客户端密码提供程序生成的应用程序密钥。
授权 URL用于重定向用户以完成身份验证流程的 URL。 返回授权代码。
令牌 URLUiPath 用于用授权代码交换令牌的 URL。

附加字段

字段描述
范围为连接器添加必要的作用域,并用空格分隔每个作用域(即read write openid )。
刷新令牌 URL如果也返回了刷新令牌,则需要生成新的访问令牌。 这通常与用于令牌 URL的 URL 相同。
令牌撤销 URL撤销访问令牌所需的 URL。
刷新间隔访问令牌的有效期限。 默认值为 3600 秒,即 60 分钟。
连接名称身份验证完成后,UiPath 中的连接名称。
基本标头指示是否将客户端 ID 和密码作为Authorization标头中 Base64 编码的值发送。 布尔值 (true/false);默认值为 true。

工作方式

为连接器添加或配置所有字段值后, UiPath™会自动指导您完成必要步骤以完成身份验证流程。 UiPath 支持该协议,并且如果提供了刷新令牌 URI,则 UiPath 会根据需要在后台自动重新生成访问令牌。 只要基础刷新令牌有效,这就会使连接保持活动状态并正常运行。

授权后请求格式

完成初始配置并建立连接后,针对该连接器的所有请求都会自动包含授权标头。
curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {yourToken}'curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {yourToken}'

使用 PKCE 的 OAuth 2.0 授权代码

概述

带 PKCE 的 OAuth 2.0 身份验证代码(代码交换证明密钥)是一种常见的身份验证协议,主要由单页应用程序、无法安全存储客户端密码的应用程序或无法确保安全检索授权代码的应用程序使用。

身份验证字段

URL 字段(例如“授权 URL”和“令牌 URL”)不会从连接器继承基本 URL,而是需要完整的 URL。 这考虑到了提供程序使用与 API 的其余部分不同的基本 URL 进行身份验证的用例。

必填字段

注意:客户端 ID 和客户端密码通常由 API 提供程序生成。 请参考提供程序的文档,了解如何生成这些值以进行身份验证。
字段描述
客户端 ID提供程序生成的应用程序标识符。
客户端密码提供程序生成的应用程序密钥。
授权 URL用于重定向用户以完成身份验证流程的 URL。 返回授权代码。
令牌 URLUiPath 用于用授权代码交换令牌的 URL。

附加字段

字段描述
范围为连接器添加必要的作用域,并用空格分隔每个作用域(即read write openid )。
刷新令牌 URL如果也返回了刷新令牌,则需要生成新的访问令牌。 这通常与用于令牌 URL的 URL 相同。
OAuth2 PKCE 代码质询方法用于生成质询的方法。 可以是S256plain (推荐值: S256 )。
令牌撤销 URL撤销访问令牌所需的 URL。
刷新间隔访问令牌的有效期限。 默认值为 3600 秒,即 60 分钟。
连接名称身份验证完成后,UiPath 中的连接名称。
基本标头指示是否将客户端 ID 和密码作为Authorization标头中 Base64 编码的值发送。 布尔值 (true/false);默认值为 true。

工作方式

为连接器添加或配置所有字段值后, UiPath™会自动为您完成必要的步骤以完成身份验证流程。 UiPath 支持该协议,并且如果提供了刷新令牌 URI,则 UiPath 会根据需要在后台自动重新生成访问令牌。 只要基础刷新令牌有效,这就会使连接保持活动状态并正常运行。

UiPath 提供基于 PKCE 的授权所需的质询字符串,只需要 OAuth2 PKCE 代码质询方法。

授权后请求格式

完成初始配置并建立连接后,针对该连接器的所有请求都会自动包含授权标头。
curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'Authorization: Bearer {yourToken}',curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'Authorization: Bearer {yourToken}',

OAuth 2.0 客户端凭据

概述

OAuth 2.0 客户端凭据是一种返回访问令牌的方法,该令牌使用应用程序特定的凭据授予对受保护资源的访问权限,这些凭据会授予必要的权限。 客户端凭据通常用于机对机 (M2M) 应用程序,通常并不代表用户权限。

身份验证字段

URL 字段(例如“令牌 URL”)不会从连接器继承基本 URL,而是需要完整的 URL。 这考虑到了提供程序使用与 API 的其余部分不同的基本 URL 进行身份验证的用例。

必填字段

注意:客户端 ID 和客户端密码通常由 API 提供程序生成。 请参考提供程序的文档,了解如何生成这些值以进行身份验证。
字段描述
客户端 ID提供程序生成的应用程序标识符。
客户端密码提供程序生成的应用程序密钥。
令牌 URL用于检索访问令牌的 URL。

附加字段

字段描述
范围为连接器添加必要的作用域,并用空格分隔每个作用域(即read write openid )。
刷新间隔访问令牌的有效期限。 默认值为 3600 秒,即 60 分钟。
连接名称身份验证完成后,UiPath 中的连接名称。
基本标头指示是否将客户端 ID 和密码作为Authorization标头中 Base64 编码的值发送。 布尔值 (true/false);默认值为 true。

工作方式

为连接器添加或配置所有字段值后, UiPath™ 会生成授权请求,并传递必要的凭据以生成访问令牌。 由于 OAuth 2.0 客户端凭据适用于 M2M 应用程序,因此您只会看到初始 UiPath 授权页面,不会有进一步的重定向。

一旦检测到成功的授权流程,只要提供的凭据有效,UiPath 就会保持连接。

授权后请求格式

完成初始配置并建立连接后,针对该连接器的所有请求都会自动包含授权标头。
curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'Authorization: Bearer {yourToken}',curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'Authorization: Bearer {yourToken}',

基本身份验证

概述

基本身份验证类型允许您定义用户名和密码,然后对用户名和密码进行 Base64 编码并以Basic为前缀。 用户名和密码可修改,并在所有连接器请求中用作“授权”标头的值。

身份验证字段

字段描述
用户名由两部分组成的冒号中的第一个值和 Base64 编码的Authorization标头值。
密码由两部分组成的冒号和 Base64 编码Authorization标头值中的第二个值。
连接名称身份验证完成后,UiPath 中的连接名称。

工作方式

当提供用户名和密码值时, UiPath™ 会组合这些值并用冒号分隔这些值,对它们进行 Base64 编码,并为Basic添加前缀以生成Authorization标头值(例如 Authorization: Basic base64(username:password) )。 系统会将此标头值作为身份验证方法传递到每个请求中。

授权后请求格式

完成初始配置并建立连接后,针对该连接器的所有请求都会自动包含授权标头。
curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'Authorization: Basic base64(username:password)'curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'Authorization: Basic base64(username:password)'

API 密钥

概述

一些提供商提供 API 密钥作为访问其 API 资源的身份验证形式。 在连接器生成器中,此身份验证类型会使用传递到连接器请求的'X-Acess-Token: <provider_api_key>'标头。

身份验证字段

字段描述
API 密钥从 API 提供程序生成的 API 密钥,用作所有连接器请求中的X-Access-Token标头的值。
连接名称身份验证完成后,UiPath 中的连接名称

工作方式

当您在“设置 - 身份验证” 中对“API 密钥” 参数使用提供程序生成的 API 密钥值时,对该连接器发出的每个请求都包含一个X-Access-Token标头,其中提供的 API 密钥作为标头值。

授权后请求格式

完成初始配置并建立连接后,系统会将X-Access-Token标头自动包含在针对该连接器的所有请求中。
curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'X-Access-Token: {yourtoken}'curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'X-Access-Token: {yourtoken}'

个人访问令牌

概述

一些提供程序提供不会过期的访问令牌,并使用Authorization: {access_token}标头模式对请求进行身份验证。 PAT 身份验证方法允许您提供必要的访问令牌并应用前面列出的标头,但如果访问令牌在任何时候过期,则不会维护访问令牌。

身份验证字段

字段描述
个人访问令牌提供程序生成的访问令牌,用作所有连接器请求的Authorization标头字段中的值。 字段默认为令牌添加前缀Bearer ,以适应常见的持有者身份验证模式。
连接名称身份验证完成后,UiPath 中的连接名称。

工作方式

当您在“设置”- 身份验证中将提供程序生成的 API 密钥值用于Personal Access 令牌参数时,针对该连接器的每个请求都包含一个X-Access-Token标头,其中提供的个人访问令牌作为标头值。

授权后请求格式

完成初始配置并建立连接后,系统会将Authorization标头自动包含在针对该连接器的所有请求中。
curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'Authorization: {personal_access_token}'curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'
  --header 'Authorization: {personal_access_token}'

自定义

概述

当供应商配置不遵循任何标准,但确实要求根据每个请求交换和发送身份验证详细信息时,应使用自定义身份验证。

身份验证字段

作为示例字段,自定义身份验证字段附带Authorization参数,但可以进行自定义以匹配 API 提供程序的身份验证模式。

从自定义身份验证添加到身份验证的任何参数都适用于连接器的请求。

注意:目前,“自定义身份验证”不允许您创建自定义身份验证流程。 它可用于自定义应用于连接器中请求的标准身份验证参数。

工作方式

添加到身份验证部分的参数将自动包含在任何连接器请求中。

无身份验证

无身份验证” 选项可从列表中快速选择内容,并从身份验证配置表中删除所有属性。

如何使用它

如果要连接的供应商应用程序无需登录即可使用,请使用此选项。 这可以是在线公共服务,也可以是在公司内部公开的 API。 它要求在任何请求中都不会发送标头来识别谁在调用 API。

发送请求时的结果
curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'curl --request GET \
  --url https://{baseUrl}/{resource} \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。