- Flujos de autenticación conformes con OAuth2/OIDC.
- Capacidades de emisión, validación y renovación de tokens.
- Recuperación de información de usuario según los estándares OIDC.
- Aplicación de permisos para recursos.
- Optimización de rendimiento a través de mecanismos de caché.
Flujo de autenticación y autorización
Auth implementa varios flujos clave de autenticación y autorización:
Figura 1. Flujo de autenticación y autorización
Flujo de autenticación
1
Solicitud de token
-
Las aplicaciones cliente solicitan tokens de acceso usando:
- Password grant (nombre de usuario/contraseña para usuarios interactivos).
- Client credentials grant (para autenticación servicio-a-servicio).
- La solicitud se reenvía al Proveedor de Identidad.
- Se devuelven el token de acceso, token de renovación y opcionalmente el token de ID.
2
Renovación de token
- Las aplicaciones cliente usan tokens de renovación para obtener nuevos tokens de acceso.
- El token de renovación se valida vía el Proveedor de Identidad.
- Se emite un nuevo token de acceso.
3
Validación de token
- Los tokens de acceso se validan al acceder a recursos protegidos.
- Los resultados se almacenan en caché para optimización del rendimiento.
- Se extraen las reclamaciones del token para identificar el sujeto.
Flujo de autorización
1
Aplicar acceso
- El cliente solicita acceso a un recurso con una acción.
- Se extrae el ID del sujeto del token.
- El motor de políticas determina si el sujeto tiene permiso.
- El resultado se almacena en caché para rendimiento.
- Se devuelve la decisión de autorización.
2
Recuperar políticas
- El cliente solicita todas las políticas para el usuario autenticado.
- Se consulta al motor de políticas por todos los recursos y acciones permitidos.
- Las políticas se devuelven como un mapa de recursos a las acciones permitidas.
Flujo de información de usuario
1
Solicitud de perfil
- El cliente solicita información del perfil del usuario.
- Se valida el token de acceso.
- Los detalles del usuario se recuperan del Proveedor de Identidad.
- Se devuelve información del usuario conforme con OIDC.
Flujo de cierre de sesión
1
Cierre de sesión de usuario
- El cliente envía una solicitud de cierre de sesión con sugerencia de token de ID.
- Los tokens se invalidan en el Proveedor de Identidad.
- Las entradas de caché se invalidan.
Descripción general de la API
Auth proporciona gestión de identidad segura y control de acceso para aplicaciones de Lerian. Las APIs admiten:- Autenticación y gestión del ciclo de vida de tokens.
- Autorización y aplicación de permisos.
- Recuperación de información de usuario.
Estructura de políticas
Las tablas de políticas almacenan permisos usando el siguiente patrón:Regla de política (ptype=‘p’):
identity-editor-role permiso para realizar la acción GET en el recurso users.
Asignación de grupo (ptype=‘g’):
user123 al rol identity-editor-role.
Almacenamiento de datos y caché
Auth optimiza el rendimiento y la seguridad aprovechando un sistema de almacenamiento estructurado y mecanismos de caché:- Gestión de políticas: Almacena políticas de control de acceso para usuarios y servicios.
- Caché de introspección de tokens: Almacena en caché los resultados de validación de tokens para reducir verificaciones redundantes.
- Caché de permisos: Almacena decisiones de autorización para mejorar el tiempo de respuesta.
- Caché de políticas de usuario: Mantiene un mapa de recursos y acciones para un control de acceso eficiente.
Pruebas y confiabilidad
Auth se somete a pruebas continuas para mantener la confiabilidad y seguridad. Las pruebas cubren:- Flujos de autenticación y validación de tokens.
- Aplicación de control de acceso.
- Eficiencia de rendimiento y caché.

