Español
  • jwt
  • auth
  • user data

Centro seguro para datos de usuario en movimiento

Contrasta autenticación y datos de usuario. Detalla el almacenamiento seguro y el movimiento de Logto. Describe las mejores prácticas de flujo de datos (mapeo de atributos, sincronización de datos, JWTs personalizados).

Ran
Ran
Product & Design

Los metadatos de usuario son la savia vital de los servicios de Gestión de Identidad y Acceso (IAM). Impulsan características del producto como análisis de datos, experiencias personalizadas, monitoreo de seguridad y control de acceso. Pero a medida que las aplicaciones se vuelven más interconectadas a través de plataformas, organizaciones y aplicaciones, gestionar los metadatos de usuario puede volverse complejo. ¡No temas! Al comprender el flujo de datos de usuario, puedes construir una experiencia de autenticación fluida y segura.

Datos de autenticación vs. datos de usuario

No todos los datos de usuario son iguales. Los datos de autenticación son un subconjunto específico intercambiado durante la emisión de tokens. Imagina un JWT (Token Web JSON) viajando en tus solicitudes HTTP. Un JWT grande puede ralentizar las cosas. Para mantener las cosas rápidas y seguras, solo incluimos información esencial del usuario como identidad, estado de cuenta, detalles de autenticación, permisos y un perfil básico de usuario.

Aquí en Logto, nos centramos en almacenar los siguientes puntos de datos de autenticación:

  • Estado de cuenta: Seguimiento de tiempo de creación, actualizaciones, estado de suspensión e historial de inicio de sesión. Incluye create_at, updated_at, account_suspended, last_ip.
  • Información de autenticación: Esto incluye identificadores de usuario, factores de autenticación y datos relacionados con la verificación. Incluye user_id, password_digest, password_algorithm, username, email, email_verified, phone, phone_verified, social_identities, sso_identities, mfa_config, mfa_verification_factors.
  • Información de autorización: Gestiona roles, permisos, membresías de organización y aplicaciones y dispositivos autorizados para un control de acceso granular. Incluye role, permission, organization_id, organization_role, organization_permission, grant_application, grant_device.
  • Perfil estándar de usuario: Este es el perfil de usuario más común registrado por OIDC. Logto también lo establece como los metadatos de usuario predeterminados, almacenados bajo el espacio de nombres 'profile'. Incluye first_name, last_name, middle_name, name, nickname, profile, website, avatar, gender, birthdate, zoneinfo, locale, address.

Más allá de lo básico: Personalizando los datos de usuario con Logto

  • Logto va más allá del perfil estándar. Nuestra API de Gestión te permite definir datos personalizados específicos para las necesidades de tu negocio. Estos datos se almacenan de manera segura bajo un espacio de nombres dedicado ‘custom.data’. Aquí hay algunos casos: occupation, company_name, company_size.

Pensando fuera de la caja fuerte: datos de API externos con JWT personalizados

  • Ciertos datos comerciales pueden no necesitar almacenamiento permanente en Logto. La belleza de los JWT personalizados es que puedes obtener dinámicamente estos datos a través de llamadas de API durante la emisión de tokens, ampliando el alcance de tus datos de usuario. Recuerda, la seguridad es primordial, así que evita incluir información sensible en los JWT ya que se pueden analizar fácilmente. Aquí hay algunos casos: subscribed_status, last_path_visited, app_theme.

El viaje de los datos de usuario: adquisición y distribución

Los datos de usuario provienen de diversas fuentes:

  • Entrada de usuario: Durante el registro, incorporación o actualizaciones de perfil dentro de tu aplicación.
  • Proveedores de identidad (IdPs): Sincronizados sin problemas durante los inicios de sesión sociales o SSO empresarial.
  • Migraciones de datos: Trasladar datos desde bases de datos existentes.
  • Intervención del administrador: Los administradores editan manualmente a través de la consola o base de datos.

