Encabezado de firma
sha256= seguido del digest hexadecimal.
Pasos de verificación
- Lea el body sin parsear (bytes/string raw).
- Calcule
HMAC-SHA256(body, secret)en hexadecimal. - Compare con el valor del encabezado sin el prefijo
sha256=. - Use comparación en tiempo constante (
hmac.compare_digest,hash_equals,timingSafeEqual). - Si no coincide, responda 401 Unauthorized y no procese el payload.
Ejemplo conceptual (Python)
Idempotencia
UseX-Kairo-Delivery como clave de deduplicación. Kairo Shield puede reintentar entregas fallidas.