これは私のセッションの構成であり、機能します。
テストのために、有効期限を5秒に設定しました。
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}
}));
maxAge
を設定しました それは機能しませんでした。ttl
を設定すると 機能した。
注: テストしたところ、ttl
は秒ですが、maxAgeはミリ秒です! (ちょっと変)
以下のようなミドルウェアを使用してセッションデータをログに記録し、パスポートオブジェクトが存在するかどうかを確認できます。セッションデータにパスポートオブジェクトがない場合、ユーザーはログアウトされます。
app.use((req, res, next) => {
console.log('session:\n', req.session);
next();
});