Add rate limit to registration and API endpoints

This commit is contained in:
Chocobozzz 2019-07-04 16:42:40 +02:00
parent fd0bfc3ac4
commit c1340a6ac3
No known key found for this signature in database
GPG key ID: 583A612D890159BE
9 changed files with 112 additions and 23 deletions

View file

@ -1,4 +1,5 @@
import * as express from 'express'
import * as RateLimit from 'express-rate-limit'
import { configRouter } from './config'
import { jobsRouter } from './jobs'
import { oauthClientsRouter } from './oauth-clients'
@ -12,6 +13,7 @@ import * as cors from 'cors'
import { searchRouter } from './search'
import { overviewsRouter } from './overviews'
import { videoPlaylistRouter } from './video-playlist'
import { CONFIG } from '../../initializers/config'
const apiRouter = express.Router()
@ -21,6 +23,14 @@ apiRouter.use(cors({
credentials: true
}))
// FIXME: https://github.com/nfriedly/express-rate-limit/issues/138
// @ts-ignore
const apiRateLimiter = RateLimit({
windowMs: CONFIG.RATES_LIMIT.API.WINDOW_MS,
max: CONFIG.RATES_LIMIT.API.MAX
})
apiRouter.use(apiRateLimiter)
apiRouter.use('/server', serverRouter)
apiRouter.use('/oauth-clients', oauthClientsRouter)
apiRouter.use('/config', configRouter)