fazt / nodejs-mysql-links

A CRUD Web Application with authentication using Nodejs, Mysql and other Javascript technologies
211 stars 167 forks source link

ayuda: bcrypt.compare #12

Closed Facu-mattiassi closed 4 years ago

Facu-mattiassi commented 4 years ago

hubo alguna actualizacion o se usa de otra manera el .compare(password, savedPassword); cuando quiero loguear el usuario da el siguiente error Error: Illegal arguments: string, undefined at Object.helpers.matchPassword (C:\Users\Facundo y Valeria\Desktop\nodejs_MySQL_app\src\lib\helpers.js:15:25) at Strategy._verify (C:\Users\Facundo y Valeria\Desktop\nodejs_MySQL_app\src\lib\passport.js:17:45)

el codigo en passport.js es cuando hago la consulta a la database

`const bcrypt = require('bcryptjs');

const helpers = {}; //la constante es un objeto

helpers.encryptPassword = async (password) => {
const salt = await bcrypt.genSalt(10);
const hash = await bcrypt.hash(password, salt);
return hash;
};

helpers.matchPassword = async (password, savedPassword) => { //savedPass es lo que esta en la DB try { return await bcrypt.compare(password, savedPassword);
} catch(e) {
console.log(e);
}
};

module.exports = helpers;`

Facu-mattiassi commented 4 years ago

ya lo resolvi, cuando en passport.js pedia el password de la base de datos, cuando cree la table escribi password con mayuscula y por eso no me comparaba las contraseñas.