Acabou sendo um problema dos vários módulos:connect-session-mongo / express-session-mongo / connect-mongo, usando connect 2.0.1 e Express usando connect 1.8.5.
Aparentemente, o conflito de dependências aqui impediu que os módulos de armazenamento de sessão acessassem a propriedade 'req.secret'.
Para fazer funcionar acabei usando o módulo connect-mongodb que ainda está usando o connect 1.8.5, assim como o Express.
A razão pela qual eu não consegui fazer o connect-mongodb funcionar antes foi um erro do usuário, eu tentei muito usar copiar/colar de exemplos online em vez da minha cabeça.
Aqui está o código de configuração que acabou funcionando para mim com 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 isso ajude qualquer outra pessoa que se depara com esse problema. Se você tiver alguma sugestão/melhoria nesta solução, ficarei feliz em ouvi-la. :)