Azure - 使 API 应用程序可用于逻辑应用程序

Posted

技术标签:

【中文标题】Azure - 使 API 应用程序可用于逻辑应用程序【英文标题】:Azure - Making an API App available to a Logic App 【发布时间】:2016-10-17 04:40:27 【问题描述】:

我创建了一个带有 swagger 接口的 Web 应用程序 API,我已将其作为 API 应用程序部署到 Azure。

创建逻辑应用程序时,我可以找到我的 API 应用程序,但每当我尝试使用它时,都会收到以下错误:

无法获取 swagger。确保您在端点上启用了 CORS 并且正在调用 HTTPS 端点。

我在 API 应用程序中使用 API 定义的默认 https url:

https://microsoft-SOME-LONG-MS-INTERNAL-ID.azurewebsites.net/swagger/docs/v1

Swagger 文档已通过 Swashbuckle 在我的 C# Web API 应用程序中提供。

对于 CORS,我设置了一个 * 项。

这似乎不足以让逻辑应用程序访问 API 应用程序然后我为 API 应用程序配置身份验证/授权以使用 Azure Active Directory (express),创建一个 AD Azure 应用程序。

我相信问题在于配置安全性,这对我来说在 Azure 中是全新的。我想让 API 应用程序无法从外部访问,但可用于我的 Azure 订阅中的 Web 应用程序和逻辑应用程序。

我没有向 ASP.NET Web 应用程序本身添加任何身份验证机制,因为我认为 Web 应用程序实际上会位于 Azure 上的专用网络中。也许这是一个错误的假设,我需要添加身份验证以允许 Azure AD 工作?

任何指针/建议?

【问题讨论】:

您使用的是哪个 logicapp 版本? @TusharJ - 逻辑应用直接在门户中创建。我添加了一个新的“逻辑应用程序(预览)”项目。在属性中它说类型是“Microsoft.Logic/workflows”。 【参考方案1】:

原来我需要更新 Azure SDK for Visual Studio。我有一个旧版本正在部署一个预览 Api 应用程序,这导致部署的是“Api 应用程序主机”类型而不是“API 应用程序”类型。

更新后一切正常,我找到了一些用于保护 API 应用程序并使其在逻辑应用程序中可用的文档 - https://azure.microsoft.com/en-us/documentation/articles/app-service-logic-custom-hosted-api/

【讨论】:

很好,您的问题已解决,这也是我的猜测,因此我正在询问它的版本。通常版本将类似于“版本 2015-08-01-preview”,您也可以在代码视图中找到。

以上是关于Azure - 使 API 应用程序可用于逻辑应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使 azure 网站仅可用于其他 azure 网站

Azure API管理与逻辑功能

用于连接到虚拟机并运行 azcopy 的 Azure 逻辑应用

Azure 为连接到 CosmosDB 的标准逻辑应用生成 URL

使 WordPress 用户元数据可用于 Rest-API

对 Azure 应用服务的逻辑应用身份验证