首页 > 解决方案 > 如何在 API 调用中在 node.js 中成功用户登录后保持会话

问题描述

我已经尝试过了,但这不起作用。请帮助我理解我做错了什么。

应用程序.js

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

护照控制器.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);
}

标签: node.jspassport-local

解决方案


通过在 reactJS 应用程序中运行命令创建构建后npm run build,构建将自动维护反应应用程序的会话。


推荐阅读