Indice de Requerimientos Funcionales - MGN-001 Auth
Resumen del Modulo
| Campo |
Valor |
| Codigo |
MGN-001 |
| Nombre |
Auth - Autenticacion |
| Prioridad |
P0 - Critica |
| Total RFs |
5 |
| Estado |
En documentacion |
| Fecha |
2025-12-05 |
Descripcion General
El modulo de autenticacion es el pilar fundamental de seguridad del ERP. Proporciona:
- Autenticacion: Verificacion de identidad del usuario
- Autorizacion: Generacion de tokens con permisos
- Gestion de Sesiones: Control del ciclo de vida de sesiones
- Seguridad: Proteccion contra ataques comunes
Lista de Requerimientos Funcionales
| ID |
Nombre |
Prioridad |
Complejidad |
Estado |
Story Points |
| RF-AUTH-001 |
Login con Email y Password |
P0 |
Media |
Aprobado |
10 |
| RF-AUTH-002 |
Generacion y Validacion JWT |
P0 |
Alta |
Aprobado |
9 |
| RF-AUTH-003 |
Refresh Token y Renovacion |
P0 |
Media |
Aprobado |
10 |
| RF-AUTH-004 |
Logout y Revocacion |
P0 |
Baja |
Aprobado |
6 |
| RF-AUTH-005 |
Recuperacion de Password |
P1 |
Media |
Aprobado |
10 |
Total Story Points: 45
Grafo de Dependencias
RF-AUTH-001 (Login)
│
├──► RF-AUTH-002 (JWT Tokens)
│ │
│ └──► RF-AUTH-003 (Refresh Token)
│ │
│ └──► RF-AUTH-004 (Logout)
│
└──► RF-AUTH-005 (Password Recovery)
│
└──► RF-AUTH-004 (Logout) [logout-all]
Orden de Implementacion Recomendado
- RF-AUTH-001 - Login (base de todo)
- RF-AUTH-002 - JWT Tokens (generacion)
- RF-AUTH-003 - Refresh Token (renovacion)
- RF-AUTH-004 - Logout (cierre de sesion)
- RF-AUTH-005 - Password Recovery (recuperacion)
Endpoints del Modulo
| Metodo |
Endpoint |
RF |
Descripcion |
| POST |
/api/v1/auth/login |
RF-AUTH-001 |
Autenticar usuario |
| POST |
/api/v1/auth/refresh |
RF-AUTH-003 |
Renovar tokens |
| POST |
/api/v1/auth/logout |
RF-AUTH-004 |
Cerrar sesion |
| POST |
/api/v1/auth/logout-all |
RF-AUTH-004 |
Cerrar todas las sesiones |
| POST |
/api/v1/auth/password/request-reset |
RF-AUTH-005 |
Solicitar recuperacion |
| POST |
/api/v1/auth/password/reset |
RF-AUTH-005 |
Cambiar password |
| GET |
/api/v1/auth/password/validate-token/:token |
RF-AUTH-005 |
Validar token reset |
Tablas de Base de Datos
| Tabla |
RF |
Descripcion |
users |
RF-AUTH-001 |
Usuarios (existente, agregar columnas) |
refresh_tokens |
RF-AUTH-002, RF-AUTH-003 |
Tokens de refresh |
revoked_tokens |
RF-AUTH-002 |
Blacklist de tokens |
session_history |
RF-AUTH-001, RF-AUTH-004 |
Historial de sesiones |
login_attempts |
RF-AUTH-001 |
Control de intentos fallidos |
password_reset_tokens |
RF-AUTH-005 |
Tokens de recuperacion |
password_history |
RF-AUTH-005 |
Historial de passwords |
Criterios de Aceptacion Consolidados
Seguridad
Funcionalidad
Auditoria
Reglas de Negocio Transversales
| ID |
Regla |
Aplica a |
| RN-T001 |
Multi-tenancy: tenant_id obligatorio en tokens |
Todos |
| RN-T002 |
Usuarios pueden tener multiples sesiones |
RF-001, RF-003 |
| RN-T003 |
Maximo 5 sesiones activas por usuario |
RF-001, RF-003 |
| RN-T004 |
Bloqueo despues de 5 intentos fallidos |
RF-001 |
| RN-T005 |
Notificaciones de seguridad via email |
RF-004, RF-005 |
Estimacion Total
| Capa |
Story Points |
| Database |
9 |
| Backend |
23 |
| Frontend |
13 |
| Total |
45 |
Riesgos Identificados
| Riesgo |
Probabilidad |
Impacto |
Mitigacion |
| Vulnerabilidad en manejo de tokens |
Media |
Alto |
Code review, testing seguridad |
| Performance en blacklist |
Baja |
Medio |
Redis con TTL automatico |
| Email delivery failures |
Media |
Medio |
Retry queue, logs |
| Session fixation |
Baja |
Alto |
Regenerar tokens post-login |
Referencias
Documentacion Relacionada
Directivas Aplicables
DIRECTIVA-DOCUMENTACION-PRE-DESARROLLO.md
DIRECTIVA-PATRONES-ODOO.md
ESTANDARES-API-REST-GENERICO.md
Historial de Cambios
| Version |
Fecha |
Autor |
Cambios |
| 1.0 |
2025-12-05 |
System |
Creacion inicial con 5 RFs |
Aprobaciones
| Rol |
Nombre |
Fecha |
Firma |
| Analista |
System |
2025-12-05 |
[x] |
| Tech Lead |
- |
- |
[ ] |
| Product Owner |
- |
- |
[ ] |