При каждом новом вызове маршрута в создается новый обьект сессии, хотя все настройки включены! Когда фронт запускается с
http://localhost:3001, все работает нормально, но когда я использую программу ngrok, для того что бы открыть веб-сервер на порту 3001 в интернете. "ngrok http 3001" возникает эта ошибка... Хотя в теории должно было бы работать нормально. Буду благодарен за любую помощь!
Настройки node.js
this.app.use(
cors({
origin: "http://f0ad92c0d041.ngrok.io",
optionsSuccessStatus: 200,
credentials: true
})
);
const redisClient = redis.createClient();
const redisStore = connectRedis(session);
this.app.use(session({
secret: 'ThisIsHowYouUseRedisSessionStorage',
name: '_redisPractice',
resave: true,
saveUninitialized: true,
cookie: {maxAge:36000, secure: false, httpOnly: false },
store: new redisStore({ host: 'localhost', port: 6379, client: redisClient, ttl: 86400 }),
}));
this.app.use(function(req, res, next) {
res.header('Access-Control-Allow-Credentials', "true");
res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE');
res.header("Access-Control-Allow-Origin", "http://f0ad92c0d041.ngrok.io");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
next();
});
Пример запроса с фронта:
let response = await $.ajax({
url: ${URL}/users/create,
type: "post",
xhrFields: {
withCredentials: true
},
data: {
address
},
dataType: "json",
success: function (data) {
tiketsBlock.style.display = "block";
userAddress.style.display = "block";
tikets.innerHTML = data.data.tikets;
},
error: function (error) {
serviceMessageCreator(error);
}
});