Sécurisez votre webhook
Confirmer que les requêtes webhook proviennent de Celoxis
Chaque webhook envoyé par Celoxis est accompagné d'un « tampon » de sécurité (appelé signature) permettant à votre système de réception de confirmer que le message provient bien de Celoxis et n'a pas été modifié lors de sa transmission. Cette page explique comment cette signature est créée et comment la vérifier.
Ce que Celoxis envoie avec chaque demande
Celoxis inclut également quelques détails supplémentaires dans les en-têtes de la requête, en plus du message :
- Un horodatage (
X-Celoxis-Timestamp) — l'heure exacte à laquelle le message a été signé. - Une signature (
X-Celoxis-Signature) — le cachet de sécurité, créé à partir de votre Secret et du message. - Un identifiant de livraison (
X-Celoxis-Delivery-Id) — une référence unique pour cette livraison, pratique pour vos journaux.
Comment la signature est créée
- Celoxis prend l' horodatage et le corps du message et les assemble.
- Il utilise ensuite votre secret avec une méthode standard appelée HMAC-SHA256 pour transformer ce texte combiné en une signature unique. Un même secret et un même message produisent toujours la même signature, mais il est impossible de déduire le secret à partir de cette signature.
- Cette signature est envoyée avec la demande.
Comment vérifier la demande de votre côté
- Utilisez le message tel quel. Ne le reformatez pas et ne le reconstruisez pas au préalable ; même une modification minime rendra la signature non conforme.
- Récupérez l'horodatage et la signature des en-têtes de la requête.
- Recréez vous-même la signature en utilisant la même méthode HMAC-SHA256 avec votre copie du secret.
- Comparez les deux signatures. Si elles correspondent, la demande est authentique : acceptez-la. Sinon, refusez-la.
- (Recommandé) Rejetez également la requête si l'horodatage est trop ancien (par exemple, supérieur à 5 minutes), afin d'éviter le renvoi ultérieur d'un message ancien. Ce choix vous appartient ; Celoxis ne l'impose pas.