- Nueva tabla `sesiones` para historial persistente de conexiones
- Job de detección de stale cada 2 min (10 min idle = desconectado)
- Inicialización resiliente desde BD al arrancar el servidor
- Nuevos endpoints: /api/sessions, /api/sessions/history, /api/sessions.csv
- Nueva vista "Sesiones" en el dashboard con estadísticas
- Historial integrado en UserCard y DispositivoCard
- Estadísticas de bytes in/out y duración por sesión
- Retención configurable de historial (90 días por defecto)
- Agregar configuración de pool con límites y timeouts
- Agregar manejo de errores del pool para evitar crashes
- Soluciona errores intermitentes de autenticación causados por conexiones inactivas
PROBLEMA:
- Frontend hacía fetch a APIs protegidas por Authentik
- Cuando sesión expiraba, Authentik redirigía causando error de CORS
- TypeError: Failed to fetch
SOLUCIÓN:
1. Backend inyecta window.__AUTHENTIK_USER__ en HTML inicial (app.js)
- Servidor lee headers de Authentik y los pasa al frontend
- Evita fetch innecesario en carga inicial
2. Frontend usa window.__AUTHENTIK_USER__ como fuente principal (useAuthentik.js)
- Solo hace fetch cuando se fuerza refresh
- Detecta errores de CORS como señal de sesión expirada
- Muestra mensaje claro al usuario
3. App.vue detecta errores de autenticación en APIs
- Cuando fetch falla con CORS, recarga página automáticamente
- Authentik manejará la re-autenticación
SEGURIDAD:
- Todos los endpoints /api/* siguen protegidos por Authentik
- No se exponen APIs sin autenticación
- Headers de Authentik solo presentes con sesión válida
- Backend: Nuevos endpoints /api/auth/status y /api/auth/check-group
- Frontend: Composable useAuthentik para gestión de autenticación
- Frontend: Componentes UserDropdown, UserAvatar, SessionStatusButton, GroupCheckButton
- Frontend: Integración en topbar con dropdown de usuario
- Config: URLs de Authentik y configuración de avatares
- Lectura de headers x-authentik-* inyectados por Traefik
- Verificación de grupos RBAC (frontend y backend)
- Validación de sesión contra Authentik