#hmac
Este helper genera una firma HMAC a partir de los datos proporcionados, usada habitualmente para verificar la autenticidad e integridad de solicitudes en Webhooks.
Modo de uso
{{hmac data secret algorithm encoding}}data
String
✓
—
secret
String
✓
—
algorithm
String
✗
sha256
encoding
String
✗
hex
Ejemplos
{{hmac body secrets.webhookSecret}}{{hmac body secrets.webhookSecret 'sha512'}}{{hmac body secrets.webhookSecret 'sha256' 'base64'}}{{hmac webhook.body config.apiSecret}}Configuración
data
Los datos que se firmarán. Puede ser un String estático o una referencia a una variable del contexto. Los valores numéricos se convierten automáticamente a String.
Si data está vacío, el helper retornará un error: Error: Data to sign is required.
{{hmac payload secrets.key}}secret
La clave secreta con la que se generará la firma HMAC. Debe ser de tipo String.
Siempre entrega el secreto a través de secrets y nunca como valor estático en el template.
algorithm
Algoritmo de hash a utilizar. El valor por defecto es sha256.
Los valores disponibles son los soportados por Node.js crypto: sha1, sha256, sha384, sha512, entre otros.
encoding
Formato de salida de la firma generada. El valor por defecto es hex.
hex
Hexadecimal. El más común en integraciones webhook.
base64
Base64 estándar. Puede contener +, / y =.
base64url
Base64 URL-safe. Sin +, / ni =.
latin1
Encoding binario Latin-1.
binary
Alias de latin1.
Si el encoding proporcionado no está en la lista anterior, el helper retornará un error: Error: Invalid encoding.
Errores comunes
Error: Data to sign is required
El parámetro data está vacío o no resuelve ningún valor.
Error: Secret key is required
El parámetro secret está vacío o no resuelve ningún valor.
Error: Invalid encoding: <valor>
El encoding indicado no está entre los soportados.
Failed to generate HMAC: <detalle>
El algoritmo indicado no es válido o no está soportado por Node.js crypto.
Última actualización
¿Te fue útil?

