- solicitar access tokens para usuarios humanos o aplicaciones machine-to-machine.
- renovar un access token caducado.
- obtener información de usuario compatible con OIDC.
- validar si un sujeto puede hacer una acción sobre un recurso.
- obtener los permisos disponibles para el usuario autenticado.
- terminar una sesión de usuario.
- empezar y verificar desafíos MFA durante el inicio de sesión.
Flujos principales
Auth admite los flujos de acceso que usan los productos y las integraciones de Lerian.
Figura 1. Flujo de autenticación y autorización
Flujo de autenticación
- Solicitud de token
- Los usuarios humanos se autentican con el grant
password. - Las integraciones de servicio se autentican con el grant
client_credentials. - Auth reenvía la solicitud al proveedor de identidad y devuelve el access token, el refresh token y el ID token cuando corresponde.
- Los usuarios humanos se autentican con el grant
- Renovación de token
- Los clientes intercambian un refresh token por un access token nuevo.
- Auth valida el refresh token con el proveedor de identidad antes de emitir el token nuevo.
- Validación de token
- Los productos protegidos validan los Bearer tokens antes de aceptar una solicitud.
- Auth extrae claims de token confiables para identificar el sujeto y el contexto de tenant.
- Auth puede guardar en cache los resultados de validación para reducir las llamadas repetidas al proveedor de identidad.
Contexto de organización
Para la autorización, Auth usa el claimowner del JWT cuando está presente y, si no, la organización configurada. El producto que recibe una solicitud autorizada es dueño de su propio contexto de datos de tenant y de su aislamiento del plano de datos. No deduzcas un flujo de resolución de tenant entre productos solo a partir de Auth.
Para la configuración de despliegues multi-tenant, sigue la documentación del producto correspondiente y la de multi-tenancy.
Flujo SSO en el navegador
- Empieza el flujo
- El navegador empieza el SSO a través de Auth con una dirección de correo, un proveedor elegible y un
code_challengePKCE S256. Auth resuelve el tenant del lado del servidor a partir del dominio del correo y redirige el navegador al proveedor de identidad upstream.
- El navegador empieza el SSO a través de Auth con una dirección de correo, un proveedor elegible y un
- Maneja el callback
- El proveedor de identidad redirige el navegador a
PLUGIN_AUTH_SSO_CALLBACK_URL. Esta URL de callback absoluta debe estar registrada en la lista de URI de redirección permitidas de la aplicación del proveedor de identidad. - Console envía el código de autorización del proveedor, el estado de Auth y el
codeVerifierPKCE correspondiente mediante el grantsso_codede Auth. Auth consume el flujo una sola vez, retransmite el código al proveedor de identidad y devuelve el envelope del token.
- El proveedor de identidad redirige el navegador a
Flujo de inicio de sesión con MFA
- Desafío requerido
- Cuando se requiere MFA, Auth devuelve un estado de desafío MFA en lugar de completar el inicio de sesión de inmediato.
- Empieza la entrega del desafío
- Para MFA por correo o SMS, el cliente envía el token MFA devuelto y el método seleccionado para pedir la entrega del desafío, y Auth manda el código del desafío por ese método.
- Una aplicación TOTP genera su código de acceso localmente, sin una solicitud de entrega.
- Verificación del desafío
- El usuario envía el token MFA y un código de acceso o un código de recuperación, no ambos.
- Auth verifica el desafío y devuelve los access tokens cuando la verificación tiene éxito.
- Controles de sesión
- Los desafíos MFA caducan después del TTL configurado.
- Los intentos fallidos están limitados para proteger la cuenta de adivinaciones repetidas.
Flujo de autorización
- Haz cumplir el acceso
- Un producto protegido pregunta si el sujeto autenticado puede hacer una acción específica sobre un recurso específico.
- Auth evalúa la solicitud contra los permisos configurados de Access Manager.
- Auth puede guardar en cache las decisiones de autorización exitosas por rendimiento.
- Obtén los permisos
- Un cliente puede obtener los permisos disponibles para el usuario autenticado.
- Auth devuelve los permisos como un mapa de recursos a acciones permitidas.
Flujo de información de usuario
- Solicitud de perfil
- El cliente pide la información del perfil de usuario con un Bearer token.
- Auth valida el token y obtiene los detalles del usuario del proveedor de identidad.
- Auth devuelve información de usuario compatible con OIDC.
Flujo de logout
- Logout del usuario
- El cliente manda una solicitud de logout con el hint del ID token.
- Auth invalida la sesión en el proveedor de identidad.
- Auth limpia las entradas de cache relacionadas.
Resumen de la API
Auth expone APIs para:
- solicitar access tokens con
passwordoclient_credentials. - renovar access tokens.
- terminar sesiones de usuario.
- validar permisos de usuario.
- obtener información de usuario.
- obtener permisos de usuario.
- empezar, completar y descubrir flujos SSO en el navegador.
- empezar un desafío MFA.
- verificar un desafío MFA de inicio de sesión.
Decisiones de permisos
Cuando un producto protegido pregunta a Auth si un sujeto puede hacer una acción sobre un recurso, Auth resuelve el sujeto (un usuario humano o una aplicación machine-to-machine), busca los permisos asociados a él y devuelve una decisión de autorizado o denegado. Para los usuarios humanos, Auth evalúa los permisos incrustados en sus datos de identidad, incluidos los permisos directos de usuario y los roles aplicables. Para las aplicaciones machine-to-machine, los permisos vienen del conjunto de permisos configurado de la aplicación. Auth no inventa permisos. Evalúa los datos que gestiona Identity. Para el modelo completo de sujeto/recurso/acción, los ejemplos y cómo se protegen las rutas, consulta Aplicación en el nivel de producto. Para inspeccionar qué puede alcanzar el sujeto autenticado, usa Obtener permisos de usuario.
Almacenamiento de datos y cache
Auth usa datos de políticas estructurados y entradas de cache para reducir el trabajo repetido:
- Los datos de políticas almacenan las reglas de control de acceso de usuarios, grupos y aplicaciones.
- El cache de tokens almacena los resultados de validación de tokens.
- El cache de permisos almacena las decisiones de autorización exitosas.
- El cache de permisos de usuario almacena el mapa de recursos y acciones disponibles para un usuario.
- El cache de MFA almacena el estado temporal del desafío, los contadores de intentos y el estado de dispositivo recordado cuando está configurado.
Pruebas y confiabilidad
Auth pasa por pruebas continuas para mantener la confiabilidad y la seguridad. Las pruebas cubren:
- Los flujos de autenticación y de validación de tokens.
- El cumplimiento del control de acceso.
- El rendimiento y la eficiencia del cache.

