🚀 Si vous le désirez, vous pouvez vérifier que les événements webhook ont été envoyés par Qualifio et non par un tiers.
Valider la signature webhook est optionnel. Cependant, ceci est important pour sécuriser les données et pour protéger votre application et vos serveurs contre les abus. Cette fonctionnalité peut être utilisée conjointement avec un mécanisme d'authentification du webhook (le cas échéant).
Définir une clé secrète
Vous devrez configurer votre clé secrète à deux endroits : dans Qualifio et sur votre serveur (stockée dans une variable d'environnement).
Pour ajouter votre clé secrète à votre compte Qualifio :
- Accédez aux paramètres webhook de votre compte.
- Saisissez votre clé secrète dans la zone de texte Webhook secret.
- Cliquez sur Sauvegarder.
Après cette configuration, Qualifio commence à signer les événements webhook envoyés à votre point de terminaison (URL à laquelle les notifications sont envoyées) 👌🏼
Qualifio utilise l'algorithme de hachage HMAC SHA-256. Nous signons toutes les charges utiles avec une signature :
X-Qualifio-Signature: sha256=
Vous pouvez alors utiliser cette signature pour vérifier l'authenticité du webhook reçu.
Valider la signature
Avant de pouvoir valider une signature, vous devez la générer de votre côté en utilisant la clé secrète et la charge utile. Hashez le tout (avec SHA-256), et comparez ensuite votre signature à la signature dans l'en-tête.
Si la valeur trouvée dans l'en-tête et votre signature calculée correspondent, vous pouvez être certain(e) que le webhook a été envoyé par Qualifio et que la charge utile est authentique. Si elles ne correspondent pas, cela signifie que quelque chose ne va pas : l'implémentation n'est pas correcte, la clé secrète n'est pas le bonne, la charge utile a été modifiée, ou bien elle ne provient pas de Qualifio.
En cas de réinitialisation de la clé secrète, n'oubliez pas de mettre à jour la nouvelle clé dans Qualifio après l'avoir modifiée sur votre serveur, car les nouveaux événements pourraient ne pas passer la vérification. Les paramètres peuvent être mis en cache pendant 30 minutes.