344 / src /shared /with-session.ts
aukaru's picture
Upload 236 files
5c5b371 verified
import cookieParser from "cookie-parser";
import expressSession from "express-session";
import MemoryStore from "memorystore";
import { config, SECRET_SIGNING_KEY } from "../config";
const ONE_WEEK = 1000 * 60 * 60 * 24 * 7;
const cookieParserMiddleware = cookieParser(SECRET_SIGNING_KEY);
const sessionMiddleware = expressSession({
secret: SECRET_SIGNING_KEY,
resave: false,
saveUninitialized: false,
store: new (MemoryStore(expressSession))({ checkPeriod: ONE_WEEK }),
cookie: {
sameSite: "strict",
maxAge: ONE_WEEK,
signed: true,
secure: !config.useInsecureCookies,
},
});
const withSession = [cookieParserMiddleware, sessionMiddleware];
export { withSession };