aboutsummaryrefslogtreecommitdiff
path: root/config/passport.js
diff options
context:
space:
mode:
authornanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-23 11:27:52 +0000
committernanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-23 11:27:52 +0000
commit41dca46235c15578aab159074c99c904597c5fb2 (patch)
tree9930c2c013812620c25c17ac3fe6d2f48c6e4318 /config/passport.js
parent29e3a33a09be459a16248cbe6eabfccd8f9f4406 (diff)
Created admins collection. Added admin authentication.
Diffstat (limited to 'config/passport.js')
-rw-r--r--config/passport.js31
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.'});
}