2017-01-12 3 views
3

Я хотел бы иметь возможность вызвать функцию Azure без указания ключа. documentation seems to indicate that setting the 'authLevel' to anonymous accomplishes this:Настройка Azure Webhook authLevel для анонимного

authLevel : This determines what keys, if any, need to be present on the request in order to invoke the function. See Working with keys below. The value can be one of the following:

  • anonymous: No API key is required.
  • function: A function-specific API key is required. This is the default value if none is provided.
  • admin : The master key is required.

Мои связывание:

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

Тем не менее, когда я посылаю запрос к функции без ключа я получаю сообщение об ошибке:

The WebHook verification request must contain a 'code' query parameter.

Что я с видом ?

+0

Из того же документа, на который вы ссылаетесь, имеется еще одна ссылка для «Работа с ключами»: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http- webhook # keys Выделите «Ключи и веб-камеры». В нем говорится, что вам нужно будет предоставить ключ. –

+0

Спасибо, я должен был прислушаться к тексту в этом разделе: «Каждый механизм делает, однако полагается на ключ». Я был немного смущен между этим и документацией для webHookType. – chris

ответ

4

Крис, authLevel не относится к WebHooks как аутентификации там полностью обрабатывается приемником WebHook выбора (например, вялый, Generic JSON, Salesforce и т.д.), вы заметите, что опция отключена в пользовательском интерфейсе ,

Я открыл this issue, чтобы улучшить документацию с этой информацией.

Если вам нужен анонимный WebHook для получения полезной нагрузки JSON, альтернатива - использовать функцию HTTP Trigger, установить authLevel анонимным и либо обработать запрос напрямую, либо привязать к строке, JObject или POCO.

+0

Спасибо. Я заметил, что в свойстве webHookType явно упоминается authLevel для github и slack. Он не упоминался для genericJson, который думал, что он может быть установлен для этого типа. – chris

+0

@Fabio - это WebHooks, реализованные с функциями Azure под обложками? –

+0

Мне может потребоваться некоторое разъяснение по вопросу, но реализация WebHooks в Azure Functions зависит от функции ASP.NET WebHooks, поэтому мы используем их приемники и наследуем функциональность, которую они раскрывают. Все это размещено и управляется функциями Azure. Отвечает ли это на вопрос? –