mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	Merge pull request #3080 from DynamoFox/rate-limit-etapi-login-route
Rate limit the /auth/login route of ETAPI
This commit is contained in:
		
						commit
						934b1ad8c6
					
				@ -3,8 +3,8 @@ const eu = require("./etapi_utils");
 | 
			
		||||
const passwordEncryptionService = require("../services/password_encryption");
 | 
			
		||||
const etapiTokenService = require("../services/etapi_tokens");
 | 
			
		||||
 | 
			
		||||
function register(router) {
 | 
			
		||||
    eu.NOT_AUTHENTICATED_ROUTE(router, 'post', '/etapi/auth/login', (req, res, next) => {
 | 
			
		||||
function register(router, loginMiddleware) {
 | 
			
		||||
    eu.NOT_AUTHENTICATED_ROUTE(router, 'post', '/etapi/auth/login', loginMiddleware, (req, res, next) => {
 | 
			
		||||
        const {password, tokenName} = req.body;
 | 
			
		||||
 | 
			
		||||
        if (!passwordEncryptionService.verifyPassword(password)) {
 | 
			
		||||
 | 
			
		||||
@ -602,6 +602,8 @@ paths:
 | 
			
		||||
                  authToken:
 | 
			
		||||
                    type: string
 | 
			
		||||
                    example: Bc4bFn0Ffiok_4NpbVCDnFz7B2WU+pdhW8B5Ne3DiR5wXrEyqdjgRIsk=
 | 
			
		||||
        '429':
 | 
			
		||||
          description: Client IP has been blacklisted because too many requests (possibly failed authentications) were made within a short time frame, try again later
 | 
			
		||||
        default:
 | 
			
		||||
          description: unexpected error
 | 
			
		||||
          content:
 | 
			
		||||
 | 
			
		||||
@ -66,8 +66,8 @@ function route(router, method, path, routeHandler) {
 | 
			
		||||
    router[method](path, checkEtapiAuth, (req, res, next) => processRequest(req, res, routeHandler, next, method, path));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function NOT_AUTHENTICATED_ROUTE(router, method, path, routeHandler) {
 | 
			
		||||
    router[method](path, (req, res, next) => processRequest(req, res, routeHandler, next, method, path));
 | 
			
		||||
function NOT_AUTHENTICATED_ROUTE(router, method, path, middleware, routeHandler) {
 | 
			
		||||
    router[method](path, ...middleware, (req, res, next) => processRequest(req, res, routeHandler, next, method, path));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getAndCheckNote(noteId) {
 | 
			
		||||
 | 
			
		||||
@ -416,7 +416,7 @@ function register(app) {
 | 
			
		||||
 | 
			
		||||
    shareRoutes.register(router);
 | 
			
		||||
 | 
			
		||||
    etapiAuthRoutes.register(router);
 | 
			
		||||
    etapiAuthRoutes.register(router, [loginRateLimiter]);
 | 
			
		||||
    etapiAppInfoRoutes.register(router);
 | 
			
		||||
    etapiAttributeRoutes.register(router);
 | 
			
		||||
    etapiBranchRoutes.register(router);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user