express-session has different results based on browser. Why?

时间:2016-04-04 16:40:40

标签: node.js express express-session

I'm reading https://www.npmjs.com/package/express-session and am in a world of confusion.

The store I'm using is https://www.npmjs.com/package/express-mysql-session

var options = {
  host: 'localhost',
  user: 'root',
  password: 'somepass',
  database: 'somedb'
};
var sessionStore = new SessionStore(options);

app.use(session({
  genid: function(req) {;
    return genuuid(function(err, uuid){
      return uuid;
    });
  },
  key: 'session_cookie_name',
  secret: 'session_cookie_secret',
  store: sessionStore,
  resave: true,
  saveUninitialized: true
}));

Consider this route

router.get('/generateUser', function (req, res, next) {
  if (req.session.user == null) {
    req.session.user = "d";
  } else {
    req.session.user += "1";
  }
  res.render('index', {title: 'Express', userId: req.session.user});
});

On a normal chrome browser, each visit to /generateUser is seeing the previous user value. So 5 refreshes and I have a user value of "d11111". But now if I do this incognito or on safari the value is always "d". What are these browsers doing differently?

0 个答案:

没有答案