@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 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":"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"}
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,KA+DnC,CAAC"}
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, tokenAge, emailSender, defaultConfigFactory, passwordResetToken, passwordResetTokenExpiration, config, _a, text, html, error_1;
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
- currentTime = (0, moment_1.default)();
95
+ // Check if there's an existing token and it's less than 5 minutes old
96
96
  if (user.passwordResetToken && user.passwordResetTokenExpiration) {
97
- tokenAge = (0, moment_1.default)(currentTime).diff(user.passwordResetTokenExpiration, 'minutes');
98
- if (tokenAge >= 0 && tokenAge < 5) {
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":"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"}
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.6",
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": "20962548213c282bfa5333dd9b662c4cb103e4d7"
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 tokenAge = moment(currentTime).diff(user.passwordResetTokenExpiration, 'minutes');
47
- if (tokenAge >= 0 && tokenAge < 5) {
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;