Sessions Across Subdomains in Express

Viewed 7576

I'm using the vhost feature in Express with Node to manage multiple subdomains for my app. The app uses the same session secret and key, and I believe I've used the correct session cookie settings:

cookie: {
          path     : '/',
          domain   : '.example.com',
          httpOnly : false,
          maxAge   : 1000*60*60*24*30*12    //one year(ish)
        }

I set a session variable on my regular site where the subdomain is undefined e.g. http://example.com like so:

req.session.rep_id = rep._id;
res.redirect('https://' + company.name + '.example.com/');

But when I redirect them to subdomain.example.com the session doesn't have the rep_id key set to anything. It seems like the session is getting reset between subdomains. How do I get around this?

2 Answers

Use the .save() method, the callback will ensure that cookie is set then redirect something like-

req.session.rep_id = rep._id;
    req.session.save(()=>{
      res.redirect('https://' + company.name + '.example.com/');
    })
Related