strapi-plugin-documentation
Version:
Create an OpenAPI Document and visualize your API with SWAGGER UI.
36 lines (28 loc) • 834 B
JavaScript
;
module.exports = async (ctx, next) => {
const pluginStore = strapi.store({
environment: '',
type: 'plugin',
name: 'documentation',
});
const config = await pluginStore.get({ key: 'config' });
const redirectToLogin = () => {
const querystring = ctx.querystring ? `?${ctx.querystring}` : '';
ctx.redirect(
`${strapi.config.server.url}${strapi.plugins.documentation.config['x-strapi-config'].path}/login${querystring}`
);
};
if (!config.restrictedAccess) {
return await next();
}
if (!ctx.session.token) {
return redirectToLogin();
}
const isValid = await strapi.plugins['documentation'].services.token.validate(ctx.session.token);
if (!isValid) {
ctx.session.token = null;
return redirectToLogin();
}
// Execute the action.
await next();
};