/** * Helpers para firmar y verificar tokens JWT. * * Responsabilidades: * - signToken(payload) → firma un token HS256 con expiracion configurable. * - verifyToken(token) → verifica firma, expiracion y algoritmo (solo HS256). * * Consumido por: * - auth.service.js → al hacer login exitoso. * - requireAuth.js → en cada peticion protegida. * * Configuracion: * - JWT_SECRET : minimo 32 chars (validado en config.js). * - JWT_EXPIRES_IN: default '1h'. */ import jwt from 'jsonwebtoken'; import { config } from '../config.js'; export const signToken = (payload) => jwt.sign(payload, config.JWT_SECRET, { algorithm: 'HS256', expiresIn: config.JWT_EXPIRES_IN, }); export const verifyToken = (token) => jwt.verify(token, config.JWT_SECRET, { algorithms: ['HS256'] });