mdv
mdv

Reputation: 945

ExpressJS / connect-mongo update session

I'm using connect-mongo to store PassportJS sessions. My conf in server.js is:

app.use(session({
   name: 'Example',
   secret:'exampleasd',
   saveUninitialized: false,
   resave: false,
   cookie: { maxAge: 1000*60*60*2 },
   store: new MongoStore({
      url: 'mongodb://localhost/example',
      host: 'localhost',
      collection: 'user-sessions',
      autoReconnect: true,
      clear_interval: 3600
   })
}));

My problem is that when I update the users data like the username or email I have to logout and login to get the changes.

I've already tried with req.session.save and req.session.reload, no luck.

Can I update session fields without logout?

Thanks!

Upvotes: 0

Views: 1133

Answers (1)

mdv
mdv

Reputation: 945

You have to use req.user to properly update req.session.passsport.user so:

if you want to change the username just do:

req.user.username = newUsername;
req.session.save(function(err){
 //msg here
});

Upvotes: 1

Related Questions