I'm using node.js (Expressjs) hosted on heroku.
Sessions are stored in redis (Redistogo plugin for heroku):
RedisStore = require('connect-redis')(express)
app.use express.session
secret: process.env.CLIENT_SECRET
cookie: { maxAge: 604800000 }
store: new RedisStore {client: redis}
After the user logged in I store his info in req.session:
after_user_logged_id = (req, user)->
req.session.current_user =
id: user._id
name: user.name
I need to restart the server and clean all sessions: logout all users to force them login one more time. How should I do this? Restarting the redis plugin doesn't help.
redis.flushdb() may be a bit extreme if you end up storing something else in redis. You just need to delete all the "sess:*" keys. Unfortunately, there is no del *, so you can use something like this:
redis.keys("sess:*", function(err, key) {
redis.del(key, function(err) {
});
});