As solicitações para o webhook de conversa são assinadas com um token de autorização no cabeçalho, usando o seguinte formato:
google-assistant-signature: "<JWT token>"
O token de autenticação segue o formato JSON Web Token,
em que o valor do campo de público-alvo é igual ao ID do projeto do Console do Actions para
o aplicativo. Para verificar a assinatura, descompacte o token e verifique se o campo de público-alvo
corresponde ao ID do projeto do aplicativo. É possível fazer isso com uma biblioteca de credenciais
compatível com JWT, como o cliente Node.js das APIs do Google,
ou usando a biblioteca de cliente Node.js do Actions on Google, como mostrado abaixo:
ConversationOptions#verification
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.
O formato do JWT é este:
{ "iss": "https://accounts.google.com" "aud": [project-id], "nbf": number, "iat": number, "exp": number, "jti": string }