Toto je moje konfigurace pro relace a funguje to.
Pro účely testování jsem nastavil dobu expirace na 5 sekund.
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}
}));
Nastavil jsem maxAge
a nefungovalo to a když jsem nastavil ttl
fungovalo to.
Poznámka: Testoval jsem a zjistil jsem, že ttl
je v sekundě, ale maxAge je v milisekundách! (trochu divné)
můžete zaznamenávat data relace pomocí middlewaru, jak je uvedeno níže, abyste viděli, zda objekt passport existuje nebo ne, pokud v datech relace není žádný objekt passport, uživatel je odhlášen.
app.use((req, res, next) => {
console.log('session:\n', req.session);
next();
});