Files
linux-odyssey/server/src/middleware/rateLimiter.js
T
wancat 20225093c6 feat: add rate limit for authentication
* improve error handling in frontend
2023-11-12 21:23:12 +08:00

20 lines
384 B
JavaScript

import rateLimit from 'express-rate-limit'
export const globalRateLimit = rateLimit({
windowMs: 60 * 1000, // 1 minute
max: 100,
})
export const authenticateRateLimit = rateLimit({
windowMs: 2 * 60 * 1000,
max: 5,
})
export const sessionRateLimit = rateLimit({
windowMs: 10 * 1000,
max: 1,
keyGenerator: (req) => {
return req.user ? req.user._id : req.ip
},
})