budibase/packages/server/middleware/session.js

25 lines
1.2 KiB
JavaScript
Raw Normal View History

const session = require("koa-session")
2019-06-14 11:05:46 +02:00
2020-05-07 11:53:34 +02:00
module.exports = app => {
const sessionConfig = {
key: "budi:sess" /** (string) cookie key (default is koa:sess) */,
/** (number || 'session') maxAge in ms (default is 1 days) */
/** 'session' will result in a cookie that expires when session/browser is closed */
/** Warning: If a session cookie is stolen, this cookie will never expire */
maxAge: 86400000,
autoCommit: true /** (boolean) automatically commit headers (default true) */,
overwrite: true /** (boolean) can overwrite or not (default true) */,
httpOnly: true /** (boolean) httpOnly or not (default true) */,
signed: true /** (boolean) signed or not (default true) */,
rolling: false /** (boolean) Force a session identifier cookie to be set on every response. The expiration is reset to the original maxAge, resetting the expiration countdown. (default is false) */,
renew: false /** (boolean) renew session when session is nearly expired, so we can always keep user logged in. (default is false)*/,
store: {
2020-02-25 16:21:23 +01:00
get: async key => ({ key }),
set: async key => ({ key }),
destroy: async () => ({}),
},
}
2019-06-14 11:05:46 +02:00
return session(sessionConfig, app)
2019-06-14 11:05:46 +02:00
}