Webhooks
Rotar Signing Secret
Rota de forma segura tu signing secret de webhook con una ventana de gracia de doble firma de 24 horas
POST
Visión general
Ayrshare firma cada entrega de webhook con un HMAC-SHA256 del payload, usando como clave tu signing secret, para que tu receptor pueda confirmar que la entrega procede realmente de Ayrshare. Consulta Seguridad de webhook para ver cómo funciona la verificación. Rotar tu signing secret te permite reemplazarlo de forma regular, o inmediatamente si sospechas que ha quedado expuesto. Para que la rotación sea segura, Ayrshare abre una ventana de gracia de 24 horas después de cada rotación durante la cual las entregas se firman con ambos secrets, el anterior y el nuevo. Esto te permite actualizar tu receptor a tu propio ritmo sin descartar ni rechazar una sola entrega — el mismo patrón que usan Stripe y GitHub.El signing secret es a nivel de perfil: hay un secret por User Profile (UID),
y firma todas las acciones de webhook que ese perfil tenga registradas. No existe un
signing secret por acción — establecer o rotar el secret lo cambia para todas
las acciones de ese perfil a la vez.
Rotar desde el Dashboard
Puedes establecer o rotar tu signing secret desde la página Webhooks del Developer Dashboard. El panel Signing Secret aparece encima de tu lista de webhooks una vez que el perfil tiene al menos un webhook registrado.1
Abre el panel Signing Secret
Ve a la página Webhooks. Si aún no hay ningún secret configurado, el panel muestra No signing secret configured con un botón Set Signing Secret. Si ya hay uno configurado, muestra Signing secret configured con un botón Rotate.
2
Set o Rotate
Haz clic en Set Signing Secret (por primera vez) o en Rotate (secret existente). Se abre un modal con un secret fuerte generado aleatoriamente ya rellenado y visible. Puedes hacer Copy, Regenerate para generar uno nuevo, o activar paste my own para introducir tu propio valor.
3
Confirma
Copia el secret en un lugar seguro — se muestra solo una vez y nunca podrá recuperarse desde la UI — y confirma para enviarlo. Aparece un toast de éxito y el panel se actualiza.
4
Actualiza tu receptor
En una rotación (no en una configuración inicial), el panel muestra un indicador de ventana de gracia activa y el botón Rotate queda deshabilitado hasta que la ventana se cierre. Tienes 24 horas para desplegar el nuevo secret en tu receptor.
Rotar mediante la API
Rota (o establece) el signing secret con una única llamada. Esto crea un nuevo secret, reapunta la referencia del secret del perfil a él y — cuando ya existía un secret — registra el secret sustituido como el secret anterior con una expiración a 24 horas vista.Parámetros de cabecera
Parámetros del cuerpo
string
requerido
El nuevo valor del signing secret. Se acepta cualquier string no vacío. Recomendamos un valor aleatorio largo y de alta entropía (por ejemplo, 32 bytes aleatorios codificados en base64url).
secret en texto plano nunca se devuelve en la respuesta y nunca se registra en logs. La respuesta contiene el refId orientado al cliente (un hash del UID), nunca el UID en sí. La cabecera Profile-Key es opcional y limita la rotación a un único User Profile para cuentas multiperfil.
Un secret faltante o vacío devuelve un error mapeado (code: 101, “Missing/incorrect parameter”) con un status HTTP 400, y no se realiza ningún cambio en tu secret actual. La configuración inicial mediante la API (sin secret existente) crea el secret sin registrar un secret anterior y sin ventana de gracia.
Procedimiento seguro de rotación
Gracias a la ventana de gracia de 24 horas, no hay un orden de operaciones obligatorio — tu receptor sigue funcionando durante todo el proceso. La secuencia recomendada es:1
Rota el secret
Rota desde el dashboard o mediante la API. Ayrshare comienza inmediatamente a firmar las entregas con ambos secrets, el anterior y el nuevo.
2
Actualiza tu receptor
En un plazo de 24 horas, despliega el nuevo secret en tu receptor de webhook para que verifique con el nuevo valor.
3
Deja que la ventana se cierre
Después de 24 horas, Ayrshare limpia automáticamente el secret anterior y firma solo con el nuevo secret. No es necesaria ninguna otra acción por tu parte.
Verificación de firmas durante la ventana de gracia
Fuera de una ventana de gracia, las entregas firmadas llevan las cabeceras estándar (consulta Seguridad de webhook):X-Authorization-Content-SHA256-V2 lista ambas firmas, la actual primero, separadas por coma:
X-Authorization-Content-SHA256 no cambia: siempre lleva el único HMAC del
secret actual, por compatibilidad hacia atrás. Las firmas duales solo
aparecen en la nueva cabecera X-Authorization-Content-SHA256-V2.X-Authorization-Content-SHA256-V2 va precedido por una etiqueta de esquema. v1= denota una firma HMAC-SHA256, calculada exactamente igual que X-Authorization-Content-SHA256. La cabecera -V2 siempre está presente cuando una entrega está firmada — lleva como mínimo v1=<current-sig> — por lo que puedes confiar en ella como un contrato estable del receptor.
Para verificar una entrega durante (o fuera de) una rotación:
1
Calcula el HMAC
Calcula el HMAC-SHA256 del cuerpo raw de la solicitud usando tu signing secret configurado localmente.
2
Compara con todas las firmas listadas
Lee
X-Authorization-Content-SHA256-V2, divídelo por comas, quita el prefijo v1= de cada valor y acepta la entrega como auténtica si tu HMAC calculado coincide con cualquier firma v1= listada.v1=<previous-sig>, mientras que un receptor actualizado al nuevo secret coincide con v1=<current-sig> — ambos tienen éxito durante toda la ventana.
Ejemplo de verificación en el receptor
Node.js
