Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Heroku(RedisToGo插件)上运行时,req.session未定义,但在本地使用RedisToGo url时可用_Node.js_Express_Heroku_Redis_Redistogo - Fatal编程技术网

Node.js 在Heroku(RedisToGo插件)上运行时,req.session未定义,但在本地使用RedisToGo url时可用

Node.js 在Heroku(RedisToGo插件)上运行时,req.session未定义,但在本地使用RedisToGo url时可用,node.js,express,heroku,redis,redistogo,Node.js,Express,Heroku,Redis,Redistogo,我已经将前端(使用Typescript进行响应)和后端(使用Typescript进行Nodejs)分别部署到Heroku。我正在使用express session和connectredis来维护用户会话,为此我使用了一个名为Redistogo的外部redis服务 当我在本地运行应用程序时,req.session存在,并且在登录期间对用户进行身份验证后,我能够在req.session.user中设置用户的会话。但是,当以完全相同的方式在Heroku上运行后端时,req.session保持未定义 i

我已经将前端(使用Typescript进行响应)和后端(使用Typescript进行Nodejs)分别部署到Heroku。我正在使用
express session
connectredis
来维护用户会话,为此我使用了一个名为Redistogo的外部redis服务

当我在本地运行应用程序时,
req.session
存在,并且在登录期间对用户进行身份验证后,我能够在
req.session.user
中设置用户的会话。但是,当以完全相同的方式在Heroku上运行后端时,
req.session
保持
未定义

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,
        }
      }));
    }
所以我不确定我在这里遗漏了什么-它不会给本地主机带来任何问题。任何帮助都将不胜感激。谢谢