将Azure Webhook authLevel设置为匿名

chr*_*ris 3 azure api-key azure-functions

我希望能够调用我的Azure函数而不必指定键。该文档似乎表明将'authLevel'设置为匿名即可完成此操作

authLevel:它确定需要哪些键(如果有的话)出现在请求上才能调用该函数。请参阅下面的使用键。该值可以是以下之一:

  • 匿名:不需要API密钥。
  • 函数:需要特定于函数的API密钥。如果未提供,则为默认值。
  • admin:需要主密钥。

我的绑定是:

  "bindings": [
    {
      "type": "httpTrigger",
      "direction": "in",
      "authLevel": "anonymous",
      "webHookType": "genericJson",
      "name": "req"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ]
Run Code Online (Sandbox Code Playgroud)

但是,当我在没有键的情况下向函数发送请求时,会收到错误消息:

WebHook验证请求必须包含“代码”查询参数。

我在俯视什么?

Fab*_*nte 5

克里斯, authLevel不适用于WebHooks,因为身份验证完全由您选择的WebHook接收者(例如Slack,通用JSON,Salesforce等)完全处理,您会注意到该选项已在UI中被禁用。

我已打开此问题来增强此信息的文档。

如果您需要匿名WebHook来获取JSON负载,则替代方法是使用HTTP触发函数,将设置authLevel为匿名并直接处理请求或绑定到字符串,JObject或POCO。