如何通过 oAuth2.0 对逻辑应用(标准)的调用进行身份验证?

问题描述 投票:0回答:1

我正在尝试使用手动触发器从 Azure API 管理调用逻辑应用程序(标准)工作流。 我想使用系统为 APIM 分配的托管标识(而不是使用 SAS)进行令牌身份验证。 我已将逻辑应用贡献者角色分配给 APIM 逻辑应用范围的托管标识。 我正在尝试使用 authentication-management-identity 策略来检索令牌,但我不知道 resource 应设置为什么来请求逻辑应用程序的正确范围。

我还尝试使用正确的权限在 Entra Id 中配置应用程序注册,以便我可以使用客户端凭据流来获取逻辑应用程序的令牌,但我不知道应用程序注册需要什么权限那。 我可以检索令牌,但它没有任何值得注意的声明,因为我没有提供范围。

我找到了大量有关如何将 oAuth2.0 与逻辑应用程序(消费)结合使用的信息,但我找不到与逻辑应用程序(标准)相关的任何信息。 我尝试应用我为逻辑应用程序(消耗)找到的信息,但我怀疑我需要在令牌调用中请求的范围是不同的。

此特定用例用于从 APIM 调用逻辑应用程序(标准),但我对有关如何从没有 SAS 的任何客户端使用 oAuth2.0 调用逻辑应用程序(标准)的任何信息感兴趣。

azure oauth-2.0 azure-active-directory azure-logic-app-standard azure-entra-id
1个回答
0
投票

为了从 APIM 调用标准逻辑应用程序,您需要将 Http 请求 URL 分成两部分,如本博客所示,因为目前仅消费逻辑应用程序支持直接导入。

在这种情况下,您应该在 APIM 中使用

https://afreeen-la-1.azurewebsites.net:443/api/test/triggers/When_a_HTTP_request_is_received/invoke?api-version=2022-05-01
,如下所示。

第 1 部分 - https://afreeen-la-1.azurewebsites.net:443/api/

enter image description here

第二部分 - 测试/触发/When_a_HTTP_request_is_received/invoke?api-version=2022-05-01

enter image description here

在 Microsoft Entra ID 中注册新应用程序或使用现有应用程序。

在上面创建的操作的入站部分添加给定的策略。

<policies>
    <inbound>
        <base />
        <authentication-managed-identity resource="{ClientId of the Entra App}" />
    </inbound>
</policies>

然后,导航到逻辑应用程序的身份验证刀片,并使用给定的详细信息添加身份提供商。

如果您不想指定客户端应用程序 ID,也可以选择 允许来自任何应用程序的请求选项。

enter image description here enter image description here enter image description here

按照这些步骤,我可以在不使用 SAS 的情况下调用 APIM 中的标准逻辑应用程序。

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.