diff --git a/server/localAuth.ts b/server/localAuth.ts index bae7ff5..e8fffc9 100644 --- a/server/localAuth.ts +++ b/server/localAuth.ts @@ -138,12 +138,37 @@ export async function setupLocalAuth(app: Express) { }); // Route login locale POST - app.post("/api/local-login", passport.authenticate("local"), (req, res) => { - res.json({ - success: true, - user: req.user, - message: "Login effettuato con successo" - }); + app.post("/api/local-login", (req, res, next) => { + passport.authenticate("local", (err: any, user: any, info: any) => { + if (err) { + return res.status(500).json({ + success: false, + message: "Errore durante il login" + }); + } + + if (!user) { + return res.status(401).json({ + success: false, + message: info?.message || "Email o password non corretti" + }); + } + + req.login(user, (loginErr) => { + if (loginErr) { + return res.status(500).json({ + success: false, + message: "Errore durante il login" + }); + } + + return res.json({ + success: true, + user: req.user, + message: "Login effettuato con successo" + }); + }); + })(req, res, next); });