Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

80
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda