Ini adalah konfigurasi saya untuk sesi dan berfungsi.
Saya menyetel waktu kedaluwarsa menjadi 5 detik untuk tujuan pengujian.
app.use(session({
store: new redisStore({
host: 'localhost',
port: 6379,
client: redisClient,
ttl: 5 // in seconds
}),
secret: 'this is secret',
resave: false,
saveUninitialized: true,
// cookie: {maxAge: 5000}
}));
Saya mengatur maxAge
dan itu tidak berhasil dan ketika saya mengatur ttl
itu berhasil.
Catatan: Saya menguji dan menemukan bahwa ttl
ada di detik tetapi maxAge dalam mili detik! (agak aneh)
Anda dapat mencatat data sesi menggunakan middleware seperti di bawah ini untuk melihat apakah objek paspor ada atau tidak, jika tidak ada objek paspor dalam data sesi, pengguna logout.
app.use((req, res, next) => {
console.log('session:\n', req.session);
next();
});