在azure logic app中,我收到以下错误
{
"error": {
"code": "DirectApiAuthorizationRequired",
"message": "The request must be authenticated only by Shared Access scheme."
}
}
但据我所知,授权的SAS令牌将附加到网址,因此无需通过任何授权。
但我无法解决上述问题。
答案 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."
}
}
似乎有两种删除标头的方法: *使用APIM(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/.............."