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,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);
|
||||
});
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user