As solicitações para o webhook de conversação 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 inglês).
em que o valor do campo de público-alvo é igual ao ID do projeto do Console do Actions para
o app. Para verificar a assinatura, desempacote o token e verifique se o campo de público
corresponde ao ID do projeto para o aplicativo. É possível fazer isso com uma instância
biblioteca de credenciais, como o cliente Node.js de APIs do Google,
ou diretamente com a biblioteca de cliente Node.js do Actions on Google
ConversationOptions#verification
, conforme mostrado no snippet de código a seguir:
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 terá este formato:
{ "iss": "https://accounts.google.com" "aud": [project-id], "nbf": number, "iat": number, "exp": number, "jti": string }