身份验证选项

已完成

在 Azure 逻辑应用、Power Automate 或者 Power Apps 中使用任何连接器之前,用户需要对网络服务进行身份验证来创建连接。 创建自定义连接器时,可以定义使用连接器的人员进行身份验证的方式。 可以在联机连接器向导的安全选项卡上选择身份验证类型。 其他需要提供的信息取决于所选的身份验证方案。

不进行身份验证

选择不进行身份验证选项后,无需提供其他信息。 用户无需进行身份验证就能创建与自定义连接器的连接,且任何匿名用户都可以使用该连接器。 仅当 API 允许匿名使用时,才可使用本选项。

基本身份验证

最简单的身份验证类型是基本身份验证,在这种方案中,用户提供用户名和密码来创建连接。

您在参数标签列下输入的值不是实际用户名或密码;它们是用户在创建连接时将看到的字段的标签。

在前面的示例中,系统将提示用户输入用户密码来创建连接。 标签应与 API 使用的名称匹配,以向正在创建连接的用户说明建立连接要使用的值。

使用基本身份验证的任何服务连接都必须使用安全的 HTTPS 协议以避免通过网络发送未加密的凭据。

API 密钥身份验证

API 密钥是 Web 服务常用的身份验证方案。 例如,Microsoft Azure Functions 的默认模板中包含代码参数。

确保定义以下值:

  • 参数标签 - 创建新连接时的用户提示标签。

  • 参数名称 - 每个服务请求期间包含密钥值的参数的名称。

  • 参数位置 - 在调用基础服务时,为创建者提供在请求标头或查询字符串中发送 API 密钥的选项。

在上一个示例中,创建新连接的用户将看到以下提示。

提供的值将作为自定义 X-API-Key 请求标头发送到基础服务。

默认 Azure Functions 模板可以使用代码作为参数名称,然后通过将参数位置设置为查询以将其作为查询的一部分发送,这样服务 URL 将与以下内容相似:

https://functionurl.azurewebsites.net?code=user-supplied-code/

基本身份验证类似,建议仅将 API 密钥身份验证方案与 HTTPS 协议一起使用,以避免发送未加密的密钥。

OAuth 2.0 身份验证

OAuth 2.0 身份验证方案仅适用于在线连接器。 除了为通用 OAuth 2.0 提供支持之外,平台还提供特定服务的实现,包括 Microsoft Entra ID、GitHub、Microsoft 帐户等。 选中预构建的标识提供者模板时,会使用特定于提供者的值填充 OAuth 2.0 所需的许多字段,从而减少您需要提供的内容。

其他要收集的信息取决于标识提供者。 通用 OAuth 2.0 提供者需要以下参数。

参数 描述
客户端 ID 目标系统中的 OAuth 应用标识符,注册应用时手动输入或由提供者生成。
客户端密码 与 OAuth 应用关联的密钥,由提供者生成。 大多数提供者还可以撤消现有密钥并签发新密钥。
授权 URL 用于登录用户并授权应用程序的 URL,例如:https://www.facebook.com/v9.0/dialog/oauthhttps://login.salesforce.com/services/oauth2/authorize
令牌 URL 用于在用户授权应用后提取令牌的 URL,例如:https://graph.facebook.com/v9.0/oauth/access_tokenhttps://mycompany.salesforce.com/mycompany.salesforce.com
刷新 URL 用于在原始令牌过期后使用刷新令牌提取新令牌的 URL。 对于大多数服务,本 URL 通常与令牌 URL 相同。
范围 表示从用户寻求的权限的字符串。 将本参数留空或参考提供者文档以指定应用所需的权限范围。

确保将连接器作为客户端应用程序向标识提供者注册;特定的注册详细信息取决于提供者,并由标识提供者记录。 例如,要使用 Facebook 进行身份验证,创建者需使用其开发工具创建 Facebook 应用。 由于客户端 ID客户端密钥参数是 OAuth 2.0 规范的一部分,因此它们由所有 OAuth 2.0 标识提供者作为应用注册的一部分提供。 应用注册中需包含的一个值是重定向 URL。 该值在连接器配置中初始为空,但在配置保存后变为可用。 然后,可以在向标识提供者注册连接器时复制并保存它。

大多数特定提供者仅需要客户端 ID、客户端密钥和可选范围,因为所有 URL 都是针对特定服务预定义的。

在发布连接器并提供给用户之后,用户需要在创建连接的过程中输入其凭据来登录服务。 应用程序将使用这些凭据获取授权令牌。 对于每个请求,本授权令牌将通过标准授权标头发送到服务。

授权令牌的有效期较短,连接器运行时将使用刷新流程续订令牌,这样连接器的用户便无需刷新令牌。

Windows 身份验证

Windows 身份验证选项仅适用于使用本地数据网关(即在常规选项卡上选中通过本地数据网关连接复选框)的连接。Windows 身份验证方案无需提供其他信息。

创建新连接后,用户需要为服务提供 Windows 凭据,然后选择其中一个已安装的本地网关。

平台使用的 OpenAPI 规范包括 API 密钥基本身份验证定义。 也可以使用 Swagger 编辑器直接联机修改它们。 其他身份验证方案将身份验证信息单独存储为连接器的扩展属性。 虽然这些信息无法联机直接进行源编辑,但可以使用 paconn 工具对其进行修改。 命令行接口 (CLI) 允许对需要自动部署的连接器部署流程进行脚本化。

自定义连接器支持多种身份验证方案来满足允许访问 REST API 服务的要求。 在 Azure AD 环境中部署 API 服务并为其提供保护后,连接器的基础结构将发挥其他优势。 下一个单元将详细介绍 Azure AD 的具体信息。