diff --git a/app.js b/app.js index cc2e5f8..576b63e 100644 --- a/app.js +++ b/app.js @@ -65,6 +65,7 @@ app.configure('production', function(){ require('./controllers/index.js'); require('./controllers/login.js'); require('./controllers/signup.js'); +require('./controllers/logout.js'); // Libraries auth = require('./lib/auth.js'); diff --git a/controllers/login.js b/controllers/login.js index c72cf8b..e709997 100644 --- a/controllers/login.js +++ b/controllers/login.js @@ -3,22 +3,19 @@ app.get('/login', function(req, res) { }); app.post('/login', function(req, res) { - auth.login(req.body.username, req.body.password, function(err, user) { - if (err) console.log(err); - if (user) { + if ((err) || (!user)) { + req.session.error = 'Authentication failed. Check username and password.'; + res.redirect('back'); + } else if (user) { req.session.regenerate(function() { req.session.cookie.maxAge = 1000 * 60 * 60; //check -- 1 min? req.session.user = user; res.redirect('/'); }); - } else { - req.session.error = 'Authentication failed. Check username and password.'; - res.redirect('back'); } - }); }); diff --git a/lib/auth.js b/lib/auth.js index 85b45b3..5a89c6f 100644 --- a/lib/auth.js +++ b/lib/auth.js @@ -29,20 +29,22 @@ } exports.login = function(username, password, fn) { - User.findOne({'username': username}, function(err, user) { + User.findOne({'username':username}, function(err, user) { + if (err) { + return fn(new Error('[login] Retrieving ' + username + ' failed')); + } + if (user) { + console.log(user.password === Hash.sha256(password)); if (user.password === Hash.sha256(password)) { return fn(null, user); } else { return fn(new Error('[login] Incorrect password for ' +username)); } - console.log(user.password); - console.log(Hash.sha256(password)); } else { return fn(new Error('[login] User ' + username + ' not found!')); } }); - return fn(null, null); } })(); diff --git a/views/signup.jade b/views/signup.jade index 2625e11..c473cd3 100644 --- a/views/signup.jade +++ b/views/signup.jade @@ -9,10 +9,10 @@ h4 form(method='post', action='/signup') p label First Name: - input(type='text', name='username') + input(type='text', name='firstName') p label Last Name: - input(type='text', name='username') + input(type='text', name='lastName') p label Username: input(type='text', name='username')