首页 > 解决方案 > Azure Logic App Http Connector 是否有一种内置方式可以获取用于访问受 OIDC/OAuth2 保护的 API 的令牌?

问题描述

我们有一个带有 Http 连接器的逻辑应用程序,它需要通过 IdentityServer4 3.x 访问受 OAuth2 保护的 API

据我所知,没有可以通过客户端凭据获取令牌的选项或连接器

我意识到您实际上可以编写一个 Http 连接器来调用 /token 端点,但是使用一个函数可以更轻松地将客户端凭据存储在 keyvault、AAS 应用程序设置或 Azure DevOps 和转换中,您还可以使用内存缓存.

这个想法是创建一个函数,它使用客户端凭据获取令牌,然后使用 LA http 连接器使用它,并使用令牌进行 Http 调用。除非这是一个坏主意。

标签: azureoauth-2.0azure-functionsidentityserver4

解决方案


据我所知,没有可以通过客户端凭据获取令牌的选项或连接器

您可以参考以下步骤使用逻辑应用传递“承载”令牌。

1.您可以使用HttpConnector 发送 post 请求以通过Client Credential获取访问令牌。

2.一旦您的 HTTP 响应具有有效的令牌值,您将需要解析 JSON 数据以捕获该值。您可以从 HTTP 复制输出并将输出粘贴到Parse JSON触发器的相应架构输入中。这将允许逻辑应用将 JSON 解析为动态内容值,您可以在以后引用这些值。

在此处输入图像描述

HTTP3.使用您要调用的所需 API 端点创建一个新请求。此时,您需要向 HTTP 标头添加一些附加信息,以验证您的 API 请求。添加Authorization到http头。

在此处输入图像描述

更多细节,你可以参考这篇文章


推荐阅读