Session file store for Express and Connect. Also you can use it with Koa
Session file store is a provision for storing session data in the session file
- Supports Express
>= 4.xand Connect>= 1.4.0through express-session - Supports Node.js
>= 8 - Indirectly supports Koa
>= 0.9.0through express-session
$ npm install session-file-store
$ npm install
$ npm test
pathThe directory where the session files will be stored. Defaults to./sessionsttlSession time to live in seconds. Defaults to3600retriesThe number of retries to get session data from a session file. Defaults to5factorThe exponential factor to use for retry. Defaults to1minTimeoutThe number of milliseconds before starting the first retry. Defaults to50maxTimeoutThe maximum number of milliseconds between two retries. Defaults to100reapIntervalObject[OUT] Contains intervalObject if reap was scheduledreapIntervalInterval to clear expired sessions in seconds or -1 if do not need. Defaults to1 hourreapAsyncuse distinct worker process for removing stale sessions. Defaults tofalsereapSyncFallbackreap stale sessions synchronously if can not do it asynchronously. Default tofalselogFnlog messages. Defaults toconsole.logfallbackSessionFnreturns fallback session object after all failed retries. No defaultsencodingObject-to-text text encoding. Can be null. Defaults to'utf8'encoderEncoding function. Takes object, returns encoded data. Defaults toJSON.stringifydecoderDecoding function. Takes encoded data, returns object. Defaults toJSON.parsefileExtensionFile extension of saved files. Defaults to'.json'secretEnables transparent encryption support conforming to OWASP's Session Management best practices.crypto.algorithmDefaults toaes-256-gcmbut supports symmetric algorithms listed fromcrypto.getCiphers().crypto.hashingDefaults tosha512but supports hashing algorithms listed fromcrypto.getHashes().crypto.use_scryptDefaults totrue. When not supported (node < 10.5) will fall back to thecrypto.pbkdf2()key derivation function.
Due to express >= 4 changes, we need to pass express-session to the function session-file-store exports in order to extend session.Store:
var session = require('express-session');
var FileStore = require('session-file-store')(session);
var fileStoreOptions = {};
app.use(session({
store: new FileStore(fileStoreOptions),
secret: 'keyboard cat'
}));You can find basic work app examples
for express,
connect and
koa frameworks in examples folder.