@Galdar
Web, JS, PHP, NGINX, Linux

Как работает сессия в express?

Прочитал про сессию express-session, сделал по примеру, но почему с сайта если делаешь запрос каждый раз новая сессия, а с постмана она одна и та же?
session
// Настраиваем сессию
app.use(session({
    secret: manifest.session.secret, // Используется для подписи файлов cookie, связанных с идентификатором сеанса
    store: new RedisStore({client: redis.createClient(manifest.redis.port, manifest.redis.ip)}), // (использовать сессию хранения Redis)
    saveUninitialized: true, // Следует ли автоматически сохранять неинициализированные сеансы, рекомендуется false
    resave: true, // Следует ли повторно сохранять сессию каждый раз, рекомендуется false
    cookie: {
        maxAge: 86400000 // 24 часа в мс 
    }
}));
  
// Проверяем, нормальная ли сессия
app.use( function (req, res, next) {

    if (!req.session) 
    {
        return next( new Error( 'Error session' ) )
    }
   
    console.log("\n===СЕССИЯ\n", req.sessionID, "\n===\n");

    next(); // Следующее промежуточное ПО

});


Я так подозреваю, что с сайта идут запросы OPTIONS, а потом POST из fetch функции, но не ужели из-за это разная сессия? Да же вопрос в том, от чего зависит изменение сессии почему через функцию fetch она меняется?
  • Вопрос задан
  • 366 просмотров
Пригласить эксперта
Ответы на вопрос 1
ArturAralin
@ArturAralin
Программист, Музыкант
express-session отслеживает сессию через cookie. Возможно, вы не отправляете cookie, которые ранее получили от сервера и поэтому получаете каждый раз новую сессию.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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