diff options
| author | nanalelfe <nargiza.nosirova@mail.utoronto.ca> | 2016-07-23 11:27:52 +0000 |
|---|---|---|
| committer | nanalelfe <nargiza.nosirova@mail.utoronto.ca> | 2016-07-23 11:27:52 +0000 |
| commit | 41dca46235c15578aab159074c99c904597c5fb2 (patch) | |
| tree | 9930c2c013812620c25c17ac3fe6d2f48c6e4318 /config | |
| parent | 29e3a33a09be459a16248cbe6eabfccd8f9f4406 (diff) | |
Created admins collection. Added admin authentication.
Diffstat (limited to 'config')
| -rw-r--r-- | config/passport.js | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/config/passport.js b/config/passport.js index 19acd7f..27f835f 100644 --- a/config/passport.js +++ b/config/passport.js @@ -3,7 +3,9 @@ var dbFile = require("../node_simple.js"); var LocalStrategy = require('passport-local').Strategy; var bcrypt = require('bcrypt-nodejs'); -var encryptPassword = function (password) { +var exports = module.exports = {}; + +var encryptPassword = exports.encryptPassword = function (password) { return bcrypt.hashSync(password, bcrypt.genSaltSync(5), null); } @@ -20,6 +22,7 @@ passport.deserializeUser(function(user, done) { }); + // fields - [email, user_name, f_name, l_name, uni, department, password, phone_num] passport.use('local_signup', new LocalStrategy({ @@ -73,27 +76,41 @@ passport.use('local_signin', new LocalStrategy({ passwordField: 'password', passReqToCallback: true }, function (req, usrname, password, done) { - dbFile.retrieveUser(usrname, function (success, error, user, message) { if (!success && error) { return done(message); } - else if (!success && !error) { - console.log(message); - return done(null, false, {message: message}); + else if (!success && !error) { // Username is undefined + //return done(null, false, {message: message}); + // ADMIN + dbFile.adminExists(usrname, function (error, exists, data, message) { + if (error) { + return done(message); + } else if (!error && !exists){ + return done(null, false, {message: 'Username does not exist.'}); + } else { + console.log("data: " + data); + if (comparePassword(password, data.password)) { + return done(null, data); + } else { + return done(null, false, {message: 'Password incorrect.'}); + } + } + }); } else { - console.log(user[0]); + dbFile.retrievePassword(usrname, function(success, hash_pwd, message) { if (!success) { return done(message); } else { console.log(hash_pwd); + console.log("compare password: " + comparePassword(password, hash_pwd)); if (comparePassword(password, hash_pwd)) { - return done(null, user[0]); + return done(null, user); } else { return done(null, false, {message: 'Password incorrect.'}); } |
