Đây là cấu hình của tôi cho các phiên và nó hoạt động.
Tôi đặt thời gian hết hạn thành 5 giây cho mục đích thử nghiệm.
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}
}));
Tôi đặt maxAge
và nó không hoạt động và khi tôi đặt ttl
nó đã làm việc.
Lưu ý: Tôi đã kiểm tra và phát hiện ra rằng ttl
tính bằng giây nhưng maxAge tính bằng mili giây! (hơi lạ)
bạn có thể ghi dữ liệu phiên bằng phần mềm trung gian như bên dưới để xem đối tượng hộ chiếu có tồn tại hay không, nếu không có đối tượng hộ chiếu nào trong dữ liệu sesssion, người dùng đã đăng xuất.
app.use((req, res, next) => {
console.log('session:\n', req.session);
next();
});