Servicio de autenticación
El servicio de autenticación de DataInt proporciona un sistema completo de gestión de usuarios, sesiones y permisos basado en OAuth2. Este servicio permite autenticar usuarios, gestionar sesiones activas, administrar organizaciones y controlar el acceso a recursos mediante un sistema de scopes granular.
Resumen del Servicio de Autenticación
Section titled “Resumen del Servicio de Autenticación”Características Principales
Section titled “Características Principales”- Autenticación OAuth2: Sistema robusto de autenticación con tokens de acceso
- Gestión de Sesiones: Control completo de sesiones activas con información detallada del dispositivo
- Administración de Usuarios: CRUD completo para perfiles de usuario
- Gestión Organizacional: Control de configuraciones y metadatos de organizaciones
- Sistema de Permisos: Scopes granulares para control de acceso a recursos
- Secretos de API: Gestión de claves API para integracaciones
- Recuperación de Contraseñas: Flujo seguro de restablecimiento de credenciales
Flujos de Autenticación
Section titled “Flujos de Autenticación”1. Autenticación Básica
Section titled “1. Autenticación Básica”POST /v1/auth/token→ Credenciales (`username`/`password`; `client_id`/`client_secret`)← Token de acceso + información del usuario2. Renovación de Token
Section titled “2. Renovación de Token”GET /v1/auth/token→ Sesión activa válida← Nuevo token de acceso3. Verificación de Token
Section titled “3. Verificación de Token”GET /v1/auth/token/auth_check→ Bearer token← Confirmación de validezGestión de Sesiones
Section titled “Gestión de Sesiones”El sistema mantiene un registro detallado de todas las sesiones de usuario, incluyendo:
- Información del dispositivo: Tipo de dispositivo, navegador, sistema operativo
- Ubicación de acceso: Dirección IP de origen
- Tiempo de actividad: Marcas temporales de creación y último acceso
- Estado de sesión: Sesión activa vs. historial de sesiones
Estructura Organizacional
Section titled “Estructura Organizacional”Cada usuario pertenece a una organización que define:
- Configuraciones de límites: Control de usuarios y sesiones máximas
- Servicios disponibles: Catálogo de servicios accesibles
- Metadatos personalizados: Información adicional específica de la organización
- Configuraciones de dominio: Gestión de dominios asociados
Sistema de Permisos
Section titled “Sistema de Permisos”Los permisos se gestionan mediante scopes que definen:
- Servicio: Identificador del servicio al que aplica el permiso
- Scope: Categoría específica del recurso
- Permission: Nivel de acceso (read, write, admin, etc.)
Ejemplos de scopes:
auth:user:read- Lectura de datos de usuarioauth:organization:write- Modificación de organizaciónauth:secret:read- Acceso a secretos de API
Seguridad y Buenas Prácticas
Section titled “Seguridad y Buenas Prácticas”- Tokens con expiración: Todos los tokens tienen tiempo de vida limitado (15 minutos)
- Validación de sesiones: Verificación constante de la validez de las sesiones
- Autenticación de cliente: Soporte para credenciales de aplicación adicionales
- Cifrado de secretos: Gestión segura de claves API y secretos
- Auditoría de accesos: Registro completo del historial de sesiones
Códigos de Respuesta Comunes
Section titled “Códigos de Respuesta Comunes”- 200: Operación exitosa
- 422: Error de validación en los datos enviados
- 401: Token inválido o expirado
- 403: Permisos insuficientes para la operación