Skip to content

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.

  • 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
POST /v1/auth/token
→ Credenciales (`username`/`password`; `client_id`/`client_secret`)
← Token de acceso + información del usuario
GET /v1/auth/token
→ Sesión activa válida
← Nuevo token de acceso
GET /v1/auth/token/auth_check
→ Bearer token
← Confirmación de validez

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

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

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 usuario
  • auth:organization:write - Modificación de organización
  • auth:secret:read - Acceso a secretos de API
  • 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
  • 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