feat: consolidate backend improvements, frontend UX fixes and Wasabi storage support
This commit is contained in:
@@ -72,13 +72,28 @@ router.post('/verify-client-credentials', async (req, res) => {
|
||||
// Obter a API KEY do ambiente ou usar uma padrão (fallback local temporário)
|
||||
const serverApiKey = process.env.CLIENT_API_KEY || 'rf-dental-secure-key-2026';
|
||||
|
||||
// Se o usuário mandou apenas o Token/API Key (fluxo do Client Windows)
|
||||
if (token) {
|
||||
if (token === serverApiKey) {
|
||||
return res.json({ success: true, message: 'API Key válida' });
|
||||
}
|
||||
|
||||
// Se não for a API Key padrão, tentamos verificar se é um JWT
|
||||
// Verificar se é um machine_token (UUID tem hífen)
|
||||
if (email && password && token.includes('-')) {
|
||||
console.log(`[AUTH] Tentando validar machine_token: ${token} para email: ${email}`);
|
||||
const device = await db.get(`SELECT * FROM clinics_devices WHERE machine_token = $1`, [token]);
|
||||
if (device && device.email === email && device.is_active) {
|
||||
const validPassword = await verifyPassword(password, device.password_hash);
|
||||
console.log(`[AUTH] validPassword=${validPassword}`);
|
||||
if (validPassword) {
|
||||
return res.json({ success: true, message: 'Machine Token e Credenciais válidas', clinic: { name: device.clinic_name, pc: device.pc_name } });
|
||||
}
|
||||
} else {
|
||||
console.log(`[AUTH] Falha: device=${!!device}, is_active=${device?.is_active}`);
|
||||
}
|
||||
return res.status(401).json({ error: 'Credenciais da clínica ou Token inválidos' });
|
||||
}
|
||||
|
||||
// Se não for a API Key padrão nem machine_token, tentamos verificar se é um JWT
|
||||
try {
|
||||
const jwt = require('jsonwebtoken');
|
||||
const { JWT_SECRET } = require('../auth');
|
||||
|
||||
Reference in New Issue
Block a user