Una vez que tienes estos valiosos datos, puedes compartirlos de manera segura:

  • Otorgando permisos a aplicaciones de terceros: Proporciona acceso controlado a los datos de usuario para aplicaciones autorizadas.
  • Exportaciones de datos: Exporta datos de usuario desde Logto para un análisis adicional.
  • Entrega a través de JWTs, Webhooks o APIs: Comparte datos de usuario con tus servicios internos para una experiencia de usuario unificada.

Como un centro de identidad, Logto se destaca en facilitar el flujo de datos de usuario. Hacemos fácil adquirir información de usuario de diversos proveedores y entregarla de manera segura a las partes autorizadas.

Puntos clave

Ahora que comprendes el viaje de los datos de usuario, exploremos algunas consideraciones clave de diseño:

  1. Mapeo de atributos Asegúrate de un mapeo preciso de los atributos de usuario de diferentes fuentes para evitar silos de datos. Para conexiones SAML, se requiere un mapeo manual. Al utilizar OIDC, aprovecha los reclamos estandarizados o crea espacios de nombres únicos para prevenir conflictos.
  2. Sincronización de datos IdP y RP La sincronización de datos entre los IdPs (proveedores de identidad) y RPs (partes confiables) generalmente involucra autorización y solicitudes de alcance específicas en ambos lados. Ten en cuenta el estado de verificación. Una "verificación de correo electrónico=false" sincronizada desde un IdP como GitHub o Azure AD puede no ser un correo electrónico verificado en tu sistema. Maneja esto en consecuencia.
  3. Segregación y sobrescritura de datos en una estructura multi-entidad En entornos complejos con múltiples organizaciones, aplicaciones y proveedores, la segregación de datos y el comportamiento de sobrescritura se vuelven cruciales.
    • Multi-organización: Un usuario puede pertenecer a múltiples organizaciones. Diferencia los datos de usuario almacenados bajo la cuenta de usuario de los datos específicos de la organización. Los cambios dentro de una organización no deben afectar a las demás.
    • Multi-aplicación: Para aplicaciones que comparten una base de datos de usuario a través de Logto, implementa un módulo centralizado de configuración de cuentas o configuración de perfil en tu servicio.
    • Multi-proveedor: Las aplicaciones con varios métodos de inicio de sesión reciben diferente información de usuario de cada proveedor. En Logto, elige sincronizar los datos durante el registro de inicio de sesión social o en cada inicio de sesión para SSO empresarial. El inicio de sesión social es ideal para la sincronización de datos inicial, mientras que el SSO empresarial puede sincronizar información de miembros en cada inicio de sesión para un manejo más fácil dentro del IdP de la empresa.
  4. JWT personalizados para un acceso expandido a datos El poder de los JWT personalizados yace en su habilidad para recuperar información externa dinámicamente durante la emisión de tokens a través de llamadas de API. Esto te permite acceder a puntos de datos que pueden no ser esenciales para la funcionalidad central, pero que pueden enriquecer la experiencia del usuario. Recuerda, con gran flexibilidad viene una gran responsabilidad. Dado que los JWT pueden ser analizados fácilmente por cualquiera que los reciba, evita incluir datos sensibles.
  5. Registro progresivo para un flujo de incorporación más fluido No satures a los usuarios con un formulario de registro tan largo como una novela. Implementa un registro progresivo, una técnica donde solicitas inicialmente solo la información de usuario más crítica. Esto agiliza el proceso de registro y mantiene a los usuarios interesados. A medida que los usuarios interactúan con tu aplicación, puedes recopilar gradualmente puntos de datos adicionales para construir un perfil de usuario más rico.

Al seguir estas mejores prácticas, puedes asegurar un flujo de datos de usuario suave y seguro a lo largo del viaje de autenticación.

Logto: Tu centro seguro para datos de usuario en movimiento

Gestionar eficazmente los metadatos de usuario te permite personalizar experiencias de usuario, mejorar la seguridad y obtener valiosos conocimientos sobre el comportamiento del usuario. Al aprovechar la plataforma segura y flexible de Logto, puedes desbloquear todo el potencial de los datos de usuario y obtener una ventaja competitiva en el panorama actual impulsado por los datos.