# Backlog del Modulo MGN-001: Auth

## Resumen

| Campo | Valor |
|-------|-------|
| **Modulo** | MGN-001 |
| **Nombre** | Auth - Autenticacion |
| **Total User Stories** | 4 |
| **Total Story Points** | 29 |
| **Estado** | En documentacion |
| **Fecha** | 2025-12-05 |

---

## User Stories

### Sprint 1 - Foundation (21 SP)

| ID | Nombre | SP | Prioridad | Estado | Asignado |
|----|--------|-----|-----------|--------|----------|
| [US-MGN001-001](./US-MGN001-001.md) | Login con Email y Password | 8 | P0 | Ready | - |
| [US-MGN001-002](./US-MGN001-002.md) | Logout y Cierre de Sesion | 5 | P0 | Ready | - |
| [US-MGN001-003](./US-MGN001-003.md) | Renovacion Automatica de Tokens | 8 | P0 | Ready | - |

### Sprint 2 - Enhancement (8 SP)

| ID | Nombre | SP | Prioridad | Estado | Asignado |
|----|--------|-----|-----------|--------|----------|
| [US-MGN001-004](./US-MGN001-004.md) | Recuperacion de Password | 8 | P1 | Ready | - |

---

## Roadmap Visual

```
Sprint 1                          Sprint 2
├─────────────────────────────────┼─────────────────────────────────┤
│ US-001: Login         [8 SP]    │ US-004: Password Recovery [8 SP]│
│ US-002: Logout        [5 SP]    │                                 │
│ US-003: Token Refresh [8 SP]    │                                 │
├─────────────────────────────────┼─────────────────────────────────┤
│ Total: 21 SP                    │ Total: 8 SP                     │
└─────────────────────────────────┴─────────────────────────────────┘
```

---

## Dependencias entre Stories

```
US-MGN001-001 (Login)
       │
       ├──────────────────┐
       │                  │
       ▼                  ▼
US-MGN001-002 (Logout)  US-MGN001-003 (Refresh)
       │
       │
       ▼
US-MGN001-004 (Password Recovery)
       │
       └── Usa logout-all
```

---

## Criterios de Aceptacion del Modulo

### Funcionalidad

- [ ] Los usuarios pueden autenticarse con email y password
- [ ] Los usuarios pueden cerrar sesion de forma segura
- [ ] Las sesiones se renuevan automaticamente
- [ ] Los usuarios pueden recuperar su password

### Seguridad

- [ ] Passwords hasheados con bcrypt (salt rounds = 12)
- [ ] Tokens JWT firmados con RS256
- [ ] Refresh token en cookie httpOnly
- [ ] Deteccion de token replay
- [ ] Rate limiting implementado
- [ ] Bloqueo de cuenta por intentos fallidos
- [ ] No se revela existencia de emails

### Performance

- [ ] Login < 500ms
- [ ] Refresh < 200ms
- [ ] Blacklist en Redis

### Auditoria

- [ ] Todos los logins registrados
- [ ] Todos los logouts registrados
- [ ] Intentos fallidos registrados
- [ ] Cambios de password registrados

---

## Metricas del Modulo

### Cobertura de Codigo

| Capa | Objetivo | Actual |
|------|----------|--------|
| Backend Services | 80% | - |
| Backend Controllers | 70% | - |
| Frontend Services | 70% | - |
| Frontend Components | 60% | - |

### Performance

| Endpoint | Objetivo | P95 |
|----------|----------|-----|
| POST /auth/login | < 500ms | - |
| POST /auth/refresh | < 200ms | - |
| POST /auth/logout | < 200ms | - |
| POST /password/request-reset | < 1000ms | - |

---

## Riesgos

| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Vulnerabilidad en JWT | Media | Alto | Code review, testing seguridad |
| Token replay attack | Baja | Alto | Deteccion de familia, rotacion |
| Email delivery failure | Media | Medio | Retry queue, monitoring |
| Brute force en login | Media | Medio | Rate limiting, CAPTCHA |

---

## Definition of Done del Modulo

- [ ] Todas las User Stories completadas
- [ ] Tests unitarios > 80% coverage
- [ ] Tests e2e pasando
- [ ] Documentacion Swagger completa
- [ ] Code review aprobado
- [ ] Security review aprobado
- [ ] Performance review aprobado
- [ ] Despliegue en staging exitoso
- [ ] UAT aprobado

---

## Notas del Product Owner

- El login es bloqueante para todo el proyecto
- Password recovery puede esperar a Sprint 2
- Priorizar seguridad sobre features adicionales
- Considerar 2FA para fase posterior (no en MVP)

---

## Historial

| Version | Fecha | Autor | Cambios |
|---------|-------|-------|---------|
| 1.0 | 2025-12-05 | System | Creacion inicial con 4 US |
