session-handler.class.ts 724 B

123456789101112131415161718192021222324252627282930313233
  1. // nodejs / npm modules
  2. import { RequestHandler } from 'express';
  3. import session from 'express-session';
  4. declare module 'express-session' {
  5. interface SessionData {
  6. user?: string;
  7. }
  8. }
  9. export class SessionHandler {
  10. private requestHandler!: RequestHandler;
  11. constructor() {
  12. this.requestHandler = session({
  13. secret: 'U&ert@)Ge^W]KLBzJH=GrF_N7gcQaQp>4Y<',
  14. name: 'SESSIONID',
  15. cookie: {
  16. httpOnly: true,
  17. sameSite: true,
  18. maxAge: 1000 * Number(process.env.SESSION_TIMEOUT_SEC),
  19. secure: 'auto'
  20. },
  21. resave: false,
  22. rolling: true,
  23. saveUninitialized: false
  24. });
  25. }
  26. public get handler(): RequestHandler {
  27. return this.requestHandler;
  28. }
  29. }