Improve local login handling with Passport.js authentication
Update the `/api/local-login` route to use Passport.js middleware for robust local authentication, including error handling for authentication failures and successful login. Replit-Commit-Author: Agent Replit-Commit-Session-Id: e5565357-90e1-419f-b9a8-6ee8394636df Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/6d543d2c-20b9-4ea6-93fe-70fe9b1d9f80/e5565357-90e1-419f-b9a8-6ee8394636df/WbUtQAg
This commit is contained in:
parent
cc92c26836
commit
c7c0830780
@ -138,13 +138,38 @@ export async function setupLocalAuth(app: Express) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Route login locale POST
|
// Route login locale POST
|
||||||
app.post("/api/local-login", passport.authenticate("local"), (req, res) => {
|
app.post("/api/local-login", (req, res, next) => {
|
||||||
res.json({
|
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,
|
success: true,
|
||||||
user: req.user,
|
user: req.user,
|
||||||
message: "Login effettuato con successo"
|
message: "Login effettuato con successo"
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
})(req, res, next);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
// Route logout
|
// Route logout
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user