Corroborar las firmas de un Webhook
Verifica los eventos que Quadminds envía a tus puntos de conexión de Webhooks
De manera opcional, Quadminds puede firmar los eventos de Webhook que envíe a tus puntos de conexión incluyendo una firma en el encabezado de cada evento Quadminds-Signature. Esto te permite corroborar que los eventos fueron enviados por Quadminds y no por un tercero.
Para ello, primero debes agregar una clave secreta en el campo secret de la configuración del Webhook. Después de esta configuración, Quadminds comienza a firmar cada webhook que envía al punto de conexión.
Cómo verificar firmas
En cada evento firmado, el encabezado Quadminds-Signature contiene el secret y el payload del mensaje recibido. Quadminds genera firmas usando un código de autenticación de mensajes basado en hash (HMAC) con SHA-256.
El proceso para verificar la firma es generar un hash a partir del par clave/mensaje donde la clave es el secret y el mensaje es el payload recibido.
- 1. Calcula un HMAC con la función hash SHA256. Usa la clave secreta de la firma del punto de conexión como la clave y el payload recibido como el mensaje.
- 2. Pasa el hash a base64.
- 3. Verifica el hash generado con el hash recibido.
Aquí te dejamos un link de referencia con implementaciones en distintos lenguajes de programación: https://gist.github.com/jasny/2200f68f8109b22e61863466374a5c1d
Updated about 1 year ago