diff --git a/packages/xo-server/package.json b/packages/xo-server/package.json index a0f23bd72..ac1b676e9 100644 --- a/packages/xo-server/package.json +++ b/packages/xo-server/package.json @@ -88,6 +88,7 @@ "limit-concurrency-decorator": "^0.4.0", "lodash": "^4.17.4", "make-error": "^1", + "memorystore": "^1.6.2", "micromatch": "^4.0.2", "minimist": "^1.2.0", "moment-timezone": "^0.5.14", diff --git a/packages/xo-server/src/index.js b/packages/xo-server/src/index.js index 5980c7635..88baf557c 100644 --- a/packages/xo-server/src/index.js +++ b/packages/xo-server/src/index.js @@ -9,6 +9,7 @@ import crypto from 'crypto' import has from 'lodash/has' import helmet from 'helmet' import includes from 'lodash/includes' +import memoryStoreFactory from 'memorystore' import ms from 'ms' import proxyConsole from './proxy-console' import pw from 'pw' @@ -96,10 +97,14 @@ function createExpressApp(config) { // Registers the cookie-parser and express-session middlewares, // necessary for connect-flash. app.use(cookieParser(null, config.http.cookies)) + const MemoryStore = memoryStoreFactory(expressSession) app.use( expressSession({ resave: false, saveUninitialized: false, + store: new MemoryStore({ + checkPeriod: 24 * 3600 * 1e3, + }), // TODO: should be in the config file. secret: 'CLWguhRZAZIXZcbrMzHCYmefxgweItKnS', diff --git a/yarn.lock b/yarn.lock index 69971d91e..057f3ffe1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10056,7 +10056,7 @@ lower-case@^1.1.1: resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= -lru-cache@^4.0.1: +lru-cache@^4.0.1, lru-cache@^4.0.3: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -10204,6 +10204,14 @@ memoizee@0.4.X: next-tick "1" timers-ext "^0.1.5" +memorystore@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/memorystore/-/memorystore-1.6.2.tgz#66e7190d7d54885372c1aec3e256b92e3bf1d163" + integrity sha512-HQM+cZB/kY1+jj57It22FsptJ3nuZRYxnwh3rWZEvDZO1zuzhIrX9uyFcjP9AhFQvM5WS6vZKtn3veohDH4S7w== + dependencies: + debug "3.1.0" + lru-cache "^4.0.3" + meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"