33 lines
787 B
JavaScript
Raw Normal View History

'use strict';
module.exports = async (ctx, next) => {
const pluginStore = strapi.store({ type: 'plugin', name: 'documentation' });
const config = await pluginStore.get({ key: 'config' });
if (!config.restrictedAccess) {
return next();
}
if (!ctx.session.documentation) {
const querystring = ctx.querystring ? `?${ctx.querystring}` : '';
return ctx.redirect(
2021-07-20 12:12:30 +02:00
`${strapi.config.server.url}${
2021-08-06 18:09:49 +02:00
strapi.config.get('plugin.documentation.x-strapi-config').path
2021-07-20 12:12:30 +02:00
}/login${querystring}`
);
}
const isValid = await strapi.plugins['users-permissions'].services.user.validatePassword(
ctx.session.documentation,
config.password
);
if (!isValid) {
ctx.session.documentation = null;
}
// Execute the action.
await next();
};