Error: req.flash() requires sessions

Please check mongodb connections. there may be an mongo error like "mongoError: Topology was destroyed". To fix this issue, check here


In my case the issue was that Redis was not listening. I found that out by enabling the logErrors property:

new RedisStore({
  host: 'localhost',
  port: '6379',
  logErrors: true,
});

Which resulted in messages like these:

Warning: connect-redis reported a client error: Error: Redis connection to localhost:6379 failed - connect ECONNREFUSED 127.0.0.1:6379

From the readme (emphasis mine):

Flash messages are stored in the session. First, setup sessions as usual by enabling cookieParser and session middleware. Then, use flash middleware provided by connect-flash.

Using express-sessions with express 4, cookieParser is no longer required.

var session = require('express-session');

//...


app.use(session({ cookie: { maxAge: 60000 }, 
                  secret: 'woot',
                  resave: false, 
                  saveUninitialized: false}));