26 lines
1.2 KiB
JavaScript
26 lines
1.2 KiB
JavaScript
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
|