apollo-passport-local
Version:
Local strategy using email address and hashed, bcrypted password
22 lines (18 loc) • 705 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = verify;
function verify(email, password, done) {
var _this = this;
this.db.fetchUserByEmail(email).then(function (user) {
if (!user) return done(null, false, "Invalid email");
var storedPassword = user && user.services && user.services.password && user.services.password.bcrypt;
if (!storedPassword) return done(null, false, "No password set");
_this.comparePassword(password, storedPassword, function (err, match) {
if (err) done(err);else if (match) done(null, user);else done(null, false, "Invalid password");
});
}).catch(function (err) {
return done(err);
});
}