#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.

A diferencia del helper #jwt, hmac es un helper inline — no requiere bloque de apertura y cierre.

Modo de uso

{{hmac data secret algorithm encoding}}
Parámetro
Tipo
Requerido
Por defecto

data

String

secret

String

algorithm

String

sha256

encoding

String

hex

Ejemplos

{{hmac body secrets.webhookSecret}}

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.

{{hmac payload secrets.key}}

secret

La clave secreta con la que se generará la firma HMAC. Debe ser de tipo String.

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.

El algoritmo debe coincidir con el que espera el servidor de destino al momento de verificar la firma.

encoding

Formato de salida de la firma generada. El valor por defecto es hex.

Valor
Descripción

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.

Errores comunes

Error
Causa

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?