@digicms/cms
Version:
An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite
31 lines (25 loc) • 766 B
JavaScript
;
const { defaultsDeep, isEmpty, isArray } = require('lodash/fp');
const session = require('koa-session');
const defaultConfig = {
key: 'koa.sess',
maxAge: 86400000,
autoCommit: true,
overwrite: true,
httpOnly: true,
signed: true,
rolling: false,
renew: false,
secure: process.env.NODE_ENV === 'production',
sameSite: null,
};
module.exports = (userConfig, { strapi }) => {
const { keys } = strapi.server.app;
if (!isArray(keys) || isEmpty(keys) || keys.some(isEmpty)) {
throw new Error(
`App keys are required. Please set app.keys in config/server.js (ex: keys: ['myKeyA', 'myKeyB'])`
);
}
const config = defaultsDeep(defaultConfig, userConfig);
strapi.server.use(session(config, strapi.server.app));
};