change sessions

This commit is contained in:
HF 2022-09-11 05:03:20 +02:00
parent c74a3d548e
commit fc602934dc

View File

@ -1,7 +1,7 @@
/* /*
* *
*/ */
import expressSession from 'express-session'; import session from 'express-session';
import RedisStore from '../utils/connectRedis'; import RedisStore from '../utils/connectRedis';
import client from '../data/redis/client'; import client from '../data/redis/client';
@ -12,31 +12,20 @@ import { SESSION_SECRET } from './config';
export const store = new RedisStore({ client }); export const store = new RedisStore({ client });
/*
* we cache created session middlewares per domain
*/
const middlewareCache = {};
export default (req, res, next) => { export default (req, res, next) => {
const domain = getHostFromRequest(req, false, true); const domain = getHostFromRequest(req, false, true);
console.log('THISHTISTHIST', domain); const sess = session({
console.log(req.headers); name: COOKIE_SESSION_NAME,
let session = middlewareCache[domain]; store,
if (!session) { secret: SESSION_SECRET,
session = expressSession({ resave: false,
name: COOKIE_SESSION_NAME, saveUninitialized: false,
store, cookie: {
secret: SESSION_SECRET, domain,
resave: false, httpOnly: true,
saveUninitialized: false, secure: false,
cookie: { maxAge: 30 * 24 * HOUR,
domain, },
httpOnly: true, });
secure: false, return sess(req, res, next);
maxAge: 30 * 24 * HOUR,
},
});
middlewareCache[domain] = session;
}
return session(req, res, next);
}; };