Wachalarm-IP-Web/server/auth.js
Robert Richter 9b8c603322 bugfix
2019-01-24 18:17:51 +01:00

33 lines
1011 B
JavaScript

module.exports = function(app_cfg, db, bcrypt, passport, LocalStrategy) {
// setting up user authentication
passport.use(new LocalStrategy({
usernameField: 'user'
}, function(user, password, done) {
db.get('SELECT password FROM waip_users WHERE user = ?', user, function(err, row) {
if (!row) return done(null, false);
bcrypt.compare(password, row.password, function(err, res) {
if (!res) return done(null, false);
db.get('SELECT user, id FROM waip_users WHERE user = ?', user, function(err, row) {
//console.log('got user: '+row+' err: '+ err);
return done(null, row);
});
});
});
}));
passport.serializeUser(function(user, done) {
return done(null, user.id);
});
passport.deserializeUser(function(id, done) {
db.get('SELECT id, user, permissions FROM waip_users WHERE id = ?', id, function(err, row) {
if (!row) {
return done(null, false);
}
return done(null, row);
});
});
};