Vérifier les signatures des webhooks (HMAC)
Apprenez à vérifier les signatures des webhooks à l'aide de HMAC afin de vous assurer que les webhooks provenant de Yuno sont authentiques et n'ont pas été altérés pendant leur transmission.
La vérification de signature Webhook à l'aide du HMAC (Hash-based Message Authentication Code) garantit que les webhooks envoyés à votre serveur proviennent bien de Yuno et n'ont pas été interceptés ou modifiés pendant leur transmission. Cela ajoute un niveau de sécurité supplémentaire aux méthodes d'authentification telles que OAuth.
Alors qu'OAuth assure l'authentification (vérification de l'identité de l'expéditeur de la requête), les signatures HMAC fournissent :
- Intégrité des données: confirme que la charge utile du webhook n'a pas été altérée.
- Authenticité: vérifie que le webhook provient bien de Yuno.
- Protection: protège contre les attaques de type « man-in-the-middle » et les attaques par rejeu.
- Conformité: répond aux exigences de sécurité pour le traitement des données de paiement sensibles
Comment fonctionnent les signatures HMAC ?
Lorsque Yuno envoie un webhook à votre serveur :
- Génération de signature: Yuno crée une signature HMAC en hachant la charge utile du webhook avec votre clé secrète client à l'aide de l'algorithme SHA-256.
- Inclusion d'en-tête: La signature est incluse dans le
x-hmac-signatureen-tête HTTP - Vérification: votre serveur extrait la signature de l'en-tête, la recrée à l'aide de la même charge utile et de la même clé secrète, puis compare
- Validation: si les signatures correspondent, le webhook est authentique et n'a pas été modifié.
Configuration
Pour activer la vérification de signature HMAC, cochez la case Utiliser l'authentification HMAC lors de la création ou de la modification d'un webhook dans le tableau de bord Yuno.
Consultez la section Configurer les webhooks pour obtenir des instructions détaillées sur l'accès au panneau de configuration des webhooks.
Quels changements avec HMAC ?
Lorsque la vérification de signature HMAC est activée, les webhooks Yuno incluent un élément supplémentaire x-hmac-signature En-tête HTTP. La charge utile JSON du webhook reste inchangée.
Exemple de requête webhook avec HMAC
POST /your-webhook-endpoint HTTP/1.1
Host: your-server.com
Content-Type: application/json
x-api-key: your-api-key
x-secret: your-secret
x-hmac-signature: K7gNU3sdo+OL0wNhqoVWhr3g6s1xYv72ol/pe/Unols=
{
"type": "payment",
"type_event": "payment.purchase",
"account_id": "2c05976d-1234-1234-1234-6421883de48d",
"retry": 0,
"version": 2,
"data": {
"payment": {
"id": "a546c566-1703-4fba-b334-c46e89bc97f7",
"status": "SUCCEEDED"
}
}
}Documentation connexe
Mise à jour il y a 2 mois