Azure 逻辑应用的自定义身份验证提供程序

Custom authentication provider for Azure logic apps

我有一个现有的网络 API 使用 ASP.NET 网络 API 2 它有自己的基于令牌的身份验证使用 x-auth-token.

我想将 Azure 逻辑应用程序添加到这个现有的 API,但逻辑应用程序必须使用那个 API 进行身份验证。 Azure AD、Facebook、Google... 不是一个选项。

这可能吗?怎么样?

在这种情况下,您需要直接在操作的 header 和 属性 下指定 header。

    "Http": {
        "conditions": [],
        "inputs": {
            "headers": {
                "x-auth-token": "the auth token"
            },
            "method": "POST",
            "uri": "https://myapiendpoint.com/action"
        },
        "type": "Http"
    }

作为最佳实践,您可能希望将实际标记值指定为 'securestring' 类型的参数。您可以在此处找到有关安全参数的更多信息 https://msdn.microsoft.com/library/azure/mt643789.aspx

所以我所做的是在 ASP.NET 中创建一个 IOperationFilter (Swashbuckle),并在需要时将 x-auth-token 参数添加到 Swagger 导出。然后该参数在 Azure 中正确显示,并填写上一个身份验证操作的响应。