feat: Implementação completa do NoIdle - Cliente, Backend e Scripts

- 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
This commit is contained in:
root
2025-11-16 22:56:35 +00:00
commit 6086c13be7
58 changed files with 10693 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
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 };