Passport JS
Introduction
Strategy
const LocalStrategy = require('passport-local').Strategy;
const User = require('./account');
const bcrypt= require('bcryptjs');
// validation logic
const strategy = new LocalStrategy(function (username, password, done) {
let checkusername = `SELECT * FROM account WHERE username=?`
User.query(checkusername, [username], function (err, result) {
if (result.length > 0) {
bcrypt.compare(password, result[0].password, function (err, match) {
if (err) throw err;
if (match) {
// set the user into request
return done(null, result, {message:username});
} else {
// the request user be false when failed to login
return done(null, false, { message: 'Wrong Password'});
}
});
} else {
return done(null, false, {message: 'Wrong Username'});
}
})
})
}
module.exports = strategy;Middleware
Documentation
Last updated