Casos de uso reales: Expandir tu sistema de autenticación con webhooks
Descubre casos del mundo real sobre el uso de webhooks de Logto para autenticación y autorización, incluyendo el envío de correos electrónicos de bienvenida, la sincronización de datos con tu base de datos, la actualización de roles/permisos de usuario en tiempo real y la integración con análisis de terceros.
Con el webhook de Logto, puedes recibir actualizaciones en tiempo real sobre eventos específicos, como registro de usuario, inicio de sesión o restablecimiento de contraseña, sin sondear por actualizaciones continuamente. Cuando se desencadena un evento, Logto envía una solicitud HTTP que contiene información sobre el evento a una URL de endpoint que especifiques. Tu aplicación puede recibir la solicitud y tomar acciones personalizadas basadas en los datos, como enviar un correo electrónico o actualizar una base de datos.
Hay algunas capacidades que puedes no encontrar directamente en la consola de Logto, pero puedes considerar si puedes usar un webhook para monitorear el comportamiento de tus usuarios para lograrlas.
Escenarios de uso de los webhooks de Logto
El webhook proporciona posibilidades ilimitadas para sistemas de autenticación. Aquí hay algunos casos de uso del mundo real que te daré como ejemplos:
1. Enviar correo electrónico o notificación
“¿Puedo usar Logto Email para enviar a los usuarios un correo de bienvenida personalizado con un enlace de inicio de sesión? Usamos inicio de sesión solo con Código de Verificación, sin contraseñas.”
Aunque el servicio de correo electrónico de Logto actualmente no admite correos de bienvenida directos, este es un escenario clásico para los webhooks. Usa el evento User.Created
, y cuando tu Endpoint reciba la información de registro del usuario, envía inmediatamente un correo electrónico de bienvenida al correo electrónico del usuario.
De manera similar, notifica a los usuarios después de actualizaciones de roles, informa a los administradores sobre nuevos miembros o envía mensajes de bot a Slack o Discord para mantener a tu equipo actualizado.
2. Sincronización de datos
“Si elimino un usuario en la consola de administración, ¿cómo sincronizo esto con otros sistemas?”
Usa el evento User.Deleted
para obtener el cambio de estado del usuario que se ha eliminado y sincronízalo con otros sistemas. También puedes borrar inmediatamente la sesión de inicio de sesión del usuario, lo cual será beneficioso para la gestión de usuarios entre aplicaciones.
“Tengo varias aplicaciones bajo mi inquilino de Logto. Necesito un webhook para detectar la creación de usuarios, asegurando que sea manejado por una aplicación específica.”
Usa el evento PostRegister
, y la Carga incluirá información de AppId
, lo que te ayudará a manejar el diseño de experiencia personalizado de servicios de múltiples aplicaciones.
3. Realizar llamadas API adicionales
“Cuando cambio los permisos de un usuario, tienen que cerrar sesión y volver a iniciar sesión para que la actualización surta efecto. ¿Puede esto suceder automáticamente?”
Si un administrador cambia el rol de un usuario o agrega nuevos permisos a un usuario, por defecto, el usuario necesita iniciar sesión nuevamente o consentir para actualizar el token de acceso. Si deseas que el cambio de autorización surta efecto de inmediato, puedes usar el webhook User.Data.Updated
para notificación, habilitando un nuevo consentimiento o emitiendo nuevos tokens de acceso según corresponda.
Además, también puedes usar tiempos de expiración cortos para tokens de acceso o llamar a los endpoints de API de gestión periódicamente para obtener roles y permisos de usuario, pero solo a través de webhooks puedes obtener las actualizaciones más oportunas.
“Quiero agregar cada nuevo usuario a mi base de datos, enviarlos a una página de ‘Configura Tu Organización’, y solo permitir invitaciones organizacionales para usuarios posteriores. ¿Puede Logto admitir esto?”
Primero, se requiere sincronización de datos, usar el webhook Post.Register
para agregar un nuevo usuario a tu base de datos. Luego, usa la API de gestión de Logto para diseñar tu página de aviso para configurar una organización e invitación.
4. Análisis de datos
“¿Puedo conectar Logto a mi herramienta de análisis (Google Analytics, Umami, Plausible, etc.) para rastrear inicios de sesión de usuarios?”
Si necesitas analizar datos relacionados con inicios de sesión de usuarios o autorizaciones, puedes usar la funcionalidad de webhooks de Logto. Puedes escuchar los webhooks enviados por Logto y luego integrar los datos en herramientas de análisis de terceros.
Confirma si necesitas webhooks
Paso 1: Confirma si hay eventos de Webhook que necesites
El Webhook se divide en dos categorías, a nivel de cuenta y a nivel de organización, todos los eventos se muestran a continuación:
Para facilitar tus escenarios de segmentación y obtener datos coincidentes, está dividido en detalle. Sin embargo, si necesitas información de múltiples eventos al mismo tiempo, puedes seleccionar múltiples eventos para un Webhook.
Nota: Los eventos del tipo “Interacción del usuario” capturan acciones de usuario dentro de la interfaz, excluyendo cambios iniciados por el administrador. Los eventos del tipo “Usuario” abarcan todas las acciones de usuario, incluidas las realizadas por administradores y usuarios finales. Por ejemplo, el evento PostRegister
se refiere al usuario registrándose en la experiencia de Inicio de sesión, mientras que User.Created
incluye todos los nuevos usuarios registrados por el usuario en la interfaz y añadidos por el administrador.
Paso 2: Confirma si la carga de la solicitud tiene la información que necesitas obtener
Diferentes eventos llevan diferente información, puedes confirmar si la información existente puede satisfacer directamente tus necesidades de caso de uso. Por ejemplo, id
, username
, correo electrónico primario
, perfíl
, datos personalizados
, identidades
, lastSignInAt
, createdAt
, applicationId
, isSuspended
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
, etc. Para más detalles, por favor consulta Solicitud de Webhook. Si no, también puedes usar la API de gestión para seguir obteniendo información relevante del usuario.
Paso 3: Combina con la API de gestión para expandir capacidades avanzadas
También puedes usar la API de gestión de Logto para implementar una gestión y configuración de funciones más avanzada.
Conclusión
Los eventos de webhook de Logto no solo cubren una amplia gama de escenarios, sino que también aseguran la transmisión segura mediante la verificación de clave de firma y encabezado personalizado. Además, puedes ver el panel de control de webhooks de Logto para monitorear la transmisión de cada webhook en las últimas 24 horas.