Skip to content

Quyca v2.2.0 — Refresh tokens, rate limiting y el cierre del path traversal

Latest

Choose a tag to compare

@OscarCardozoDev OscarCardozoDev released this 04 Sep 17:25
· 2 commits to master since this release

Refresh tokens, rate limiting por cuenta y el cierre del path traversal

Detalle completo: obsidian/versions/2.2.0.md en el repo raíz (Quyca).

Lo que entra

Backend

  • Refresh tokens con rotación y detección de reuso, sobre un redis-auth dedicado
  • Rate limiting por cuenta (AccountThrottlerGuard) en POST /auth/login — por email, no por IP
  • Cierre de un path traversal real en la subida de archivos (resolveFolder() + safeFileName())
  • Validación de entradas: listas blancas, topes de tamaño, validación de URLs
  • /health ahora también hace PING a redis-auth, no solo SELECT 1 a Postgres

Frontend

  • Módulo Tools: afinador y "Cantar con Guía"
  • Refresh single-flight ante 401 concurrentes
  • Rate limiting en nginx (limit_req / limit_conn)
  • /explore-groups se guardea con canSee, cierra un agujero de autorización
  • Responsive completo del dashboard, selector de institución movido a Inicio, invitaciones a un modal

Breaking changes

Ninguno en la superficie de API — ningún endpoint cambió de ruta ni de forma de respuesta.

Sí hubo un requisito de infraestructura: REDIS_AUTH_URL es una variable nueva sin valor por
defecto, y el servicio redis-auth no se crea solo en un deploy (--no-deps). Se preparó a mano en
la VM antes de este release y quedó verificado (PING responde NOAUTH, contraseñas coincidentes).
Detalle en obsidian/versions/2.2.0.md §3 y §4.

Qué hacer para desplegar

Nada adicional — el pipeline (push a master → tests + build + deploy + verificación por curl) lo
hace solo, sobre una VM que ya tiene redis-auth preparado.


🤖 Generated with Claude Code

https://claude.ai/code/session_01NpSUXHLN5dK8hkB7QB2bgm