← todos los posts
PATTERN19 jun 2026·1 min de lectura

Refresh tokens sin sesión: rotación con JWT en 80 líneas

JWT stateless puro tiene un problema famoso: no se puede revocar. El término medio que uso: access token corto (15 min) totalmente stateless + refresh token opaco, persistido y rotado en cada uso.

auth/refresh.ts
undefined

El detalle que casi nadie implementa: detección de reuso. Si un refresh token ya usado aparece de nuevo, alguien lo robó — revocar la familia entera desloga al atacante y al usuario legítimo, que simplemente vuelve a loguearse.

Costo real: una lectura a la base por refresh (cada ~15 min por usuario), no por request. El access token sigue 100% stateless.

← volver al blogBernardo Filipe · 19 jun 2026