Expressjs/session

Stores session in cookie

npm install express-session

Initialize

The default MemoryStore is NOT DESIGNED FOR PRODUCTION pleases back it with compatible session stores.

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

app.use(session({
    name: 'e_c',
    secret: 'super secret not secret',
    saveUninitialized: true,
    secure: false, //only https
    resave: true,
    maxAge: 7 * 24 * 60 * 60 * 1000, // one week
}));

Need maxAge or expires or the session will expire immediately

Usage

// Access the session as req.session
app.get('/', function(req, res, next) {
  if (req.session.views) {
    req.session.views++
    res.setHeader('Content-Type', 'text/html')
    res.write('<p>views: ' + req.session.views + '</p>')
    res.write('<p>expires in: ' + (req.session.cookie.maxAge / 1000) + 's</p>')
    res.end()
  } else {
    req.session.views = 1
    res.end('welcome to the session demo. refresh!')
  }
})

Backing Sessions

Knex

Mongo

Last updated