import jwt from 'jsonwebtoken';
/**
* Verifica si un token es válido y no está en la lista de tokens inválidos.
*
* @param {string} token - El token a verificar.
* @param {Set<string>} invalidTokens - Conjunto de tokens inválidos.
* @returns {boolean} - `true` si el token es válido, `false` en caso contrario.
*/
const isValidToken = (token, invalidTokens) => {
try {
// Verifica si el token está en la lista de tokens inválidos
if (invalidTokens.has(token)) {
return false;
}
// Decodifica y verifica el token utilizando la clave secreta
const decoded = jwt.verify(token, process.env.JWT_SECRET);
// Opcional: Validaciones adicionales si son necesarias
return !!decoded;
} catch (error) {
// Si el token no es válido o está expirado, se captura la excepción
return false;
}
};
export default isValidToken;