Webhooks
Logto Webhook proporciona notificaciones en tiempo real para varios eventos, incluyendo cambios en cuentas de usuario, roles, permisos, organizaciones, roles de organización, permisos de organización e interacciones de usuario.
Cuando se activa un evento, Logto envía una solicitud HTTP a la URL del endpoint que proporciones, conteniendo información detallada sobre el evento, como el ID de usuario, nombre de usuario, correo electrónico y otros detalles relevantes (para más información sobre los datos incluidos en el payload y la cabecera, consulta Solicitud de Webhook). Tu aplicación puede procesar esta solicitud y tomar acciones personalizadas, como enviar un correo electrónico o actualizar datos en la base de datos.
Continuamente añadimos más eventos según las necesidades de los usuarios. Si tienes requisitos específicos para tu negocio, por favor háznoslo saber.
¿Por qué usar Webhook?
Los Webhooks ofrecen comunicación en tiempo real entre aplicaciones, eliminando la necesidad de sondeo y permitiendo actualizaciones de datos inmediatas. Simplifican la integración de aplicaciones y la automatización de flujos de trabajo sin código complejo ni APIs propietarias.
Aquí tienes algunos ejemplos de casos de uso comunes de Webhook para CIAM:
- Enviar correos electrónicos: Configura un Webhook para enviar un correo de bienvenida a los nuevos usuarios al registrarse o notificar a los administradores cuando un usuario inicia sesión desde un nuevo dispositivo o ubicación.
- Enviar notificaciones: Configura un Webhook para activar un asistente virtual con tu sistema CRM y proporcionar soporte al cliente en tiempo real cuando los usuarios se registran.
- Realizar llamadas adicionales a API: Configura un Webhook para verificar el acceso del usuario comprobando su dominio de correo electrónico o dirección IP y luego utiliza la Management API de Logto para asignar los roles apropiados con permisos de recursos.
- Sincronización de datos: Configura Webhook para mantener la aplicación actualizada sobre cambios como suspensiones o eliminaciones de cuentas de usuario.
- Generar informes: Configura un Webhook para recibir datos de actividad de inicio de sesión de usuarios y utilízalos para crear informes sobre la participación o patrones de uso de los usuarios.
Términos
Ítem | Descripción |
---|---|
Evento (Event) | Cuando se realiza una acción específica, se activará un evento hook con un tipo específico. Por ejemplo, Logto emitirá un evento hook PostRegister cuando el usuario finalice el proceso de registro y cree una nueva cuenta. |
Hook | Una o varias acciones que se enganchan a un evento específico. La acción puede ser llamar a una API, ejecutar fragmentos de código, etc. |
Webhook | Un subtipo de hook que indica llamar a una API con el payload del evento. |
Por ejemplo, si un desarrollador quiere enviar una notificación cuando un usuario inicia sesión desde un nuevo dispositivo, puede añadir un webhook que llame a su API de servicio de seguridad en el evento PostSignIn. |
Aquí tienes un ejemplo de cómo habilitar dos webhooks para el evento PostSignIn
en Logto:
Preguntas frecuentes
¿Logto admite webhooks sincronizados?
Aunque los webhooks sincronizados harían que el flujo de inicio de sesión del usuario fuera más fluido, aún no los admitimos (lo haremos en el futuro). Por lo tanto, los escenarios que dependen de webhooks sincronizados actualmente requieren diferentes soluciones alternativas. Si tienes alguna pregunta, no dudes en contactarnos.
¿Cómo manejar el cambio de permisos de usuario?
Consulta la guía Gestionar el cambio de permisos de usuario.
¿Cómo depurar el timeout de un webhook?
El endpoint que recibe los Webhooks debe devolver una respuesta 2xx lo más rápido posible para indicar a Logto que el Webhook se ha recibido correctamente. Dado que los diferentes usuarios tienen lógicas de procesamiento muy distintas para los Webhooks, las tareas excesivamente complejas pueden tardar varios segundos, provocando que el Webhook de Logto agote el tiempo de espera. La mejor práctica es mantener tu propia cola de eventos; al recibir el Webhook de Logto, inserta el evento en la cola y devuelve una respuesta 2xx a Logto. Luego, deja que tu propio worker procese las tareas en la cola paso a paso. Si el worker encuentra un error, manéjalo en tu propio servidor.
¿Puedo obtener la dirección IP del cliente desde los webhooks PostSignIn
?
PostSignIn
?Sí, puedes obtener la dirección IP, agentes de usuario, etc. en el payload del Webhook. Si necesitas información que actualmente no está soportada, puedes crear solicitudes de características en los issues de GitHub o contactarnos.