Oui, vous pouvez vérifier la signature des webhooks Certyneo pour garantir leur authenticité. Voici les étapes à suivre :
En-tête X-Certyneo-Signature : Certyneo ajoute un en-tête X-Certyneo-Signature dans chaque webhook avec la signature HMAC SHA-256 du corps brut de la requête, utilisant le secret partagé entre vous et Certyneo. Vous devez récupérer cette valeur.
HMAC SHA-256 du corps brut : Utilisez un algorithme HMAC SHA-256 avec le secret partagé entre vous et Certyneo pour calculer la signature du corps brut de la requête. C'est-à-dire, ignorez l'en-tête X-Certyneo-Signature et calculez la signature sur le corps de la requête sans modification.
Comparaison en temps constant : Comparez la valeur calculée avec celle fournie dans l'en-tête X-Certyneo-Signature. Pour éviter les attaques de temps de vol, assurez-vous que cette comparaison est réalisée en temps constant.
Rejouer et idempotence : Si la comparaison est réussie, la requête est authentique. N'oubliez pas que les requêtes webhooks doivent être idempotentes, ce qui signifie qu'elles peuvent être exécutées plusieurs fois sans changer le résultat.
Dans la plupart des cas, cette procédure permet de sécuriser vos webhooks. Pour plus de détails, consultez notre documentation sur les webhooks ici.