@riao/authn-password 2.0.0 → 3.0.0

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/README.md CHANGED
@@ -93,8 +93,10 @@ Abstract class that extends `Authentication<TPrincipal>` and adds password-based
93
93
  #### Constructor Options
94
94
 
95
95
  ```typescript
96
- interface PasswordAuthenticationOptions extends AuthOptions {
96
+ interface PasswordAuthenticationOptions extends AuthenticationOptions {
97
97
  hash?: Hash; // Optional custom hash implementation (defaults to bcrypt)
98
+ maxFailedAttempts?: number;
99
+ lockoutDurationMs?: number;
98
100
  }
99
101
  ```
100
102
 
@@ -33,18 +33,26 @@ class PasswordAuthentication extends authentication_1.Authentication {
33
33
  async authenticate(credentials) {
34
34
  const attempt = {
35
35
  scheme: 'password',
36
- subject: String(credentials.login ?? ''),
36
+ subject: typeof credentials.login === 'string'
37
+ ? credentials.login
38
+ : '',
37
39
  };
38
40
  const protection = await this.beforeAuthenticationAttempt(attempt);
39
41
  if (!protection.allowed) {
40
42
  return null;
41
43
  }
44
+ if (typeof credentials.login !== 'string' || !credentials.login ||
45
+ typeof credentials.password !== 'string' || !credentials.password) {
46
+ await this.recordAuthenticationFailure(attempt);
47
+ return null;
48
+ }
42
49
  const principal = await this.findActivePrincipal({
43
50
  where: {
44
51
  login: credentials.login,
45
52
  },
46
53
  });
47
54
  if (!principal) {
55
+ await this.recordAuthenticationFailure(attempt);
48
56
  return null;
49
57
  }
50
58
  const passwordRecord = await this.passwordsRepo.findOne({
@@ -52,6 +60,7 @@ class PasswordAuthentication extends authentication_1.Authentication {
52
60
  orderBy: { create_timestamp: 'DESC' },
53
61
  });
54
62
  if (!passwordRecord) {
63
+ await this.recordAuthenticationFailure(attempt);
55
64
  return null;
56
65
  }
57
66
  if (passwordRecord.locked_until &&
@@ -68,14 +77,14 @@ class PasswordAuthentication extends authentication_1.Authentication {
68
77
  passwordRecord.locked_until > new Date()) {
69
78
  return null;
70
79
  }
71
- const isValid = await this.hash.check(credentials.password, passwordRecord?.password_hash);
80
+ const isValid = await this.hash.check(credentials.password, passwordRecord.password_hash);
72
81
  if (!isValid) {
73
82
  await this.recordAuthenticationFailure(attempt);
74
83
  await this.recordPasswordFailure(passwordRecord);
75
84
  return null;
76
85
  }
77
- await this.recordAuthenticationSuccess(attempt);
78
86
  await this.resetPasswordFailures(passwordRecord.id);
87
+ await this.recordAuthenticationSuccess(attempt);
79
88
  return principal;
80
89
  }
81
90
  async recordPasswordFailure(password) {
@@ -1 +1 @@
1
- {"version":3,"file":"authentication-password.js","sourceRoot":"","sources":["../../src/authentication-password.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication-password.js","sourceRoot":"","sources":["../../src/authentication-password.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riao/authn-password",
3
- "version": "2.0.0",
3
+ "version": "3.0.0",
4
4
  "description": "Password driver for Riao",
5
5
  "typescript-template": {
6
6
  "base": "1.0.1",
@@ -9,9 +9,9 @@
9
9
  },
10
10
  "scripts": {},
11
11
  "dependencies": {
12
- "@riao/crypto": "^1.1.1",
12
+ "@riao/crypto": "^1.2.0",
13
13
  "@riao/dbal": "^3.12.0",
14
- "@riao/iam": "^4.0.0",
14
+ "@riao/iam": "^5.0.1",
15
15
  "bcrypt": "^6.0.0"
16
16
  },
17
17
  "repository": {
@@ -1,5 +0,0 @@
1
- import { Migration } from '@riao/dbal';
2
- export declare class AddPasswordAuthenticationProtection extends Migration {
3
- up(): Promise<void>;
4
- down(): Promise<void>;
5
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddPasswordAuthenticationProtection = void 0;
4
- const dbal_1 = require("@riao/dbal");
5
- class AddPasswordAuthenticationProtection extends dbal_1.Migration {
6
- async up() {
7
- await this.ddl.addColumns({
8
- table: 'iam_passwords',
9
- columns: [
10
- {
11
- name: 'failed_authentication_count',
12
- type: dbal_1.ColumnType.INT,
13
- required: true,
14
- default: 0,
15
- },
16
- ],
17
- });
18
- await this.ddl.addColumns({
19
- table: 'iam_passwords',
20
- columns: [
21
- {
22
- name: 'locked_until',
23
- type: dbal_1.ColumnType.TIMESTAMP,
24
- required: false,
25
- },
26
- ],
27
- });
28
- }
29
- async down() {
30
- await this.ddl.dropColumn({
31
- table: 'iam_passwords',
32
- column: 'locked_until',
33
- });
34
- await this.ddl.dropColumn({
35
- table: 'iam_passwords',
36
- column: 'failed_authentication_count',
37
- });
38
- }
39
- }
40
- exports.AddPasswordAuthenticationProtection = AddPasswordAuthenticationProtection;
41
- //# sourceMappingURL=002-add-password-authentication-protection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"002-add-password-authentication-protection.js","sourceRoot":"","sources":["../../../src/migrations/002-add-password-authentication-protection.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AAEnD,MAAa,mCAAoC,SAAQ,gBAAS;IACxD,KAAK,CAAC,EAAE;QAChB,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,6BAA6B;oBACnC,IAAI,EAAE,iBAAU,CAAC,GAAG;oBACpB,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,CAAC;iBACV;aACD;SACD,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,iBAAU,CAAC,SAAS;oBAC1B,QAAQ,EAAE,KAAK;iBACf;aACD;SACD,CAAC,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,IAAI;QAClB,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,6BAA6B;SACrC,CAAC,CAAC;IACJ,CAAC;CACD;AAnCD,kFAmCC"}