FASE 1 ✅: Rate limiting específico para /auth/refresh - Nuevo refreshTokenRateLimiter (15 refreshes/15min por token) - Key generator: IP + hash(refreshToken) - Previene abuse de tokens individuales FASE 2 ✅: Token rotation mechanism - Backend code implementado (backward-compatible) - Detección de token reuse → revoca todas las sesiones - Nuevo refresh token en cada refresh - Migration SQL creada: apps/database/migrations/2026-01-27_add_token_rotation.sql Archivos de código modificados (en .gitignore): - apps/backend/src/core/middleware/rate-limiter.ts - apps/backend/src/modules/auth/auth.routes.ts - apps/backend/src/modules/auth/services/token.service.ts - apps/backend/src/modules/auth/types/auth.types.ts - apps/database/ddl/schemas/auth/tables/04-sessions.sql - apps/database/migrations/2026-01-27_add_token_rotation.sql Pendiente: FASE 3 (Session Validation) y FASE 4 (Proactive Refresh) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
79 lines
2.0 KiB
YAML
79 lines
2.0 KiB
YAML
# METADATA.yml - BLOCKER-001 Token Refresh Improvements
|
|
id: TASK-2026-01-27-BLOCKER-001-TOKEN-REFRESH
|
|
fecha: "2026-01-27"
|
|
titulo: "BLOCKER-001: Token Refresh Improvements"
|
|
descripcion: "Implementar mejoras al sistema de token refresh: rate limiting específico, token rotation, session validation, y proactive refresh. Sistema actual tiene auto-refresh funcionando al 90%, solo faltan mejoras de seguridad y UX."
|
|
|
|
clasificacion:
|
|
tipo: "refactor"
|
|
origen: "plan"
|
|
prioridad: "P0"
|
|
feature: "OQI-001-fundamentos-auth"
|
|
|
|
proyecto:
|
|
nombre: trading-platform
|
|
path: projects/trading-platform
|
|
nivel: STANDALONE
|
|
|
|
estado:
|
|
actual: en_progreso
|
|
progreso: 0%
|
|
fecha_inicio: "2026-01-27"
|
|
fecha_fin: null
|
|
|
|
fases_capved:
|
|
contexto: completado
|
|
analisis: completado
|
|
planeacion: completado
|
|
validacion: pendiente
|
|
ejecucion: en_progreso
|
|
documentacion: pendiente
|
|
|
|
agente:
|
|
principal: "claude-code"
|
|
subagentes: []
|
|
|
|
esfuerzo_estimado: 12h
|
|
|
|
fases:
|
|
- id: "FASE-1"
|
|
nombre: "Rate Limiting Específico"
|
|
horas: 2h
|
|
archivos:
|
|
- "apps/backend/src/core/middleware/rate-limiter.ts"
|
|
- "apps/backend/src/modules/auth/auth.routes.ts"
|
|
estado: pendiente
|
|
|
|
- id: "FASE-2"
|
|
nombre: "Token Rotation"
|
|
horas: 3h
|
|
archivos:
|
|
- "apps/database/ddl/schemas/auth/tables/04-sessions.sql"
|
|
- "apps/backend/src/modules/auth/services/token.service.ts"
|
|
- "apps/backend/src/modules/auth/types/auth.types.ts"
|
|
estado: pendiente
|
|
|
|
- id: "FASE-3"
|
|
nombre: "Session Validation"
|
|
horas: 3h
|
|
archivos:
|
|
- "apps/backend/src/core/middleware/auth.middleware.ts"
|
|
- "apps/backend/src/modules/auth/services/token.service.ts"
|
|
estado: pendiente
|
|
|
|
- id: "FASE-4"
|
|
nombre: "Proactive Refresh"
|
|
horas: 4h
|
|
archivos:
|
|
- "apps/backend/src/core/middleware/auth.middleware.ts"
|
|
- "apps/frontend/src/lib/apiClient.ts"
|
|
- "apps/backend/src/config/cors.ts"
|
|
estado: pendiente
|
|
|
|
commits: []
|
|
|
|
metricas:
|
|
archivos_modificados: 0
|
|
archivos_creados: 0
|
|
lineas_codigo: 0
|