const jwt = require('../../Biblioteca/node_modules/jsonwebtoken'); // Importa a biblioteca JSON Web Token const { jwtSecret } = require('../config/configuracao'); // Importa a variável de configuração jwtSecret // Função middleware para autenticar tokens JWT function autenticarToken(req, res, next) { // Obtém o token de autorização do cabeçalho da requisição const authHeader = req.headers['authorization']; const token = authHeader && authHeader.split(' ')[1]; // Verifica se o token está presente if (!token) { return res.status(401).send('Token não encontrado'); // Retorna erro 401 se o token não estiver presente } // Verifica a validade do token usando o segredo JWT jwt.verify(token, jwtSecret, (err, user) => { if (err) { return res.status(403).send('Token inválido'); // Retorna erro 403 se o token for inválido } req.user = user; // Armazena os dados do usuário no objeto de requisição next(); // Chama o próximo middleware ou rota }); } module.exports = autenticarToken; // Exporta a função de autenticação de token para ser usada em outras partes da aplicação