将Azure Webhook authLevel设置为匿名

时间:2017-01-12 20:29:39

标签: azure azure-functions api-key

我希望能够在不指定密钥的情况下调用我的Azure功能。 documentation seems to indicate that setting the 'authLevel' to anonymous accomplishes this

  

authLevel:确定需要存在哪些密钥(如果有)   请求以调用该函数。请参阅使用密钥   下面。值可以是以下之一:

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

我的绑定是:

  "bindings": [
    {
      "type": "httpTrigger",
      "direction": "in",
      "authLevel": "anonymous",
      "webHookType": "genericJson",
      "name": "req"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ]

然而,当我在没有密钥的情况下向函数发送请求时,我收到错误:

  

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

我在俯瞰什么?

1 个答案:

答案 0 :(得分:5)

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

我已打开this issue以使用此信息增强文档。

如果您需要匿名WebHook来获取JSON有效负载,则可以使用HTTP Trigger函数,将authLevel设置为匿名并直接处理请求或绑定到字符串,JObject或POCO