Диалоговое окно проверки выполнения запроса

Я пытаюсь проверить, что наша облачная функция выполнения запрашивается только Dialogflow.

Рекомендуемое решение - «Проверка запросов», но в нашем В этом случае мы используем Dialogflow, а не Actions SDK:

const {dialogflow} = require('actions-on-google');

const fulfillment = dialogflow({
    clientId: "clientIdDialogflow",
    debug: true,
    verification: "projectId"
});
fulfillment.intent("bienvenida",  (conv) => { commonsDialogController.wellcomeFunction(conv) });

...etc
  1. Можно ли использовать это для проверки запроса в Dialogflow или доступно только в Action SDK?
  2. Если в Dialogflow и это невозможно использовать, мы должны получить заголовок и обработать JWT, но в журналах заголовок авторизации отсутствует. Заголовки:

    Headers { "host": "URL.cloudfunctions.net", "user-agent": "Google-Dialogflow", "transfer-encoding": "chunked", "accept": "*/*", "accept-encoding": "gzip,deflate,br", "content-type": "application/json", "forwarded": "for=\"X.X.X.X\";proto=https", "function-execution-id": "7868dfgr656", "x-appengine-country": "ZZ", "x-appengine-default-version-hostname": "aaaaa-tp.appspot.com", "x-appengine-https": "on", "x-appengine-request-log-id": "id", "x-appengine-user-ip": "X.X.X.X", "x-cloud-trace-context": aaaaaa/aaaa=1", "x-forwarded-for": "X.X.X.X", "x-forwarded-proto": "https", "connection": "close" }
    

    Ошибка в ответе:

    { "status": 403, "body": { "error": "A verification header key was not found" }, "headers": { "content-type": "application/json;charset=utf-8" } }
    

person Noelia Martín Hernández    schedule 20.04.2020    source источник
comment
Чтобы лучше понять: у вас есть выполнение DialogFlow, которое должно вызывать Action SDK? И вы хотите применить безопасность (убедитесь, что вызывающий абонент - DialogFlow)?   -  person Beppe C    schedule 26.04.2020
comment
Да, но в моем исполнении мы используем диалог, а не Action SDK. Но мы хотим использовать эту функцию, включенную в Action SDK: developers.google. ru / assistant / разговорный / webhook /   -  person Noelia Martín Hernández    schedule 27.04.2020


Ответы (1)


ознакомьтесь с этим ответом на вопрос относительно Проверка диалогового окна.

Вы можете установить заголовки проверки в консоли Dialogflow и проверить их с помощью библиотеки выполнения следующим образом:

const app = dialogflow({
  verification: {
    HEADER_KEY: 'HEADER_VALUE',
  },
})

В консоли Dialogflow вы можете установить ключ и значение заголовка в FulfillmentWebhookHEADERS.

person Shuyang Chen    schedule 21.07.2020