Por qué sincronizar los datos de identidad
- Ejecutar consultas de análisis, informes o cumplimiento normativo sin llamar a la Management API.
- Ofrecer experiencias de búsqueda que requieran búsquedas de baja latencia en atributos de usuario.
- Alimentar canalizaciones de datos que combinen registros de identidad con otros datos empresariales.
- Mantener una copia de seguridad del estado del perfil del usuario para la recuperación ante desastres.
Cómo funciona
- Auth0 publica un evento cada vez que se modifica el perfil de un usuario.
- Tu Event Stream entrega ese evento a un destino (webhook, AWS EventBridge o Auth0 Action).
- Tu manejador inspecciona el tipo de evento y aplica la operación de escritura correspondiente en el sistema externo.
| Tipo de evento | Cuándo se activa |
|---|---|
user.created | Se crea un nuevo perfil de usuario en Auth0. |
user.updated | Se modifica un perfil de usuario existente. |
user.deleted | Se elimina un perfil de usuario de Auth0. |
Requisitos previos
- Un inquilino de Auth0 con Events habilitado. Para obtener más información sobre la disponibilidad según el plan, consulte Create an Event Stream.
- Un Event Stream activo suscrito a
user.created,user.updatedyuser.deleted. Para obtener más información, consulte Create an Event Stream. - Un almacén de datos externo (por ejemplo, PostgreSQL, MySQL o un almacén de datos) en el que pueda escribir desde su controlador.
Implementar la sincronización de datos
Gestionar user.created
user.created, inserta una nueva fila en tu base de datos.
Gestiona user.updated
user.updated, actualiza la fila correspondiente. Compara la marca de tiempo del evento con la columna last_event_processed para evitar sobrescribir datos con información obsoleta.
Los eventos pueden llegar desordenados. Compara siempre las marcas de tiempo antes de aplicar actualizaciones para evitar que datos obsoletos sobrescriban registros más recientes. Para obtener más información, consulta Prácticas recomendadas para eventos.
Procesar user.deleted
user.deleted, elimine la fila correspondiente o aplíquele un borrado lógico.
Enrutar eventos por tipo
- Webhook
- Auth0 Action
Devuelve una respuesta HTTP
2XX lo antes posible. Si tu controlador necesita realizar operaciones lentas, coloca el evento en una cola interna y procésalo de forma asíncrona. Para obtener más información, consulta Prácticas recomendadas para eventos.Evite los duplicados y los problemas de orden
- Realice un seguimiento de los ID de los eventos. Almacene el
idde cada evento procesado y omita cualquier evento que ya haya gestionado. - Compare las marcas de tiempo. La carga útil de cada evento incluye los campos
created_atyupdated_atendata.object. Use estos campos para determinar si un evento entrante es más reciente que el que su sistema ya registró. - Use escrituras idempotentes. Estructure las operaciones de su base de datos de modo que aplicar el mismo evento dos veces produzca el mismo resultado. Por ejemplo, use
INSERT ... ON CONFLICT DO UPDATEen PostgreSQL.
Verifique la sincronización
- Aparece una nueva fila en su base de datos externa con los datos de perfil correctos.
- Actualice el nombre o el correo electrónico del usuario en Auth0. Confirme que la fila de la base de datos refleje el cambio.
- Elimine al usuario de Auth0. Confirme que la fila se elimine (o se marque como eliminada) en su base de datos.