Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

79
Views
¿Por qué el pasaporte.js crea una página no autorizada por sí solo cuando falla la autenticación? ¿Cómo puedo redirigirlo a una página especial?

aquí está mi enrutador:

 router.post('/login', passport.authenticate('local'), (req, res, next) => { body('backurl').trim().escape(); let referrer = req.get('Referrer') if (!req.user) { return res.render('login', { message: 'Unable to login, the password or the username are wrong', backUrl: referrer }); } if (req.body.backurl == null || req.body.backurl == 'http://localhost:3000/signup' || req.body.backurl == 'http://localhost:3000/login') { return res.redirect('/yourcourses'); } return res.redirect(req.body.backurl); } );

Cuando el usuario y la autenticación local funcionan, funciona perfectamente, sin embargo, si falla, quiero volver a mostrar la página de inicio de sesión con un mensaje y una variable, sin embargo, si falla, el sitio web simplemente crea una página vacía con la palabra "no autorizado" sin algo mas, como lo soluciono? ¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Cuando falla la autenticación en Passport, no se llama a la función next() , la cadena de middleware se detiene y se devuelve un error genérico, es por eso que su código no se está ejecutando.

La solución podría ser crear otra ruta, por ejemplo, '/loginfail' , y mover allí el código que vuelve a mostrar la página de 'inicio de sesión' con la referencia y el mensaje de error.

Luego, modifique la llamada a passport.authenticate para incluir un objeto de opciones, como este:

 passport.authenticate('local', { failureRedirect: '/loginfail' });

Entonces, cuando falla la autenticación, Passport llama a la ruta que especificó.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!