Saltar al contenido principal
Para obtener los mejores resultados al desarrollar flujos de eventos, Auth0 recomienda seguir las prácticas recomendadas que se recopilan a continuación. Estas directrices pueden ayudar a reducir la fricción, aumentar la eficiencia y ofrecer una experiencia de primer nivel con los eventos.

Use colas asíncronas para procesar eventos

Al recibir un evento, responda con un código HTTP 2XX OK (p. ej., 200OK, 202 Accepted, 204 No Content)  para indicar que el evento se entregó correctamente. Sin esta respuesta, Auth0 considera que la entrega del evento falló y volverá a intentarlo de acuerdo con el comportamiento descrito en Comportamiento del sistema durante entregas fallidas de eventos. Para evitar problemas de escalabilidad, configure el controlador para procesar los eventos entrantes mediante una cola asíncrona. Si procesa los eventos de forma síncrona, cualquier pico importante en las entregas de webhooks (por ejemplo, a principios de mes, cuando se renuevan todas las suscripciones) puede saturar los servidores que alojan su endpoint. Las colas asíncronas le permiten procesar los eventos simultáneos a un ritmo que su sistema pueda soportar.

Ignorar eventos duplicados

Los endpoints de webhook pueden recibir ocasionalmente el mismo evento más de una vez. Para evitar procesar eventos duplicados, registre los ID de evento que ya haya procesado.

Gestiona eventos fuera de orden

Auth0 no garantiza que los eventos se entreguen en el mismo orden en que se generan. Por ejemplo, cuando se crea un usuario y acto seguido se actualiza de forma que se vincula otro usuario a él, puedes recibir:
  • user.updated (for User 1)
  • user.created (for User 1)
  • user.deleted (for User 2)
  • user.updated (for User 2)
Para asegurarte de no sobrescribir tus datos con información desactualizada, compara la marca de tiempo de los datos del webhook entrante con la marca de tiempo de los datos de tu sistema. Cada data.object de la carga útil incluye un campo created_at y un campo updated_at.

Escuchar tipos específicos de eventos

Configure los endpoints de su webhook para que reciban solo los tipos de eventos que requiere su integración. Escuchar eventos adicionales (o todos los eventos) supone una carga innecesaria para su servidor y no se recomienda. Puede cambiar los eventos que recibe un endpoint de webhook actualizando los flujos de eventos.

Comportamiento del sistema durante las entregas fallidas de eventos

Actualmente, Auth0 solo permite cuatro intentos en total, incluido el intento inicial y tres reintentos con intervalos exponenciales (1 s, 2 s, 4 s). Si se recibe un 4XX, el evento falla de inmediato y no se vuelve a intentar, ya que es poco probable que reintentarlo cambie la respuesta. Si su endpoint sigue sin responder correctamente después de este tiempo, el evento se marca como fallido y Auth0 dejará de intentar enviarlo. Para obtener más información sobre los eventos fallidos, consulte Pruebas, observabilidad y recuperación ante fallos de flujo de eventos.

Deshabilitar flujos de eventos con errores

Los flujos de eventos se deshabilitan automáticamente en los siguientes casos:
  • Auth0 recibe 500 errores consecutivos (es decir, cualquier respuesta que no sea 2XX).
  • El flujo de eventos alcanza un total de 5000 entregas fallidas.
  • Auth0 recibe tres fallos consecutivos en los intentos de entrega (es decir, cualquier respuesta que no sea 2XX).
    • Si desea permitir más fallos en los intentos de entrega, envíe un ticket de soporte indicando la cantidad de fallos que desea permitir, y Auth0 revisará su solicitud.

Más información