aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-27 23:07:23 +0000
committernanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-27 23:07:23 +0000
commit76d2ef0c64911b449d206df7f206a0d0548266e0 (patch)
treedd77d77df650b1f2f5a22b56ea17aa43f3389f73
parentce93c6f62b137c677ba2c237d07c54e59c05ae8a (diff)
Fixed login bug
-rw-r--r--app.js4
-rw-r--r--config/passport.js3
-rw-r--r--routes/user.js2
3 files changed, 8 insertions, 1 deletions
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');