Я не могу просмотреть сохраненные данные req.session после сохранения userId после входа пользователя в систему.
Когда я console.info сеанс из функции входа в систему, я получаю правильные данные...
Session {
cookie:
{ path: '/',
_expires: 2019-02-23T12:17:24.134Z,
originalMaxAge: 7200000,
httpOnly: true,
sameSite: true,
secure: false },
userId: 4 }
Но когда я запускаю console.info(req.session) с других маршрутов после этого, я получаю новый пустой сеанс
Session {
cookie:
{ path: '/',
_expires: 2019-02-23T12:12:47.282Z,
originalMaxAge: 7200000,
httpOnly: true,
sameSite: false,
secure: false } }
Я работаю на своем локальном хосте, используя интерфейс React на порту 3000 и Node/Express с экспресс-сеансом и повторным подключением. Когда я просматриваю свой Redis, я правильно вижу сохраненный сеанс.
Это мой код сеанса...
app.use(
session({
store,
name: 'sid',
saveUninitialized: false,
resave: false,
secret: 'secret',
cookie: {
maxAge: 1000 * 60 * 60 * 2,
sameSite: true,
secure: false
}
})
)
Я пробовал все разные значения для этих опций, и ничего не работает. Пожалуйста помоги!





Ответ пришел из смеси ответов от RobertB4 https://github.com/expressjs/session/issues/374
По-видимому, эта проблема распространена при использовании промежуточного программного обеспечения CORS и fetch API. Во всех ваших вызовах выборки вам нужно отправить свойство учетных данных, установленное на «включить», а в промежуточном программном обеспечении cors вам нужно установить параметр учетные данные: true. Недостаточно делать одно или другое, вы должны делать и то, и другое...
fetch('url', {
credentials: 'include'
})
const corsOptions = {
credentials: true
}