Perhaps you should consider a passport or other module. But you can do something like this:
app.post('/signup', function (req, res, next) { var user = { Name: req.body.name, Email: req.body.email, Pass: req.body.pass, Num: req.body.num }; var UserReg = mongoose.model('UserReg', RegSchema); UserReg.create(user, function(err, newUser) { if(err) return next(err); req.session.user = email; return res.send('Logged In!'); }); }); app.post('/login', function (req, res, next) { var email = req.body.email; var pass = req.body.pass; User.findOne({Email: email, Pass: pass}, function(err, user) { if(err) return next(err); if(!user) return res.send('Not logged in!'); req.session.user = email; return res.send('Logged In!); }); }); app.get('/logout', function (req, res) { req.session.user = null; });
Then you should have middleware for authentication
function isLoggedIn (req, res, next) { if (!(req.session && req.session.user)) { return res.send('Not logged in!'); } next(); }
And use it on private routes
app.get("/api", isLoggedIn, function (req, res) {
source share