forked from UKSOURCE/cms.hailearning.edu.vn
feat: Integrate MongoDB session store for improved session management
This commit is contained in:
16
server.js
16
server.js
@@ -3,6 +3,7 @@ const dotenv = require("dotenv");
|
||||
const path = require("path");
|
||||
const cookieParser = require("cookie-parser");
|
||||
const session = require("express-session");
|
||||
const MongoStore = require("connect-mongo");
|
||||
const flash = require("connect-flash");
|
||||
const expressLayouts = require("express-ejs-layouts");
|
||||
const fs = require("fs");
|
||||
@@ -58,13 +59,22 @@ app.use(
|
||||
express.static(path.join(__dirname, "public")),
|
||||
);
|
||||
|
||||
// Session configuration
|
||||
// Session configuration (using MongoDB store to avoid logout khi server restart)
|
||||
app.use(
|
||||
session({
|
||||
secret: process.env.SESSION_SECRET || "secret",
|
||||
resave: true,
|
||||
resave: false,
|
||||
saveUninitialized: false,
|
||||
cookie: { maxAge: 1000 * 60 * 60 * 24 }, // 24 hours
|
||||
store: MongoStore.create({
|
||||
mongoUrl: process.env.MONGODB_URI,
|
||||
collectionName: "sessions",
|
||||
ttl: 60 * 60 * 24, // 24 hours (in seconds)
|
||||
}),
|
||||
cookie: {
|
||||
maxAge: 1000 * 60 * 60 * 24, // 24 hours
|
||||
httpOnly: true,
|
||||
sameSite: "lax",
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user