diff --git a/src/routes/authentication.js b/src/routes/authentication.js index 0b7cc58f3c..5754ee3353 100644 --- a/src/routes/authentication.js +++ b/src/routes/authentication.js @@ -253,15 +253,20 @@ }); } - function logout(req, res) { + function logout(req, res, next) { if (req.user && parseInt(req.user.uid, 10) > 0 && req.sessionID) { require('../socket.io').logoutUser(req.user.uid); - db.sessionStore.destroy(req.sessionID); - req.logout(); + db.sessionStore.destroy(req.sessionID, function(err) { + if (err) { + return next(err); + } + req.logout(); + res.status(200).send(''); + }); + } else { + res.status(200).send(''); } - - res.status(200).send(''); } }(exports));