Search code examples
node.jspassport-local

How to maintain session after successful user login in node.js in API call


I have tried this but this is not working. Please help me to understand what I'm doing wrong.

app.js

var session = require('express-session');
app.use(session({
  secret: 'intelligenseintelligensein', // session secret
  resave: true,
  saveUninitialized: false
}));

passport_controller.js

exports.authenticateUser = function (req, res, next) {
  passport.authenticate('local-login', function(err, user,info) {
      if(err) { 
          return functions.sendErrorResponse(req, res, 400, 'Error occured while login. Please try after some time');
      }
      if(!user){
          return functions.sendErrorResponse(req, res, 400, 'Invalid email or password');
      }
      if(user && user.status == false){
          return functions.sendErrorResponse(req, res, 400, 'Please confirm your account by clicking on activation link sent to your email address', false, false);
      }
      if (user && user.status== true){
          req.session.user = user;
          req.user = user;
          next();
      }
  })(req, res , next);
}

Solution

  • After creating Build by running command npm run build in reactJS app the build will automatically maintain session for react app.