UDT-002: Logout + Refresh Token con rotación y chain revocation #3
Reference in New Issue
Block a user
Delete Branch "feature/UDT-002"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
/api/v1/auth/refreshy/api/v1/auth/logoutcon autenticación segura y detección de token reuseHighlights
Tests
*Los 2 failures son pre-existentes del UDT-001 (Login tests con BD connection issue via TestHost) — NO hay regresión nueva.
Follow-ups (deuda técnica, no bloqueante)
/auth/refreshen axiosClient deincludes()aendsWith()para robustez futuraLogoutResponseDto.mensajecon contrato simplificado de API docs/auth/logouten MSW del test para limpiar stderrSmoke test
Ver
docs/smoke-test-udt-002.mdpara 7 escenarios de validación manual:Branch: feature/UDT-002 (36 commits desde origin/main)
Migración: V002__create_refresh_token.sql incluida
Tests: 100% TDD (RED → GREEN para cada capa)
Seguridad: 0 tokens raw en BD, 0 raw en logs, chain revocation en reuso
Pronto para review y merge a main.
Transaction-scoped tests conflicted with the repository opening its own connection, blocking on FK locks for the uncommitted seeded user and causing timeouts. Switched to the Respawn pattern used by UsuarioRepositoryTests ([Collection("Database")]) which commits seed data and resets between test classes.