身份验证选项
在 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/oauth 或 https://login.salesforce.com/services/oauth2/authorize 。 |
令牌 URL | 用于在用户授权应用后提取令牌的 URL,例如:https://graph.facebook.com/v9.0/oauth/access_token 或 https://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 的具体信息。