@spinajs/rbac 2.0.521 → 2.0.522
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/lib/cjs/actions.d.ts +269 -93
- package/lib/cjs/actions.d.ts.map +1 -1
- package/lib/cjs/actions.js +695 -354
- package/lib/cjs/actions.js.map +1 -1
- package/lib/cjs/auth.d.ts.map +1 -1
- package/lib/cjs/auth.js +6 -6
- package/lib/cjs/auth.js.map +1 -1
- package/lib/cjs/cli/ChangeUserPassword.d.ts.map +1 -1
- package/lib/cjs/cli/ChangeUserPassword.js +2 -2
- package/lib/cjs/cli/ChangeUserPassword.js.map +1 -1
- package/lib/cjs/cli/CreateUser.d.ts.map +1 -1
- package/lib/cjs/cli/CreateUser.js +8 -1
- package/lib/cjs/cli/CreateUser.js.map +1 -1
- package/lib/cjs/config/rbac.d.ts +40 -0
- package/lib/cjs/config/rbac.d.ts.map +1 -1
- package/lib/cjs/config/rbac.js +40 -0
- package/lib/cjs/config/rbac.js.map +1 -1
- package/lib/cjs/events/UserCreated.d.ts +2 -1
- package/lib/cjs/events/UserCreated.d.ts.map +1 -1
- package/lib/cjs/events/UserCreated.js +13 -3
- package/lib/cjs/events/UserCreated.js.map +1 -1
- package/lib/cjs/exceptions.d.ts +69 -0
- package/lib/cjs/exceptions.d.ts.map +1 -0
- package/lib/cjs/exceptions.js +86 -0
- package/lib/cjs/exceptions.js.map +1 -0
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +2 -7
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +1 -8
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/password.d.ts +18 -1
- package/lib/cjs/password.d.ts.map +1 -1
- package/lib/cjs/password.js +61 -5
- package/lib/cjs/password.js.map +1 -1
- package/lib/cjs/profile.js +1 -1
- package/lib/cjs/profile.js.map +1 -1
- package/lib/mjs/actions.d.ts +269 -93
- package/lib/mjs/actions.d.ts.map +1 -1
- package/lib/mjs/actions.js +682 -358
- package/lib/mjs/actions.js.map +1 -1
- package/lib/mjs/auth.d.ts.map +1 -1
- package/lib/mjs/auth.js +7 -7
- package/lib/mjs/auth.js.map +1 -1
- package/lib/mjs/cli/ChangeUserPassword.d.ts.map +1 -1
- package/lib/mjs/cli/ChangeUserPassword.js +3 -3
- package/lib/mjs/cli/ChangeUserPassword.js.map +1 -1
- package/lib/mjs/cli/CreateUser.d.ts.map +1 -1
- package/lib/mjs/cli/CreateUser.js +8 -1
- package/lib/mjs/cli/CreateUser.js.map +1 -1
- package/lib/mjs/config/rbac.d.ts +40 -0
- package/lib/mjs/config/rbac.d.ts.map +1 -1
- package/lib/mjs/config/rbac.js +40 -0
- package/lib/mjs/config/rbac.js.map +1 -1
- package/lib/mjs/events/UserCreated.d.ts +2 -1
- package/lib/mjs/events/UserCreated.d.ts.map +1 -1
- package/lib/mjs/events/UserCreated.js +13 -3
- package/lib/mjs/events/UserCreated.js.map +1 -1
- package/lib/mjs/exceptions.d.ts +69 -0
- package/lib/mjs/exceptions.d.ts.map +1 -0
- package/lib/mjs/exceptions.js +71 -0
- package/lib/mjs/exceptions.js.map +1 -0
- package/lib/mjs/index.d.ts +1 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +1 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +2 -7
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +0 -7
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/password.d.ts +18 -1
- package/lib/mjs/password.d.ts.map +1 -1
- package/lib/mjs/password.js +62 -6
- package/lib/mjs/password.js.map +1 -1
- package/lib/mjs/profile.js +2 -2
- package/lib/mjs/profile.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
package/lib/cjs/index.js
CHANGED
|
@@ -41,6 +41,7 @@ const User_js_1 = require("./models/User.js");
|
|
|
41
41
|
const UserMetadata_js_1 = require("./models/UserMetadata.js");
|
|
42
42
|
const model_token_js_1 = require("./model-token.js");
|
|
43
43
|
__exportStar(require("./interfaces.js"), exports);
|
|
44
|
+
__exportStar(require("./exceptions.js"), exports);
|
|
44
45
|
__exportStar(require("./auth.js"), exports);
|
|
45
46
|
__exportStar(require("./password.js"), exports);
|
|
46
47
|
__exportStar(require("./session.js"), exports);
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/interfaces.d.ts
CHANGED
|
@@ -93,7 +93,8 @@ export declare abstract class PasswordProvider {
|
|
|
93
93
|
*/
|
|
94
94
|
abstract hash(input: string): Promise<string>;
|
|
95
95
|
/**
|
|
96
|
-
* Generates random
|
|
96
|
+
* Generates a random password drawn from `rbac.password.generator` and
|
|
97
|
+
* satisfying `rbac.password.validation.rule`.
|
|
97
98
|
*/
|
|
98
99
|
abstract generate(): string;
|
|
99
100
|
}
|
|
@@ -257,12 +258,6 @@ export declare abstract class SessionProvider<T extends ISession = ISession> ext
|
|
|
257
258
|
*/
|
|
258
259
|
protected isExpired(s: ISession): boolean;
|
|
259
260
|
}
|
|
260
|
-
export declare enum AthenticationErrorCodes {
|
|
261
|
-
E_USER_BANNED = 1,
|
|
262
|
-
E_USER_NOT_ACTIVE = 2,
|
|
263
|
-
E_INVALID_CREDENTIALS = 3,
|
|
264
|
-
E_LOGIN_ATTEMPTS_EXCEEDED = 4
|
|
265
|
-
}
|
|
266
261
|
export type PermissionType = 'readAny' | 'readOwn' | 'updateAny' | 'updateOwn' | 'deleteAny' | 'deleteOwn' | 'createAny' | 'createOwn';
|
|
267
262
|
/**
|
|
268
263
|
* Static a model may declare to constrain ONE operation, checked by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzI,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAiB,YAAY;QAC3B;;;;;;;WAOG;QACH,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,aAAa,CAAC;QAElI;;;;WAIG;QACH,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAErE;;;;WAIG;QACH,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7E;;;;WAIG;QACH,cAAc,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACpG;CACF;AAED,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC;IAEtB;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5B;AAED;;;;;GAKG;AACH,8BAAsB,yBAAyB;IAC7C;;OAEG;IACH,SAAgB,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEjE;;OAEG;IACH,SAAgB,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAChE;AAED;;GAEG;AACH,8BAAsB,gBAAgB;IACpC;;;;;;OAMG;IACH,SAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,SAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/interfaces.js
CHANGED
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.UserProfileProvider = exports.UserProfile = exports.PasswordValidationProvider = exports.RBAC_HOOK_FALLBACK = exports.
|
|
12
|
+
exports.UserProfileProvider = exports.UserProfile = exports.PasswordValidationProvider = exports.RBAC_HOOK_FALLBACK = exports.SessionProvider = exports.FederatedAuthProvider = exports.AuthProvider = exports.PasswordProvider = exports.SessionExpirationProvider = void 0;
|
|
13
13
|
const di_1 = require("@spinajs/di");
|
|
14
14
|
const configuration_1 = require("@spinajs/configuration");
|
|
15
15
|
const luxon_1 = require("luxon");
|
|
@@ -72,13 +72,6 @@ __decorate([
|
|
|
72
72
|
(0, configuration_1.AutoinjectService)('rbac.session.expiration'),
|
|
73
73
|
__metadata("design:type", SessionExpirationProvider)
|
|
74
74
|
], SessionProvider.prototype, "Expiration", void 0);
|
|
75
|
-
var AthenticationErrorCodes;
|
|
76
|
-
(function (AthenticationErrorCodes) {
|
|
77
|
-
AthenticationErrorCodes[AthenticationErrorCodes["E_USER_BANNED"] = 1] = "E_USER_BANNED";
|
|
78
|
-
AthenticationErrorCodes[AthenticationErrorCodes["E_USER_NOT_ACTIVE"] = 2] = "E_USER_NOT_ACTIVE";
|
|
79
|
-
AthenticationErrorCodes[AthenticationErrorCodes["E_INVALID_CREDENTIALS"] = 3] = "E_INVALID_CREDENTIALS";
|
|
80
|
-
AthenticationErrorCodes[AthenticationErrorCodes["E_LOGIN_ATTEMPTS_EXCEEDED"] = 4] = "E_LOGIN_ATTEMPTS_EXCEEDED";
|
|
81
|
-
})(AthenticationErrorCodes || (exports.AthenticationErrorCodes = AthenticationErrorCodes = {}));
|
|
82
75
|
/**
|
|
83
76
|
* Name of the generic hook every operation except create falls back to.
|
|
84
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oCAA2C;AAC3C,0DAA2D;AAE3D,iCAAiC;AAkEjC;;;;;GAKG;AACH;CAUC;;AAED;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oCAA2C;AAC3C,0DAA2D;AAE3D,iCAAiC;AAkEjC;;;;;GAKG;AACH;CAUC;;AAED;;GAEG;AACH;CAuBC;;AAED;;;;;GAKG;AACH;CAgEC;;AAED;;;;;;GAMG;AACH;CAwBC;;AAED,qBAAqE,SAAQ,iBAAY;IA8DvF;;OAEG;IACO,sBAAsB,CAAC,CAAW;QAC1C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACO,sBAAsB,CAAC,CAAW;QAC1C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,CAAW;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,gBAAQ,CAAC,GAAG,EAAE,CAAC;IAC1D,CAAC;CACF;;AA3EW;IADT,IAAA,iCAAiB,EAAC,yBAAyB,CAAC;8BACtB,yBAAyB;mDAAC;AAoGnD;;GAEG;AACU,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAezC;;GAEG;AACH;CAEC;;AAGD;IAIE,YAAmB,IAAW,EAAE,IAAU;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;;AAED;;;;;GAKG;AACH;CAEC"}
|
package/lib/cjs/password.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { PasswordProvider, PasswordValidationProvider } from './interfaces.js';
|
|
2
2
|
import { DataValidator } from '@spinajs/validation';
|
|
3
3
|
/**
|
|
4
|
-
* Simple password service that use argon2 hash alghoritm
|
|
4
|
+
* Simple password service that use argon2 hash alghoritm
|
|
5
5
|
*/
|
|
6
6
|
export declare class BasicPasswordProvider implements PasswordProvider {
|
|
7
|
+
protected GeneratorOptions: {
|
|
8
|
+
length: number;
|
|
9
|
+
characters: string[];
|
|
10
|
+
};
|
|
11
|
+
protected Validation: PasswordValidationProvider;
|
|
7
12
|
hash(input: string): Promise<string>;
|
|
8
13
|
/**
|
|
9
14
|
*
|
|
@@ -13,6 +18,18 @@ export declare class BasicPasswordProvider implements PasswordProvider {
|
|
|
13
18
|
* @param password - password to validate
|
|
14
19
|
*/
|
|
15
20
|
verify(hash: string, password: string): Promise<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* A random password drawn from `rbac.password.generator` and guaranteed to
|
|
23
|
+
* satisfy `rbac.password.validation.rule`.
|
|
24
|
+
*
|
|
25
|
+
* The guarantee matters: a generated password is what a freshly created
|
|
26
|
+
* account holds, and one that fails the application's own rule is a password
|
|
27
|
+
* the account can never legitimately return to.
|
|
28
|
+
*
|
|
29
|
+
* @throws UnexpectedServerError when the configured pool cannot produce a
|
|
30
|
+
* password the rule accepts. That is a configuration fault nobody calling
|
|
31
|
+
* this can fix, so it must never reach a client as a 400.
|
|
32
|
+
*/
|
|
16
33
|
generate(): string;
|
|
17
34
|
}
|
|
18
35
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/password.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAI/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/password.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAI/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA6BpD;;GAEG;AACH,qBACa,qBAAsB,YAAW,gBAAgB;IAE5D,SAAS,CAAC,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAGrE,SAAS,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAEpC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhD;IAED;;;;;;OAMG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpE;IAED;;;;;;;;;;;OAWG;IACI,QAAQ,IAAI,MAAM,CAoBxB;CACF;AAED;;GAEG;AACH,qBACa,+BAAgC,SAAQ,0BAA0B;IAE7E,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAGnC,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAE5B,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGtC;CACF"}
|
package/lib/cjs/password.js
CHANGED
|
@@ -49,9 +49,33 @@ const argon = __importStar(require("argon2"));
|
|
|
49
49
|
const di_1 = require("@spinajs/di");
|
|
50
50
|
const configuration_1 = require("@spinajs/configuration");
|
|
51
51
|
const validation_1 = require("@spinajs/validation");
|
|
52
|
-
const
|
|
52
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
53
|
+
const crypto_1 = require("crypto");
|
|
53
54
|
/**
|
|
54
|
-
*
|
|
55
|
+
* How many draws `generate()` makes before declaring the generator pool and the
|
|
56
|
+
* validation rule incompatible.
|
|
57
|
+
*
|
|
58
|
+
* The pool says which characters may appear, not which classes are MANDATORY, so
|
|
59
|
+
* a uniform draw can legitimately miss a class the rule demands - with a
|
|
60
|
+
* 62-character alphanumeric pool at length 16, about 6% of draws contain no
|
|
61
|
+
* digit. One draw plus an assertion would therefore fail 6% of the time, which
|
|
62
|
+
* is a broken generator rather than a misconfiguration signal. Ten draws bring a
|
|
63
|
+
* spurious failure to roughly 6e-13, while a pool that genuinely cannot satisfy
|
|
64
|
+
* the rule still exhausts every attempt and throws.
|
|
65
|
+
*/
|
|
66
|
+
const GENERATE_ATTEMPTS = 10;
|
|
67
|
+
/**
|
|
68
|
+
* Used when an application has not declared `rbac.password.generator`. Mirrors
|
|
69
|
+
* the shipped config default, so an application that never configures a
|
|
70
|
+
* generator still creates usable accounts - the same reason `_create_middleware`
|
|
71
|
+
* carries a fallback for `rbac.actions`.
|
|
72
|
+
*
|
|
73
|
+
* A DECLARED but empty pool still throws: that is a misconfiguration, not an
|
|
74
|
+
* omission.
|
|
75
|
+
*/
|
|
76
|
+
const DEFAULT_GENERATOR = { length: 16, characters: ['abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0123456789'] };
|
|
77
|
+
/**
|
|
78
|
+
* Simple password service that use argon2 hash alghoritm
|
|
55
79
|
*/
|
|
56
80
|
let BasicPasswordProvider = class BasicPasswordProvider {
|
|
57
81
|
async hash(input) {
|
|
@@ -68,13 +92,45 @@ let BasicPasswordProvider = class BasicPasswordProvider {
|
|
|
68
92
|
async verify(hash, password) {
|
|
69
93
|
return await argon.verify(hash, password);
|
|
70
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* A random password drawn from `rbac.password.generator` and guaranteed to
|
|
97
|
+
* satisfy `rbac.password.validation.rule`.
|
|
98
|
+
*
|
|
99
|
+
* The guarantee matters: a generated password is what a freshly created
|
|
100
|
+
* account holds, and one that fails the application's own rule is a password
|
|
101
|
+
* the account can never legitimately return to.
|
|
102
|
+
*
|
|
103
|
+
* @throws UnexpectedServerError when the configured pool cannot produce a
|
|
104
|
+
* password the rule accepts. That is a configuration fault nobody calling
|
|
105
|
+
* this can fix, so it must never reach a client as a 400.
|
|
106
|
+
*/
|
|
71
107
|
generate() {
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
108
|
+
const options = this.GeneratorOptions ?? DEFAULT_GENERATOR;
|
|
109
|
+
const length = options.length ?? DEFAULT_GENERATOR.length;
|
|
110
|
+
const pool = (options.characters ?? DEFAULT_GENERATOR.characters).join('');
|
|
111
|
+
if (length < 1 || pool.length === 0) {
|
|
112
|
+
throw new exceptions_1.UnexpectedServerError('rbac.password.generator must define a positive length and a non-empty character pool');
|
|
113
|
+
}
|
|
114
|
+
for (let attempt = 0; attempt < GENERATE_ATTEMPTS; attempt++) {
|
|
115
|
+
// randomInt is the CSPRNG - Math.random is predictable from a handful of
|
|
116
|
+
// outputs, and this value guards an account.
|
|
117
|
+
const candidate = Array.from({ length }, () => pool[(0, crypto_1.randomInt)(pool.length)]).join('');
|
|
118
|
+
if (this.Validation.check(candidate)) {
|
|
119
|
+
return candidate;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
throw new exceptions_1.UnexpectedServerError(`Could not generate a password satisfying rbac.password.validation.rule in ${GENERATE_ATTEMPTS} attempts. The generator character pool and the validation rule disagree - check rbac.password.generator.`);
|
|
75
123
|
}
|
|
76
124
|
};
|
|
77
125
|
exports.BasicPasswordProvider = BasicPasswordProvider;
|
|
126
|
+
__decorate([
|
|
127
|
+
(0, configuration_1.Config)('rbac.password.generator'),
|
|
128
|
+
__metadata("design:type", Object)
|
|
129
|
+
], BasicPasswordProvider.prototype, "GeneratorOptions", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
(0, configuration_1.AutoinjectService)('rbac.password.validation'),
|
|
132
|
+
__metadata("design:type", interfaces_js_1.PasswordValidationProvider)
|
|
133
|
+
], BasicPasswordProvider.prototype, "Validation", void 0);
|
|
78
134
|
exports.BasicPasswordProvider = BasicPasswordProvider = __decorate([
|
|
79
135
|
(0, di_1.Injectable)(interfaces_js_1.PasswordProvider)
|
|
80
136
|
], BasicPasswordProvider);
|
package/lib/cjs/password.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/password.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5C,mDAA+E;AAC/E,MAAY,KAAK,mCAAe;AAChC,oCAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/password.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5C,mDAA+E;AAC/E,MAAY,KAAK,mCAAe;AAChC,oCAAqD;AACrD,0DAAmE;AACnE,oDAAoD;AACpD,oDAA4D;AAC5D,mCAAmC;AAEnC;;;;;;;;;;;GAWG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,YAAY,CAAC,EAAE,CAAC;AAEjI;;GAEG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAOzB,KAAK,CAAC,IAAI,CAAC,KAAa;QAC7B,gDAAgD;QAChD,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,QAAgB;QAChD,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;OAWG;IACI,QAAQ;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,IAAI,iBAAiB,CAAC;QAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE3E,IAAI,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,kCAAqB,CAAC,sFAAsF,CAAC,CAAC;QAC1H,CAAC;QAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7D,yEAAyE;YACzE,6CAA6C;YAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAA,kBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEtF,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,kCAAqB,CAAC,6EAA6E,iBAAiB,2GAA2G,CAAC,CAAC;IAC7O,CAAC;CACF,CAAA;;AAtDW;IADT,IAAA,sBAAM,EAAC,yBAAyB,CAAC;;+DACmC;AAG3D;IADT,IAAA,iCAAiB,EAAC,0BAA0B,CAAC;8BACxB,0CAA0B;yDAAC;gCALtC,qBAAqB;IADjC,IAAA,eAAU,EAAC,gCAAgB,CAAC;GAChB,qBAAqB,CAwDjC;AAED;;GAEG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,0CAA0B;IAOtE,KAAK,CAAC,QAAgB;QAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAe,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;;AATW;IADT,IAAA,sBAAM,EAAC,+BAA+B,CAAC;;yEACL;AAGzB;IADT,IAAA,eAAU,GAAE;8BACQ,0BAAa;kEAAC;0CALxB,+BAA+B;IAD3C,IAAA,eAAU,EAAC,0CAA0B,CAAC;GAC1B,+BAA+B,CAW3C"}
|
package/lib/cjs/profile.js
CHANGED
|
@@ -15,7 +15,7 @@ const interfaces_js_1 = require("./interfaces.js");
|
|
|
15
15
|
*/
|
|
16
16
|
let BasicProfileProvider = class BasicProfileProvider {
|
|
17
17
|
async retrieve(user) {
|
|
18
|
-
const u = await (0, index_js_1.
|
|
18
|
+
const u = await (0, index_js_1.getUser)(user);
|
|
19
19
|
return new interfaces_js_1.UserProfile(u);
|
|
20
20
|
}
|
|
21
21
|
};
|
package/lib/cjs/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/profile.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/profile.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oCAAyC;AACzC,yCAAqC;AACrC,mDAAmE;AAGnE;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACtB,KAAK,CAAC,QAAQ,CAAI,IAA4B;QACjD,MAAM,CAAC,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,2BAAW,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;CAEJ,CAAA;;+BANY,oBAAoB;IADhC,IAAA,eAAU,EAAC,mCAAmB,CAAC;GACnB,oBAAoB,CAMhC"}
|