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

224
Vistas
No se pueden mostrar mensajes de inicio de sesión cuando el nombre de usuario es correcto y la contraseña es incorrecta

Acabo de empezar a aprender express. Estoy agregando autenticación básica usando el pasaporte js. He seguido esta documentación . Está funcionando un poco extraño en los mensajes de error. Cuando el nombre de usuario es correcto y la contraseña es incorrecta, no agrega ningún mensaje a la sesión. Solo tiene información básica como la ruta.

 app.post("/login",(req,res)=>{ const user = new User({ username:req.body.username, password:req.body.password }); console.log(req.session); req.login(user,function(err){ if(err){ console.log(err); } else{ passport.authenticate("local",{ failureRedirect: '/login', failureMessage: true })(req,res,function(){ res.redirect("/secrets"); }); } }); });

Cuando el nombre de usuario es incorrecto, agrega un mensaje a la sesión pero no se recarga correctamente. no se recarga en absoluto a "/login". Tengo que matar literalmente el proceso y luego se agregan los datos de esta sesión.

No parece funcionar en absoluto. Por favor, ayúdenme a tratar ambos errores, es decir, nombre de usuario correcto, contraseña incorrecta y nombre de usuario incorrecto, contraseña incorrecta.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No creo que uses esa función req.login correctamente.
Creo que no entiendes bien el inicio de login y authentication .

Lo que está pensando es if login fail then authenticate again mientras que, en realidad, authenticate user first, then login after

Así que el flujo, paso a paso será:

  1. Verifique al usuario, si este usuario ingresó una contraseña correcta o incluso si existe en el sistema.
    Este paso llamado authentication
  2. Después de verificar que el usuario es lo que afirma ser. Dejas que el usuario enter tu sistema. Esto se llama inicio de login

Aquí está el documento que puede seguir para comprender cómo funciona el pasaporte.
https://www.passportjs.org/concepts/authentication/downloads/html/ (Como es nuevo en expresarse, asegúrese de comprender completamente la sección General ; el Middleware y la Strategy son conceptos clave)
https://www.passportjs.org/tutorials/password/ (esta es una versión práctica del documento anterior)

over 4 years ago · Santiago Trujillo 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