Terminó siendo un problema de los distintos módulos:connect-session-mongo / express-session-mongo / connect-mongo, usando connect 2.0.1 y Express usando connect 1.8.5.
Aparentemente, el conflicto de dependencia aquí impidió que los módulos del almacén de sesión accedieran a la propiedad 'req.secret'.
Para que funcionara, terminé usando el módulo connect-mongodb que todavía usa connect 1.8.5, al igual que Express.
Sin embargo, la razón por la que no pude hacer que connect-mongodb funcionara antes fue un error del usuario, intenté demasiado usar copiar/pegar de ejemplos en línea en lugar de mi cabeza.
Aquí está el código de configuración que terminó funcionando para mí con connect-mongodb:
var Session = require('connect-mongodb');
app.configure('production', function(){
var oneWeek = 657450000;
app.use(express.static(__dirname + '/../public', { maxAge: oneWeek }));
var session = express.session({
store: new Session({
url: 'mongodb://localhost:27017/test',
maxAge: 300000
}),
secret: 'superTopSecret'
});
app.use(session);
app.use(mongooseAuth.middleware());
app.use(require('./mySite').middleware());
app.use(express.methodOverride());
app.use(express.errorHandler());
});
Espero que esto ayude a cualquier otra persona que se encuentre con este problema. Si tiene alguna sugerencia/mejora en esta solución, me encantaría escucharla. :)