Dette er min konfiguration til sessioner, og den virker.
Jeg indstillede udløbstiden til 5 sekunder til testformål.
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}
}));
Jeg indstillede maxAge
og det virkede ikke, og da jeg indstillede ttl
det virkede.
Bemærk: Jeg testede og fandt ud af, at ttl
er i anden men maxAge er i millisekunder! (lidt underligt)
du kan logge sessionsdata ved hjælp af en middleware som nedenfor for at se, om et pasobjekt eksisterer eller ej, hvis der ikke er noget pasobjekt i sessionsdata, er brugeren logget ud.
app.use((req, res, next) => {
console.log('session:\n', req.session);
next();
});