Запросы к вашему диалоговому вебхуку подписываются токеном авторизации в заголовке в следующем формате:
google-assistant-signature: "<JWT token>"
Токен аутентификации имеет формат JSON Web Token , где значение поля аудитории равно идентификатору проекта консоли Actions для приложения. Чтобы проверить подпись, распакуйте токен и убедитесь, что поле аудитории соответствует идентификатору проекта для приложения. Это можно сделать с помощью библиотеки учетных данных, совместимой с JWT, например клиента Google API Node.js , или напрямую с помощью параметра ConversationOptions#verification
Действия в клиентской библиотеке Google Node.js, как показано в следующем фрагменте кода:
const {conversation} = require('@assistant/conversation'); const app = conversation({verification: 'nodejs-cloud-test-project-1234'}); // HTTP Code 403 will be thrown by default on verification error per request.
Формат JWT будет иметь следующий формат:
{ "iss": "https://accounts.google.com" "aud": [project-id], "nbf": number, "iat": number, "exp": number, "jti": string }