Protection des webhooks

Pour vérifier qu'un webhook est reçu par SCS, l'appel est authentifié avec les autres paramètres URL. SCS chiffre l'authentification à l'aide d'un algorithme de code d'authentification de message haché (hash message authentication code, HMAC) verrouillé.
Tableau 1. Paramètres de sécurité
Paramètre Description
horodatage Nombre de secondes depuis le 1er Janvier 1970 UTC.
jeton Chaîne de 64 caractères alphanumériques générés de manière aléatoire.
signature Chaîne de chiffres hexadécimaux générés par l'algorithme HMAC.
Tableau 2. Paramètres communs
Paramètre Description
Domaine Environnement SCS qui a envoyé le webhook. L'environnement de production est https://www.reservecloud.com/login. L'environnement QA est https://qa.reservecloud.com/login
action Code Action qui a déclenché l'appel webhook. Par exemple, GUEST_ROOM_BLOCK_UPDATED
nom Nom du webhook dans les paramètres.

Pour vérifier que l'appel webhook a été reçu de SCS, vous devez :

  • Tronquer l'horodatage et les valeurs de jeton
  • Coder la chaîne concaténée avec l'algorithme HMAC La clé est disponible dans la section Interface des webhooks, dans les paramètres SCS. L'algorithme doit utiliser la fonction de hachage SHA256
  • Encoder en hexadécimal le résultat en utilisant la casse inférieure pour les caractères alphabétiques
  • Comparer votre résultat au paramètre de signature. Facultativement, vous pouvez vérifier si l'horodatage n'est pas trop loin de l'heure actuelle.