/** * Rate limiter especifico para el endpoint de login. * * Responsabilidades: * - Limitar a 5 intentos de login cada 15 minutos por IP. * - Mitigar ataques de fuerza bruta contra credenciales. * - Responder 429 con codigo TOO_MANY_REQUESTS cuando se excede. * * Aplicado unicamente en POST /api/v1/auth/login. * El rate limiter global (200 req / 15 min) tambien protege el resto de la API. */ import rateLimit from 'express-rate-limit'; const isProd = process.env.NODE_ENV === 'production'; export const rateLimitLogin = rateLimit({ windowMs: 15 * 60 * 1000, max: isProd ? 5 : 50, standardHeaders: true, legacyHeaders: false, message: { ok: false, error: { code: 'TOO_MANY_REQUESTS', message: 'Too many login attempts, try again later' }, }, });