From 76d2ef0c64911b449d206df7f206a0d0548266e0 Mon Sep 17 00:00:00 2001 From: nanalelfe Date: Wed, 27 Jul 2016 19:07:23 -0400 Subject: Fixed login bug --- app.js | 4 ++++ config/passport.js | 3 +++ routes/user.js | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index b0008a3..8d97dc8 100644 --- a/app.js +++ b/app.js @@ -58,6 +58,10 @@ app.use(function(req, res, next) { res.locals.login = req.isAuthenticated(); // global variable res.locals.session = req.session; res.locals.user = req.user; + console.log(req.user && !req.user.login_info && (req.originalUrl != '/user/verify')); + if (req.user && !req.user.login_info && (req.originalUrl != '/user/verify')){ + req.logout(); + } res.locals.messages = req.session.messages; next(); }); diff --git a/config/passport.js b/config/passport.js index 498e0fd..5f2ee94 100644 --- a/config/passport.js +++ b/config/passport.js @@ -152,6 +152,7 @@ passport.use(new FacebookStrategy({ function(req, accessToken, refreshToken, profile, done) { dbFile.userVerifiedBefore(req.user.user_name, function(err, data) { if (err) { + req.logout(); return done(err); } else if (data.length) { if (data[0].facebookID == profile.id) { @@ -159,6 +160,7 @@ passport.use(new FacebookStrategy({ user.login_info = data[0]; return done(null, user); } else { + req.logout(); return done(null, false, {message: "The verification account doesn't match."}); } } else { @@ -170,6 +172,7 @@ passport.use(new FacebookStrategy({ } dbFile.addVerification(verification, function (err) { if (err) { + req.logout(); return done(err); } else { var user = req.user; diff --git a/routes/user.js b/routes/user.js index 2b8453f..c40d64f 100644 --- a/routes/user.js +++ b/routes/user.js @@ -161,7 +161,7 @@ router.get('/signin', loggedOut, function (req, res, next) { /** Render/GET verification page. */ router.get('/verify', function(req, res, next) { - if (req.user.email) { + if (req.user && req.user.email) { res.render('verification', {noHeader: true, noFooter: true}); } else { res.redirect('/user/user_profile'); -- cgit v1.2.3