- Cliente Windows com modo silencioso e auto-start robusto - Backend Node.js + API REST - Frontend Next.js + Dashboard - Scripts PowerShell de configuração e diagnóstico - Documentação completa - Build scripts para Windows e Linux - Solução de auto-start após reinicialização Resolução do problema: Cliente não voltava ativo após reboot Solução: Registro do Windows + Task Scheduler + Modo silencioso
24 lines
801 B
JavaScript
24 lines
801 B
JavaScript
const jwt = require('jsonwebtoken');
|
|
|
|
const authenticateToken = (req, res, next) => {
|
|
const authHeader = req.headers['authorization'];
|
|
const token = authHeader && authHeader.split(' ')[1];
|
|
|
|
if (!token) {
|
|
console.log('❌ Token não fornecido para:', req.path);
|
|
return res.status(401).json({ error: 'Token não fornecido' });
|
|
}
|
|
|
|
jwt.verify(token, process.env.JWT_SECRET, (err, user) => {
|
|
if (err) {
|
|
console.log('❌ Token inválido para:', req.path, err.message);
|
|
return res.status(403).json({ error: 'Token inválido' });
|
|
}
|
|
console.log('✅ Token válido para:', req.path, 'User:', user.email, 'Company:', user.company_id);
|
|
req.user = user;
|
|
next();
|
|
});
|
|
};
|
|
|
|
module.exports = { authenticateToken };
|