在Azure逻辑应用程序中,我得到DirectApiAuthorizationRequired

时间:2018-05-07 12:14:10

标签: azure azure-logic-apps

在azure logic app中,我收到以下错误

{
    "error": {
        "code": "DirectApiAuthorizationRequired",
        "message": "The request must be authenticated only by Shared Access scheme."
    }
}

但据我所知,授权的SAS令牌将附加到网址,因此无需通过任何授权。

但我无法解决上述问题。

4 个答案:

答案 0 :(得分:0)

您需要复制HTTP触发器生成的完整URL,该URL包含API的SAS令牌作为其自身URL中的参数。

否则你不能将auth标头发送到你的HTTP触发器

答案 1 :(得分:0)

我有完全一样的问题。发送到我的逻辑应用程序的应用程序设置以下标头(很遗憾,我无法修改此应用程序)

授权基本Og ==

尽管我使用的是包含SAS令牌的HTTP触发URL,但我仍返回以下

{
    "error": {
        "code": "DirectApiAuthorizationRequired",
        "message": "The request must be authenticated only by Shared Access scheme."
    }
}

似乎有两种删除标头的方法: *使用API​​M(API管理器) *使用功能代理

https://devkimchi.com/2017/12/07/securing-sas-token-from-azure-logic-apps/ https://www.bruttin.com/2017/07/07/secure-serverless-architecture.html

两者之间的选择取决于负载和成本[如果仅用于删除标题,功能代理似乎是最实惠的]

答案 2 :(得分:0)

当通过API管理器公开的Http触发逻辑应用程序需要在调用后端之前删除“授权”标头时 可以为此使用API​​管理器策略

答案 3 :(得分:0)

还要确保您在双引号之间使用网址。

curl "https://production.centralus.logic.azure.com/.............."