# US-MGN-001-007-001: Gestión de Sesiones Activas

**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:** 3
**Sprint:** Sprint 2
**Fecha:** 2025-11-24

---

## User Story

**Como** usuario,
**Quiero** ver mis sesiones activas (dispositivos/navegadores),
**Para** identificar accesos no autorizados y cerrar sesiones sospechosas.

---

## Criterios de Aceptación

### Escenario 1: Listar sesiones activas
**Cuando** accedo a "Mis Sesiones",
**Entonces** veo lista de sesiones con: dispositivo, ubicación, última actividad, sesión actual marcada.

### Escenario 2: Cerrar sesión de otro dispositivo
**Cuando** selecciono sesión y hago clic "Cerrar sesión",
**Entonces** refresh token revocado, usuario debe re-login en ese dispositivo.

### Escenario 3: Cerrar todas las sesiones excepto actual
**Cuando** hago clic "Cerrar todas las demás sesiones",
**Entonces** todos los refresh tokens excepto el actual revocados.

---

## Reglas de Negocio

- **RN-1:** Sesión = refresh token + metadata (device, IP, user_agent)
- **RN-2:** Cerrar sesión = revocar refresh token
- **RN-3:** Máximo 5 sesiones activas simultáneas por usuario

---

## Tareas Técnicas

- [ ] GET /api/v1/auth/sessions - Listar sesiones activas
- [ ] DELETE /api/v1/auth/sessions/:id - Cerrar sesión específica
- [ ] DELETE /api/v1/auth/sessions - Cerrar todas menos actual
- [ ] Tests

---

## Estimación: 3 SP

---

## Referencias

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