req.session не определен при работе на Heroku (дополнение RedisToGo), но доступен при локальном использовании редистого URL - PullRequest
1 голос
/ 12 октября 2019

Я развернул свой внешний интерфейс (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,
        }
      }));
    }

Так что я не уверен, что мне здесь не хватает -это не дает никаких проблем на локальном хосте. Любая помощь будет оценена. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...