Itu akhirnya menjadi masalah dari berbagai modul:connect-session-mongo / express-session-mongo / connect-mongo, menggunakan connect 2.0.1 dan Express menggunakan connect 1.8.5.
Rupanya bentrokan ketergantungan di sini mencegah modul penyimpanan sesi untuk mengakses properti 'req.secret'.
Untuk membuatnya berhasil saya akhiri dengan menggunakan modul connect-mongodb yang masih menggunakan connect 1.8.5, seperti Express.
Alasan saya tidak dapat membuat connect-mongodb berfungsi sebelumnya adalah kesalahan pengguna, saya mencoba terlalu keras untuk menggunakan salin/tempel dari contoh online alih-alih kepala saya.
Berikut adalah kode konfigurasi yang akhirnya berfungsi untuk saya dengan 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());
});
Semoga ini bisa membantu siapa pun yang mengalami masalah ini. Jika Anda memiliki saran/perbaikan pada solusi ini, saya akan senang mendengarnya. :)