Skip to content

Commit 2abd577

Browse files
committed
Rename getKeyFromRequest, change windowMs time ♻️
1 parent 171454c commit 2abd577

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

server/user/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict';
22

33
const { authenticate, logout } = require('../shared/auth');
4-
const { getKeyFromRequest, loginRequestLimiter, resetLoginAttempts } = require('./mw');
4+
const { loginRequestLimiter, resetLoginAttempts, setLoginLimitId } = require('./mw');
55
const { ACCEPTED } = require('http-status-codes');
66
const { authorize } = require('../shared/auth/mw');
77
const ctrl = require('./user.controller');
@@ -14,7 +14,7 @@ const { User } = require('../shared/database');
1414
router
1515
.post(
1616
'/login',
17-
getKeyFromRequest,
17+
setLoginLimitId,
1818
loginRequestLimiter,
1919
authenticate('local', { setCookie: true }),
2020
resetLoginAttempts,

server/user/mw.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@
33
const crypto = require('crypto');
44
const { requestLimiter } = require('../shared/request/mw');
55

6-
const loginRequestLimiter = requestLimiter({ keyGenerator: req => req.userKey });
6+
const ONE_HOUR_IN_MS = 60 * 60 * 1000;
77

8-
function getKeyFromRequest(req, res, next) {
8+
const loginRequestLimiter = requestLimiter({
9+
windowMs: ONE_HOUR_IN_MS,
10+
keyGenerator: req => req.userKey
11+
});
12+
13+
function setLoginLimitId(req, res, next) {
914
const key = [req.ip, req.body.email].join(':');
1015
req.userKey = crypto.createHash('sha256').update(key).digest('base64');
1116
return next();
@@ -16,4 +21,4 @@ function resetLoginAttempts(req, res, next) {
1621
.then(() => next());
1722
}
1823

19-
module.exports = { loginRequestLimiter, getKeyFromRequest, resetLoginAttempts };
24+
module.exports = { loginRequestLimiter, setLoginLimitId, resetLoginAttempts };

0 commit comments

Comments
 (0)