fix: connexion par identifiant (adminItinova) ou email - conformité skill itinova-user-management

This commit is contained in:
Manus Agent
2026-04-28 11:54:01 -04:00
parent 75b80afb06
commit 33a621ba69
4 changed files with 23 additions and 18 deletions

View File

@@ -30,16 +30,20 @@ const router = Router();
// POST /api/auth/login
router.post('/login', async (req: Request, res: Response) => {
try {
const { email, password } = req.body;
// Accepter 'login' ou 'email' (compatibilité skill itinova-user-management)
const login = (req.body.login || req.body.email || '').trim();
const { password } = req.body;
if (!email || !password) {
return res.status(400).json({ error: 'Email et mot de passe requis' });
if (!login || !password) {
return res.status(400).json({ error: 'Identifiant et mot de passe requis' });
}
const pool = getPool();
// Recherche par email exact OU par identifiant (login sans @)
// Ex: 'adminItinova' trouvera 'adminItinova@santinova-soft.org'
const [rows]: any = await pool.execute(
'SELECT * FROM users WHERE email = ? AND is_active = TRUE',
[email]
`SELECT * FROM users WHERE (email = ? OR email = CONCAT(?, '@santinova-soft.org')) AND is_active = TRUE`,
[login, login]
);
if (!rows.length) {