Initial commit

This commit is contained in:
Luka Romih
2022-12-07 04:43:36 +01:00
commit 257f3c354f
496 changed files with 55373 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
const session = require('express-session')
const RedisStore = require('connect-redis')(session)
const { secret, cookiesSecure } = require('../config/keys')
const redisClient = require('../models/cache')
const SESSION_DURATION = 1000 * 60 * 60 * 2 // 2 hours.
const SESSION_ID_COOKIE_NAME = 'sid'
// const RETRY_PERIOD = 3000 // 3 seconds.
const options = {
cookie: { maxAge: SESSION_DURATION, sameSite: 'lax', secure: cookiesSecure },
secret,
name: SESSION_ID_COOKIE_NAME,
rolling: true,
resave: false,
saveUninitialized: false,
store: new RedisStore({ client: redisClient })
}
module.exports = session(options)
// Aditional checking logic below.
// Export it instead of the middleware above if it proves necessary.
// const sessionMiddleware = session(options)
// function verifiedSession(req, res, next) {
// let tries = 3
// let timeoutId
// function lookupSession(err) {
// clearTimeout(timeoutId)
// if (err) return next(err)
// if (req.session !== undefined) return next()
// tries -= 1
// if (tries < 0) {
// return next(Error('Session store unresponsive'))
// }
// sessionMiddleware(req, res, lookupSession)
// if (req.session === undefined) {
// timeoutId = setTimeout(lookupSession, RETRY_PERIOD)
// }
// }
// lookupSession()
// }
// module.exports = verifiedSession