@proteinjs/user-server 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/src/authentication/DbSessionStore.js +1 -1
- package/dist/src/authentication/DbSessionStore.js.map +1 -1
- package/dist/src/routes/initiatePasswordReset.d.ts.map +1 -1
- package/dist/src/routes/initiatePasswordReset.js +6 -4
- package/dist/src/routes/initiatePasswordReset.js.map +1 -1
- package/package.json +2 -2
- package/src/authentication/DbSessionStore.ts +1 -1
- package/src/routes/initiatePasswordReset.ts +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.2.8](https://github.com/proteinjs/user/compare/@proteinjs/user-server@1.2.7...@proteinjs/user-server@1.2.8) (2024-08-16)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* `DbSessionStore` needs to bind the sweep method to have access to instance state (like the logger) ([96057f6](https://github.com/proteinjs/user/commit/96057f620f10f0ed9c8de3e6e8202c1e4044eefe))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.2.7](https://github.com/proteinjs/user/compare/@proteinjs/user-server@1.2.6...@proteinjs/user-server@1.2.7) (2024-08-16)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* adjust clarity of checking existing pw reset token ([0e7f750](https://github.com/proteinjs/user/commit/0e7f750a2d94fedf051040c7072101f5b97b470b))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## [1.2.6](https://github.com/proteinjs/user/compare/@proteinjs/user-server@1.2.5...@proteinjs/user-server@1.2.6) (2024-08-16)
|
|
7
29
|
|
|
8
30
|
|
|
@@ -104,7 +104,7 @@ var DbSessionStore = /** @class */ (function (_super) {
|
|
|
104
104
|
});
|
|
105
105
|
}); })();
|
|
106
106
|
};
|
|
107
|
-
setInterval(_this.sweep, DbSessionStore.TWELVE_HOURS);
|
|
107
|
+
setInterval(_this.sweep.bind(_this), DbSessionStore.TWELVE_HOURS);
|
|
108
108
|
return _this;
|
|
109
109
|
}
|
|
110
110
|
DbSessionStore.prototype.insertOrUpdate = function (sessionId, session, cb) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSessionStore.js","sourceRoot":"","sources":["../../../src/authentication/DbSessionStore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAwC;AACxC,oCAAmE;AACnE,wCAAyC;AACzC,4CAA2C;AAC3C,mDAAkD;AAElD;IAAoC,kCAAK;IAIvC;QAAA,YACE,iBAAO,SAER;QALO,YAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAO7D,SAAG,GAAG,UAAC,SAAiB,EAAE,EAA8D;YACtF,CAAC;;;;gCACgB,qBAAM,IAAA,kBAAa,GAAE,CAAC,GAAG,CAAC,aAAM,CAAC,OAAO,EAAE,EAAE,SAAS,WAAA,EAAE,CAAC,EAAA;;4BAAjE,MAAM,GAAG,SAAwD;4BACvE,IAAI,CAAC,MAAM,EAAE;gCACX,EAAE,CAAC,IAAI,CAAC,CAAC;gCACT,sBAAO;6BACR;4BAED,sBAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAC;;;iBAC7C,CAAC,EAAE,CAAC;QACP,CAAC,CAAC;QAEF,SAAG,GAAG,UAAC,SAAiB,EAAE,OAA4B,EAAE,EAA0B;YAChF,KAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,WAAK,GAAG,UAAC,SAAiB,EAAE,OAA4B,EAAE,EAA0B;YAClF,KAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF;;;WAGG;QACH,aAAO,GAAG,UAAC,SAAiB,EAAE,EAA0B;YACtD,CAAC;;;gCACC,qBAAM,IAAA,+BAAc,EAAC,SAAS,CAAC,EAAA;;4BAA/B,SAA+B,CAAC;4BAChC,IAAI,EAAE,EAAE;gCACN,EAAE,EAAE,CAAC;6BACN;;;;iBACF,CAAC,EAAE,CAAC;QACP,CAAC,CAAC;QAlCA,WAAW,CAAC,KAAI,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"DbSessionStore.js","sourceRoot":"","sources":["../../../src/authentication/DbSessionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiatePasswordReset.d.ts","sourceRoot":"","sources":["../../../src/routes/initiatePasswordReset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAW9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"initiatePasswordReset.d.ts","sourceRoot":"","sources":["../../../src/routes/initiatePasswordReset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAW9C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAgEnC,CAAC"}
|
|
@@ -74,7 +74,7 @@ exports.initiatePasswordReset = {
|
|
|
74
74
|
path: user_1.routes.initiatePasswordReset.path,
|
|
75
75
|
method: user_1.routes.initiatePasswordReset.method,
|
|
76
76
|
onRequest: function (request, response) { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
-
var logger, email, db, genericResponse, user, currentTime,
|
|
77
|
+
var logger, email, db, genericResponse, user, currentTime, tokenCreationTime, timeDifference, emailSender, defaultConfigFactory, passwordResetToken, passwordResetTokenExpiration, config, _a, text, html, error_1;
|
|
78
78
|
var _b;
|
|
79
79
|
return __generator(this, function (_c) {
|
|
80
80
|
switch (_c.label) {
|
|
@@ -92,10 +92,12 @@ exports.initiatePasswordReset = {
|
|
|
92
92
|
response.send(genericResponse);
|
|
93
93
|
return [2 /*return*/];
|
|
94
94
|
}
|
|
95
|
-
|
|
95
|
+
// Check if there's an existing token and it's less than 5 minutes old
|
|
96
96
|
if (user.passwordResetToken && user.passwordResetTokenExpiration) {
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
currentTime = (0, moment_1.default)();
|
|
98
|
+
tokenCreationTime = (0, moment_1.default)(user.passwordResetTokenExpiration).subtract(1, 'hour');
|
|
99
|
+
timeDifference = currentTime.diff(tokenCreationTime, 'minutes');
|
|
100
|
+
if (timeDifference < 5) {
|
|
99
101
|
logger.info({ message: "Password reset requested too soon for user", obj: { email: email } });
|
|
100
102
|
response.send(genericResponse);
|
|
101
103
|
return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiatePasswordReset.js","sourceRoot":"","sources":["../../../src/routes/initiatePasswordReset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oCAA8C;AAC9C,wCAA2D;AAC3D,4CAA2C;AAC3C,kDAA4B;AAC5B,wDAGiC;AACjC,uCAAgC;AAEhC;;;;;;;;;;;;GAYG;AACU,QAAA,qBAAqB,GAAU;IAC1C,IAAI,EAAE,aAAM,CAAC,qBAAqB,CAAC,IAAI;IACvC,MAAM,EAAE,aAAM,CAAC,qBAAqB,CAAC,MAAM;IAC3C,SAAS,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;;oBAC3B,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;oBACrD,KAAK,GAAK,OAAO,CAAC,IAAI,MAAjB,CAAkB;oBACzB,EAAE,GAAG,IAAA,kBAAa,GAAE,CAAC;oBAErB,eAAe,GAAG,EAAE,OAAO,EAAE,2EAA2E,EAAE,CAAC;oBAEpG,qBAAM,EAAE,CAAC,GAAG,CAAC,aAAM,CAAC,IAAI,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,EAAA;;oBAA3C,IAAI,GAAG,SAAoC;oBACjD,IAAI,CAAC,IAAI,EAAE;wBACT,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gDAAgD,EAAE,GAAG,EAAE,EAAE,KAAK,OAAA,EAAE,EAAE,CAAC,CAAC;wBAC3F,2CAA2C;wBAC3C,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBAC/B,sBAAO;qBACR;
|
|
1
|
+
{"version":3,"file":"initiatePasswordReset.js","sourceRoot":"","sources":["../../../src/routes/initiatePasswordReset.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/user-server",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.8",
|
|
4
4
|
"description": "User server components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
},
|
|
47
47
|
"main": "./dist/generated/index.js",
|
|
48
48
|
"types": "./dist/generated/index.d.ts",
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "061ee63334091f97c4147a975aa7501294266628"
|
|
50
50
|
}
|
|
@@ -10,7 +10,7 @@ export class DbSessionStore extends Store {
|
|
|
10
10
|
|
|
11
11
|
constructor() {
|
|
12
12
|
super();
|
|
13
|
-
setInterval(this.sweep, DbSessionStore.TWELVE_HOURS);
|
|
13
|
+
setInterval(this.sweep.bind(this), DbSessionStore.TWELVE_HOURS);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
get = (sessionId: string, cb: (error: any, session?: Express.SessionData | null) => void) => {
|
|
@@ -41,10 +41,11 @@ export const initiatePasswordReset: Route = {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
// Check if there's an existing token and it's less than 5 minutes old
|
|
44
|
-
const currentTime = moment();
|
|
45
44
|
if (user.passwordResetToken && user.passwordResetTokenExpiration) {
|
|
46
|
-
const
|
|
47
|
-
|
|
45
|
+
const currentTime = moment();
|
|
46
|
+
const tokenCreationTime = moment(user.passwordResetTokenExpiration).subtract(1, 'hour');
|
|
47
|
+
const timeDifference = currentTime.diff(tokenCreationTime, 'minutes');
|
|
48
|
+
if (timeDifference < 5) {
|
|
48
49
|
logger.info({ message: `Password reset requested too soon for user`, obj: { email } });
|
|
49
50
|
response.send(genericResponse);
|
|
50
51
|
return;
|