From 8c4168670a0d7271c26a7fd946d03d2b2c3384ae Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Fri, 18 Jan 2019 11:57:56 +0100 Subject: [PATCH] Create auth.js --- server/auth.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 server/auth.js diff --git a/server/auth.js b/server/auth.js new file mode 100644 index 0000000..853299e --- /dev/null +++ b/server/auth.js @@ -0,0 +1,30 @@ +module.exports = function(app_cfg, db, bcrypt, passport, LocalStrategy) { + + // setting up user authentication + passport.use(new LocalStrategy({ + usernameField: 'user' + }, function(user, password, done) { + console.log('hole hash-pw für user '+ user); + 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 users WHERE waip_users = ?', user, function(err, row) { + 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); + }); + }); + +};