# US-MGN-001-007-002: Logout (Cerrar Sesión)

**RF Asociado:** [RF-MGN-001-007](../../02-modelado/requerimientos-funcionales/mgn-001/RF-MGN-001-007-session-management.md)
**Módulo:** MGN-001 - Fundamentos
**Epic:** Autenticación y Seguridad
**Prioridad:** P0 (MVP)
**Story Points:** 2
**Sprint:** Sprint 1
**Fecha:** 2025-11-24

---

## User Story

**Como** usuario autenticado,
**Quiero** cerrar sesión,
**Para** proteger mi cuenta al terminar de usar el sistema.

---

## Criterios de Aceptación

### Escenario 1: Logout exitoso
**Cuando** hago clic en "Cerrar Sesión",
**Entonces** refresh token revocado, JWT eliminado del localStorage, redirigido a login.

### Escenario 2: Logout después de cambio de contraseña
**Cuando** cambio mi contraseña,
**Entonces** todas las sesiones cerradas automáticamente excepto la actual.

---

## Reglas de Negocio

- **RN-1:** Logout revoca solo el refresh token actual (sesión actual)
- **RN-2:** JWT no se puede revocar (stateless), pero caducará en 8 horas
- **RN-3:** Frontend elimina tokens del storage

---

## Tareas Técnicas

- [ ] POST /api/v1/auth/logout - Revocar refresh token actual
- [ ] Frontend: eliminar tokens, limpiar store, redirect a /login
- [ ] Tests

---

## Estimación: 2 SP

---

## Referencias

- [RF-MGN-001-007](../../02-modelado/requerimientos-funcionales/mgn-001/RF-MGN-001-007-session-management.md)
