Node.js - Bcrypt no funciona

 
Vista:

Bcrypt no funciona

Publicado por Jonathan (2 intervenciones) el 03/07/2020 04:16:33
Hola gente!, consultita, estoy teniendo problema con el login....

Al querer verificar la contraseña con bcrypt, no me funciona, la comparacion con el email funciona bien...

pero al querer comparar el email y tambien la contraseña que sea correcta no pasa al console log


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
processLogin: function(req, res, next) {
 
    const errors = validationResult(req);
    db.users.findAll()
 
    .then((usuarios) => {
        usuarios.forEach(userLogged => {
            const password = req.body.password;
            if(userLogged.email == req.body.email && bcrypt.hashSync(req.body.password,userLogged.password,10)){
                console.log('LOGGED')
            }
        });
    }).catch((err) => {
        console.log(err)
    });
}


Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Enrique
Val: 12
Ha mantenido su posición en Node.js (en relación al último mes)
Gráfica de Node.js

Bcrypt no funciona

Publicado por Enrique (4 intervenciones) el 04/07/2020 23:50:56
Para poder usar el bcrypt nunca va a encajar el hash con el que guardaste la contraseña con el un hash que generas al momento
Te recomiendo usar la sentencia compare
1
2
3
4
5
bcrypt.compare(req.body.password,userLogged.password,(err,check)=>{
if(!err){//Se valida que no genere error
console.alert("body.password==userLogged.pass: ",check);
}
})

Como podras notar< no es necesario que generes un nuevo hash del password del request, la funciona compare hacer ese proceso.

Espero te funcione
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar