diff options
| author | nanalelfe <nargiza.nosirova@mail.utoronto.ca> | 2016-07-27 23:07:23 +0000 |
|---|---|---|
| committer | nanalelfe <nargiza.nosirova@mail.utoronto.ca> | 2016-07-27 23:07:23 +0000 |
| commit | 76d2ef0c64911b449d206df7f206a0d0548266e0 (patch) | |
| tree | dd77d77df650b1f2f5a22b56ea17aa43f3389f73 | |
| parent | ce93c6f62b137c677ba2c237d07c54e59c05ae8a (diff) | |
Fixed login bug
| -rw-r--r-- | app.js | 4 | ||||
| -rw-r--r-- | config/passport.js | 3 | ||||
| -rw-r--r-- | routes/user.js | 2 |
3 files changed, 8 insertions, 1 deletions
@@ -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'); |
