אימות בקשות

בקשות ל-webhook של השיחה חתומות באמצעות אסימון הרשאה בכותרת, לפי הפורמט הבא:

google-assistant-signature: "<JWT token>"

אסימון האימות מבוסס על הפורמט של אסימון אינטרנט מסוג JSON, שבו הערך של שדה הקהל שווה למזהה הפרויקט במסוף הפעולות של האפליקציה. כדי לאמת את החתימה, צריך לפרוק את האסימון ולוודא ששדה הקהל תואם למזהה הפרויקט לאפליקציה. אפשר לעשות זאת בספריית פרטי כניסה תואמת ל-JWT, כמו לקוח Google Node.js, או ישירות באמצעות הקוד של אפליקציית Actions on Google Node:js בקוד הלקוח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.

הפורמט של JWT יהיה:

{
  "iss": "https://accounts.google.com"
  "aud": [project-id],
  "nbf": number,
  "iat": number,
  "exp": number,
  "jti": string
}