Задать вопрос

Как записывать сессии только авторизованных пользователей?

Следующий код добавляет сессии в базу данных, всех, кто посетил сайт. Но хотелось бы, чтобы сессии сохранялись только для авторизованных пользователей. Реально ли этого добиться?
const express  = require('express');
const app      = express();
const session = require('express-session');
const MongoStore = require('connect-mongo')(session);
const bodyParser = require("body-parser");
const cookieParser = require('cookie-parser');
const mongoose = require('mongoose');
const port     = process.env.PORT || 8000;
const passport = require('passport');
const logger = require('morgan');
const flash    = require('connect-flash');

const configDB = require('./config/database.js');

mongoose.connect(configDB.url, { useNewUrlParser: true }); 

require('./config/passport')(passport); 

app.use('/views',express.static('views'));
app.use(logger('dev'));									
app.use(cookieParser()); 
app.use(bodyParser.urlencoded({ extended: false }));  
app.use(bodyParser.json());
app.set('view engine', 'ejs'); 
	app.use(session({
		key: 'FUSTSESSION',
		secret:'secret_mega_very_word',
		resave: true,
		saveUninitialized: true,
		cookie: { maxAge: 604800 },					
    store: new MongoStore({
			mongooseConnection:mongoose.connection,
			ttl :  604800
		}
    )
}));
	app.use(passport.initialize());
	app.use(passport.session()); 
	app.use(flash()); 

require('./app/routes.js')(app, passport); 

app.listen(port);
console.log('NodeJS слушает порт: ' + port);
  • Вопрос задан
  • 183 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы