Я развернул свой внешний интерфейс (React with Typescript) и внутренний (Nodejs с Typescript) в Heroku отдельно. Я использую express-session
и connect-redis
для поддержки пользовательского сеанса, для которого я использую внешнюю службу Redis под названием Redistogo.
Когда я запускаю свои приложения локально, присутствует req.session
, ипосле аутентификации пользователя во время входа я могу установить сеанс пользователя в req.session.user
. Тем не менее, при запуске серверной части на Heroku точно таким же образом, req.session
остается undefined
.
if(process.env.NODE_ENV === 'production') {
this.app.set('trust proxy', 1)
const rtg = url.parse(process.env.REDISTOGO_URL);
const redisClient = redis.createClient(rtg.port, rtg.hostname);
redisClient.auth(rtg.auth.split(":")[1]);
this.app.use(session({
name: 'random_pur',
store: new RedisStore({
redisClient
}),
secret: 'meow',
resave: true,
saveUninitialized: false,
cookie: {
secure: false,
sameSite: false,
maxAge: 36000000,
httpOnly: false,
}
}));
}
Так что я не уверен, что мне здесь не хватает -это не дает никаких проблем на локальном хосте. Любая помощь будет оценена. Спасибо!