diff --git a/src/routes/authentication.js b/src/routes/authentication.js index f69bf4e781..6aa8d540b6 100644 --- a/src/routes/authentication.js +++ b/src/routes/authentication.js @@ -40,89 +40,87 @@ }; Auth.createRoutes = function(app) { - app.namespace(nconf.get('relative_path'), function () { - app.post('/logout', function(req, res) { - if (req.user && parseInt(req.user.uid, 10) > 0) { - winston.info('[Auth] Session ' + req.sessionID + ' logout (uid: ' + req.user.uid + ')'); + app.post('/logout', function(req, res) { + if (req.user && parseInt(req.user.uid, 10) > 0) { + winston.info('[Auth] Session ' + req.sessionID + ' logout (uid: ' + req.user.uid + ')'); - var ws = require('../socket.io'); - ws.logoutUser(req.user.uid); + var ws = require('../socket.io'); + ws.logoutUser(req.user.uid); - req.logout(); + req.logout(); + } + + res.send(200); + }); + + for (var i in login_strategies) { + if (login_strategies.hasOwnProperty(i)) { + var strategy = login_strategies[i]; + app.get(strategy.url, passport.authenticate(strategy.name, { + scope: strategy.scope + })); + + app.get(strategy.callbackURL, passport.authenticate(strategy.name, { + successRedirect: '/', + failureRedirect: '/login' + })); + } + } + + app.post('/login', function(req, res, next) { + passport.authenticate('local', function(err, userData, info) { + if (err) { + return next(err); } - res.send(200); - }); + if (!userData) { + return res.json(403, info); + } - for (var i in login_strategies) { - if (login_strategies.hasOwnProperty(i)) { - var strategy = login_strategies[i]; - app.get(strategy.url, passport.authenticate(strategy.name, { - scope: strategy.scope - })); - - app.get(strategy.callbackURL, passport.authenticate(strategy.name, { - successRedirect: '/', - failureRedirect: '/login' - })); + // Alter user cookie depending on passed-in option + if (req.body.remember === 'true') { + var duration = 1000*60*60*24*parseInt(meta.configs.loginDays || 14, 10); + req.session.cookie.maxAge = duration; + req.session.cookie.expires = new Date(Date.now() + duration); + } else { + req.session.cookie.maxAge = false; + req.session.cookie.expires = false; } - } - app.post('/login', function(req, res, next) { - passport.authenticate('local', function(err, userData, info) { - if (err) { - return next(err); + req.login({ + uid: userData.uid + }, function() { + if (userData.uid) { + user.logIP(userData.uid, req.ip); } - if (!userData) { - return res.json(403, info); - } + res.json(200, info); + }); + })(req, res, next); + }); - // Alter user cookie depending on passed-in option - if (req.body.remember === 'true') { - var duration = 1000*60*60*24*parseInt(meta.configs.loginDays || 14, 10); - req.session.cookie.maxAge = duration; - req.session.cookie.expires = new Date(Date.now() + duration); - } else { - req.session.cookie.maxAge = false; - req.session.cookie.expires = false; - } + app.post('/register', function(req, res) { + if(meta.config.allowRegistration !== undefined && parseInt(meta.config.allowRegistration, 10) === 0) { + return res.send(403); + } + user.create({username: req.body.username, password: req.body.password, email: req.body.email, ip: req.ip}, function(err, uid) { + if (err === null && uid) { req.login({ - uid: userData.uid + uid: uid }, function() { - if (userData.uid) { - user.logIP(userData.uid, req.ip); - } - res.json(200, info); - }); - })(req, res, next); - }); + require('../socket.io').emitUserCount(); - app.post('/register', function(req, res) { - if(meta.config.allowRegistration !== undefined && parseInt(meta.config.allowRegistration, 10) === 0) { - return res.send(403); + if(req.body.referrer) { + res.redirect(req.body.referrer); + } else { + res.redirect(nconf.get('relative_path') + '/'); + } + }); + } else { + res.redirect(nconf.get('relative_path') + '/register'); } - - user.create({username: req.body.username, password: req.body.password, email: req.body.email, ip: req.ip}, function(err, uid) { - if (err === null && uid) { - req.login({ - uid: uid - }, function() { - - require('../socket.io').emitUserCount(); - - if(req.body.referrer) { - res.redirect(req.body.referrer); - } else { - res.redirect(nconf.get('relative_path') + '/'); - } - }); - } else { - res.redirect(nconf.get('relative_path') + '/register'); - } - }); }); }); };