strapi-plugin-passwordless
Version:
A plugin for Strapi Headless CMS that provides ability to sign-in/sign-up to an application by link had sent to email.
34 lines (30 loc) • 654 B
JavaScript
;
const lazyRateLimit = {
get RateLimit() {
return require('koa2-ratelimit').RateLimit;
},
};
module.exports = async (ctx, next) => {
const message = [
{
messages: [
{
id: 'Auth.form.error.ratelimit',
message: 'Too many attempts, please try again in a minute.',
},
],
},
];
return lazyRateLimit.RateLimit.middleware(
Object.assign(
{},
{
interval: 60 * 1000,
max: 5,
prefixKey: `${ctx.request.path}:${ctx.request.ip}`,
message,
},
strapi.plugins['users-permissions'].config.ratelimit
)
)(ctx, next);
};