Авторизация Passort.js 
		
		
		
		Авторизация passport.js проходит успешно.  
	Хочу сделать так, что бы выход из системы осуществлялся без отверждения (confirm) и уже после выхода из системы была возможность вернуться обратно. config-passport.js 
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
let Sequelize = require('sequelize');
let sequelize = new Sequelize('DBNAME', 'USERNAME', 'PASS', {
  host: 'localhost',
  dialect: 'mysql',
  operatorsAliases: false,
  pool: {
    max: 5,
    min: 0,
    acquire: 30000,
    idle: 10000
  },
  define: {
    timestamps: false
  }
});
let Users = sequelize.define('users', {
  id: {
      autoIncrement: true,
      primaryKey: true,
      type: Sequelize.INTEGER
  },
  email: {
      type: Sequelize.STRING,
      notEmpty: true
  }
  ....
  password: {
    type: Sequelize.STRING,
    allowNull: false
  }
  ....
});
passport.serializeUser(function(user, done) {
  done(null, [user.id,user.email,user.password]);
});
passport.deserializeUser(function(id, done) {
  Users.findAll({where:{id:id}}).then(function(row){
    const user = row[0].dataValues.id === id ? {
      id: row[0].dataValues.id,
      email: row[0].dataValues.email,
      password: row[0].dataValues.password,
    } : false;
    done(null, {
      id: row[0].dataValues.id,
      email: row[0].dataValues.email,
      password: row[0].dataValues.password,
    });
  });
});
passport.use(
  new LocalStrategy({passReqToCallback : true,usernameField: 'email'}, function(
    email,
    req,
    password,
    done
  ) {
    Users.findAll({where:{email:email}}).then(function(row){
      if (email === row[0].dataValues.email && password === row[0].dataValues.password) {
        return done(null, {
          id: row[0].dataValues.id,
          email: row[0].dataValues.email,
          password: row[0].dataValues.password,
        });
      } else {
      }
      return done(null, false);
    });
  })
);
 При выходе из системы ('/logout') я параметры пользователя перегружаю в другую сессию, но вот только как сделать авторизацию через сессии, а не данные отправленные из формы (POST)? logout 
app.get('/logout', (req, res) => {
  req.session.comeBack = req.session.passport.user;
  req.logOut();
  res.json({message:'getout'});
});
Я нашел, что надо в указать passReqToCallback :true в локальной стратегии но он как то не хочет видеть req в passport.use.  | 
	
		
 UPDATE 
	Req получилось передать при login 
app.post('/login',urlencodedParser, (req, res, next) => {
  passport.authenticate('local',req function(err, user) {
    if (err) {
      return next(err);
    }
    if (!user) {
      return res.json({message:'loginOrPassword'});
    }
    req.logIn(user, function(err) {
      if (err) {
        return next(err);
      }
      return res.json({message:'welcome'});
    });
  })(req, res, next);
});
Passport-config 
passport.use(
  new LocalStrategy({passReqToCallback :true, usernameField: 'email'}, function(
    req,
    email,
    password,
    done
  ) {
    console.log(email+ " "+password);
    if(req.session.comeBack && (req.session.comeBack[1] && req.session.comeBack[2])){
      email = req.session.comeBack[1];
      password = req.session.comeBack[2];
    }
    console.log(email + " "+password);
    Users.findAll({where:{email:email}}).then(function(row){
      if (email === row[0].dataValues.email && password === row[0].dataValues.password) {
        return done(null, {
          id: row[0].dataValues.id,
          email: row[0].dataValues.email,
          password: row[0].dataValues.password,
        });
      } else {
      }
      return done(null, false);
    });
  })
);
 | 
| Часовой пояс GMT +3, время: 10:37. |