Когда пользователь делать login и хранили данные успешно посредством express-session
я делаю redirect в главную страницу (res.redirect(url);
). Проблема состоит, в том, что сделав выражение redirect, данные, хранившиеся в переменных сеанса не держатся, но, удивительно, если я это делаю вручную (с браузера), данные о сеансе да, которые доступны. Из-за этого я прихожу к заключению о том, что проблема будет в res.redirect()
, каково точное поведение этой функции? Как было бы возможно решать эту ошибку?
EDIT: Я присоединяю пример структуры, которую я использую, чтобы управлять о сеансах:
main.js:
var session = require('express-session');
var mySQLStore = require('express-mysql-session')(session);
let sessionConfiguration = session({
secret: "SuperSecreto",
store: sessionStore, //Correctamente configurado
saveUninitialized: true,
resave: false
});
function checkSession(req, res, next) {
if(req.session.user) {
console.log("EXISTE ");
console.log(req.session.test);
next();
} else {
console.log("NO EXISTE ");
next();
}
}
//En el middleware checkSession con el uso de res.redirect siempre
//aparece NO EXISTE
app.use('/', sessionConfiguration, checkSession, router);
redirect.js:
router.get('/ruta', function (req, res) {
req.session.test = "hola"
console.log(req.session.test);
//LOS DATOS DE LA SESION SE PIERDEN AL HACER EL REDIRECT
res.redirect("/");
});
EDIT:
Куки-файл, который создается, когда он не посылает правильно данных:
{"cookie":{"originalMaxAge":3600000, "expires":"2019-05-07T21:15:06.727Z", "httpOnly":false, "path":"/", "sameSite":true}}