¿Cuál es la forma correcta de usar maxAge con Express.js?

He visto varias variaciones. Supongamos que deseo que mi cookie caduque después de un segundo. Debo usar

app.use(express.session({ secret: 'mysecret', maxAge: new Date(Date.now() + 1000)})); 

o

 app.use(express.session({ secret: 'mysecret', maxAge: 1000})); 

o

 app.use(express.session({ secret: 'mysecret', cookie: {maxAge: new Date(Date.now() + 1000)}})); 

o

 app.use(express.session({ secret: 'mysecret', cookie: {maxAge: 1000}})); 

También supongamos que he configurado mi cookie caducando correctamente y ha caducado. Si el usuario no reinicia su navegador, ¿conserva la información de las cookies hasta que lo haga?

Creo que será mejor que mires la fuente directamente.

Para Express usa el middleware de conexión, y aquí está el código para la sesión https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L67

Y hay más documentación en el sitio de conexión http://www.senchalabs.org/connect/session.html

Para que puedas hacer

 app.use(express.session({ secret: 'mysecret', cookie: {expires: new Date(Date.now() + 1000)}})); 

o

 app.use(express.session({ secret: 'mysecret', cookie: {maxAge: 1000}}));