Logotipo de Aurabase
aurabasedocumentos
documentos›Guías›Webhooks y HMAC

Webhooks salientes y firmas HMAC

Reciba eventos en tiempo real de su proyecto Aurabase en sus propios servidores de forma segura utilizando firmas criptográficas HMAC-SHA256.

8 min leer·Nivel intermedio·Revisado el 19 ago 2026
Este texto en inglés se generó automáticamente a partir del original en francés y aún no ha sido revisado.
Esta página fue traducida automáticamente. La versión en inglés es autorizada.
#
Operación

Arquitectura de webhooks

Los webhooks salientes de Aurabase transmiten eventos del sistema a sus URL de devolución de llamada (por ejemplo, registro de nuevo usuario, pago exitoso, actualización de filas de la tabla).

Garantía de entrega al menos una vez

Cada webhook enviado contiene un identificador de evento único event_id que le permite implementar procesamiento idempotente en sus servidores.

#
Seguridad

Estructura del encabezado X-Aurabase-Signature

Cada solicitud HTTP POST emitida por Aurabase incluye el siguiente encabezado de seguridad:

http-headerstext
POST /webhook HTTP/1.1
Host: api.votre-domaine.com
Content-Type: application/json
X-Aurabase-Event-Id: evt_01J8Y6Q9K3M7Z...
X-Aurabase-Signature: t=1724060000,v1=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
#
Validación

Verificar la firma HMAC-SHA256

verify-webhook.tstypescript
import crypto from 'node:crypto'
export function verifyAurabaseWebhook(
  rawBody: string, signatureHeader: string, secret: string)
  const parts = Object.fromEntries(
    signatureHeader.split(',').map(p => p.split('=')),
  )
  const { t: timestamp, v1: signature } = parts

  // 1. Protección contra ataques de repetición (5 min máx.)
  if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) {
    return false
  }

  // 2. Cálculo de HMAC-SHA256 en timestamp.rawBody
  const expected = crypto
    .createHmac('sha256', secret)
    .update(timestamp + '.' + rawBody)
    .digest('hex')

  // 3. Comparación segura en tiempo constante
  return crypto.timingSafeEqual(
    Buffer.from(signature), Buffer.from(expected)
  )
}
#
Resiliencia

Gestión de fallos y cola de mensajes fallidos

Si su servidor responde con un código de error HTTP (4xx, 5xx) o experimenta un tiempo de espera (límite de tiempo de 10 segundos), Aurabase reintenta automáticamente el envío según un retroceso exponencial :

  • Intento 1: inmediato
  • Intento 2: después de 15 segundos
  • Intento 3: después de 1 minuto
  • Intento 4: después de 5 minutos
  • Intento 5: después de 30 minutos

Después de 5 fallas consecutivas, el evento se coloca en la cola de mensajes fallidos (DLQ) de Studio para inspección y reproducción manual.

Última actualización · 19 ago 2026