@futdevpro/nts-dynamo 1.15.375 → 1.15.377
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/LICENSE +21 -21
- package/README.md +786 -786
- package/build/_collections/secret-redaction.util.d.ts +16 -0
- package/build/_collections/secret-redaction.util.d.ts.map +1 -1
- package/build/_collections/secret-redaction.util.js +37 -0
- package/build/_collections/secret-redaction.util.js.map +1 -1
- package/build/_modules/account-security/account-password.control-service.d.ts +13 -0
- package/build/_modules/account-security/account-password.control-service.d.ts.map +1 -1
- package/build/_modules/account-security/account-password.control-service.js +20 -0
- package/build/_modules/account-security/account-password.control-service.js.map +1 -1
- package/build/_services/core/auth.service.d.ts.map +1 -1
- package/build/_services/core/auth.service.js +3 -2
- package/build/_services/core/auth.service.js.map +1 -1
- package/package.json +2 -2
|
@@ -35,6 +35,22 @@ export declare class DyNTS_SecretRedaction_Util {
|
|
|
35
35
|
* query-paraméterek, ahol a kulcs titok-jellegű.
|
|
36
36
|
*/
|
|
37
37
|
static redactKnownTokens(value: string): string;
|
|
38
|
+
/** A string up to this length is masked completely (its first 4 characters would give away most of it). */
|
|
39
|
+
static readonly maskFullyUpToLength: number;
|
|
40
|
+
/**
|
|
41
|
+
* The error-safe shape of a value that IS a credential carrier (request headers, a token) — every STRING value becomes
|
|
42
|
+
* `first4…(len N)`, whatever its field is called; keys, numbers and booleans stay (they carry the diagnosis: which
|
|
43
|
+
* headers came, how long the authorization value was).
|
|
44
|
+
*
|
|
45
|
+
* @description 2026-09-28: `getTokenFromRequest` put the raw request headers into `confidentialContent` — with an
|
|
46
|
+
* `Authorization` value without the `Bearer ` prefix that is the whole token, plus cookies / API keys. The shape
|
|
47
|
+
* patterns of `redactText` do not recognize an opaque token, and name-based masking leaks, so here EVERY string
|
|
48
|
+
* value is masked.
|
|
49
|
+
*
|
|
50
|
+
* @param value the value to mask
|
|
51
|
+
* @returns a new, masked value (the input is not changed)
|
|
52
|
+
*/
|
|
53
|
+
static maskValuesDeep(value: unknown, seen?: WeakSet<object>): unknown;
|
|
38
54
|
/** A teljes szöveg-szintű redakció (URI userinfo + ismert token-alakok). */
|
|
39
55
|
static redactText(value: string): string;
|
|
40
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-redaction.util.d.ts","sourceRoot":"","sources":["../../src/_collections/secret-redaction.util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,0BAA0B;IAErC,0CAA0C;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAE7C;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAWjD;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgC/C,4EAA4E;IAC5E,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAMxC;;;;;;;OAOG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;CAuBvG"}
|
|
1
|
+
{"version":3,"file":"secret-redaction.util.d.ts","sourceRoot":"","sources":["../../src/_collections/secret-redaction.util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,0BAA0B;IAErC,0CAA0C;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAE7C;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAWjD;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgC/C,2GAA2G;IAC3G,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAM;IAEjD;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,OAAO,CAAC,MAAM,CAAyB,GAAG,OAAO;IA6B7F,4EAA4E;IAC5E,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAMxC;;;;;;;OAOG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;CAuBvG"}
|
|
@@ -65,6 +65,43 @@ class DyNTS_SecretRedaction_Util {
|
|
|
65
65
|
redacted = redacted.replace(/([?&](?:[A-Za-z0-9_-]*(?:token|secret|password|passwd|key|passphrase)[A-Za-z0-9_-]*)=)[^&\s]+/gi, (_match, prefix) => `${prefix}${DyNTS_SecretRedaction_Util.mask}`);
|
|
66
66
|
return redacted;
|
|
67
67
|
}
|
|
68
|
+
/** A string up to this length is masked completely (its first 4 characters would give away most of it). */
|
|
69
|
+
static maskFullyUpToLength = 12;
|
|
70
|
+
/**
|
|
71
|
+
* The error-safe shape of a value that IS a credential carrier (request headers, a token) — every STRING value becomes
|
|
72
|
+
* `first4…(len N)`, whatever its field is called; keys, numbers and booleans stay (they carry the diagnosis: which
|
|
73
|
+
* headers came, how long the authorization value was).
|
|
74
|
+
*
|
|
75
|
+
* @description 2026-09-28: `getTokenFromRequest` put the raw request headers into `confidentialContent` — with an
|
|
76
|
+
* `Authorization` value without the `Bearer ` prefix that is the whole token, plus cookies / API keys. The shape
|
|
77
|
+
* patterns of `redactText` do not recognize an opaque token, and name-based masking leaks, so here EVERY string
|
|
78
|
+
* value is masked.
|
|
79
|
+
*
|
|
80
|
+
* @param value the value to mask
|
|
81
|
+
* @returns a new, masked value (the input is not changed)
|
|
82
|
+
*/
|
|
83
|
+
static maskValuesDeep(value, seen = new WeakSet()) {
|
|
84
|
+
if (typeof value === 'string') {
|
|
85
|
+
return value.length <= DyNTS_SecretRedaction_Util.maskFullyUpToLength
|
|
86
|
+
? `…(len ${value.length})`
|
|
87
|
+
: `${value.slice(0, 4)}…(len ${value.length})`;
|
|
88
|
+
}
|
|
89
|
+
if (value === null || typeof value !== 'object') {
|
|
90
|
+
return value;
|
|
91
|
+
}
|
|
92
|
+
if (seen.has(value)) {
|
|
93
|
+
return '[circular]';
|
|
94
|
+
}
|
|
95
|
+
seen.add(value);
|
|
96
|
+
if (Array.isArray(value)) {
|
|
97
|
+
return value.map((item) => DyNTS_SecretRedaction_Util.maskValuesDeep(item, seen));
|
|
98
|
+
}
|
|
99
|
+
const masked = {};
|
|
100
|
+
for (const key of Object.keys(value)) {
|
|
101
|
+
masked[key] = DyNTS_SecretRedaction_Util.maskValuesDeep(Reflect.get(value, key), seen);
|
|
102
|
+
}
|
|
103
|
+
return masked;
|
|
104
|
+
}
|
|
68
105
|
/** A teljes szöveg-szintű redakció (URI userinfo + ismert token-alakok). */
|
|
69
106
|
static redactText(value) {
|
|
70
107
|
return DyNTS_SecretRedaction_Util.redactKnownTokens(DyNTS_SecretRedaction_Util.redactConnectionUri(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-redaction.util.js","sourceRoot":"","sources":["../../src/_collections/secret-redaction.util.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,0BAA0B;IAErC,0CAA0C;IAClC,MAAM,CAAU,IAAI,GAAW,KAAK,CAAC;IAE7C;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAa;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAClB,8CAA8C,EAC9C,CAAC,MAAc,EAAE,MAAc,EAAU,EAAE,CAAC,GAAG,MAAM,GAAG,0BAA0B,CAAC,IAAI,GAAG,CAC3F,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAa;QACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAa;YACzB,0BAA0B;YAC1B,iCAAiC;YACjC,mCAAmC;YACnC,2CAA2C;YAC3C,uBAAuB;YACvB,4BAA4B;YAC5B,gCAAgC;YAChC,mCAAmC;YACnC,kCAAkC;SACnC,CAAC;QAEF,IAAI,QAAQ,GAAW,KAAK,CAAC;QAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,0DAA0D;QAC1D,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,iGAAiG,EACjG,CAAC,MAAc,EAAE,MAAc,EAAU,EAAE,CAAC,GAAG,MAAM,GAAG,0BAA0B,CAAC,IAAI,EAAE,CAC1F,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,UAAU,CAAC,KAAa;QAC7B,OAAO,0BAA0B,CAAC,iBAAiB,CACjD,0BAA0B,CAAC,mBAAmB,CAAC,KAAK,CAAC,CACtD,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAc;QACrC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,0BAA0B,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,0BAA0B,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC7D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aACpF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,0BAA0B,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;;
|
|
1
|
+
{"version":3,"file":"secret-redaction.util.js","sourceRoot":"","sources":["../../src/_collections/secret-redaction.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,19 @@ export declare class DyNTS_AccountPassword_ControlService {
|
|
|
10
10
|
constructor(policy?: Partial<DyNTS_AccountPasswordPolicy_Interface>);
|
|
11
11
|
/** Validates and hashes one password to a self-describing scrypt record. */
|
|
12
12
|
hashPassword(password: string): Promise<string>;
|
|
13
|
+
/**
|
|
14
|
+
* BFR-FDPAUTHSERVICE-018 — hashes an ALREADY EXISTING password (a migration from reversible storage) with the policy's
|
|
15
|
+
* scrypt parameters, WITHOUT the length and denylist rules. Those rules are for NEW passwords: the policy cannot go
|
|
16
|
+
* below 8 characters, while older services accepted 6, and a stored 6–7 character password must not stay reversible
|
|
17
|
+
* (the legal promise: passwords are stored only in an irreversible form). The login side needs nothing: the
|
|
18
|
+
* `verifyPassword` check does not depend on the length.
|
|
19
|
+
* Rejects only what cannot be a stored password: a non-string, an empty string, or one above `maxLength` (the same
|
|
20
|
+
* bound `verifyPassword` uses, so the result stays verifiable).
|
|
21
|
+
* ⛔ Never for a password a user is setting now — that goes through `hashPassword`.
|
|
22
|
+
*/
|
|
23
|
+
hashExistingPassword(password: string): Promise<string>;
|
|
24
|
+
/** The scrypt record of one password with the policy's parameters and a fresh salt (no policy check here). */
|
|
25
|
+
private hashToRecord;
|
|
13
26
|
/** Performs constant-time verification and reports whether the stored cost should be upgraded. */
|
|
14
27
|
verifyPassword(password: string, storedHash: string): Promise<DyNTS_AccountPasswordVerification_Interface>;
|
|
15
28
|
/** Rejects weak, oversized and configured common passwords without exposing their content. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-password.control-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/account-security/account-password.control-service.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,qCAAqC,EACtC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,2CAA2C,EAC5C,MAAM,mDAAmD,CAAC;AAqC3D;;;GAGG;AACH,qBAAa,oCAAoC;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D,qDAAqD;gBACzC,MAAM,CAAC,EAAE,OAAO,CAAC,qCAAqC,CAAC;IAWnE,4EAA4E;IAC/D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"account-password.control-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/account-security/account-password.control-service.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,qCAAqC,EACtC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,2CAA2C,EAC5C,MAAM,mDAAmD,CAAC;AAqC3D;;;GAGG;AACH,qBAAa,oCAAoC;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D,qDAAqD;gBACzC,MAAM,CAAC,EAAE,OAAO,CAAC,qCAAqC,CAAC;IAWnE,4EAA4E;IAC/D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5D;;;;;;;;;OASG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpE,8GAA8G;YAChG,YAAY;IAqB1B,kGAAkG;IACrF,cAAc,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,2CAA2C,CAAC;IA+CvD,8FAA8F;IACvF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IA0B/C,OAAO,CAAC,SAAS;YA2CH,kBAAkB;IAWhC,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -41,6 +41,26 @@ class DyNTS_AccountPassword_ControlService {
|
|
|
41
41
|
/** Validates and hashes one password to a self-describing scrypt record. */
|
|
42
42
|
async hashPassword(password) {
|
|
43
43
|
this.validatePassword(password);
|
|
44
|
+
return this.hashToRecord(password);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* BFR-FDPAUTHSERVICE-018 — hashes an ALREADY EXISTING password (a migration from reversible storage) with the policy's
|
|
48
|
+
* scrypt parameters, WITHOUT the length and denylist rules. Those rules are for NEW passwords: the policy cannot go
|
|
49
|
+
* below 8 characters, while older services accepted 6, and a stored 6–7 character password must not stay reversible
|
|
50
|
+
* (the legal promise: passwords are stored only in an irreversible form). The login side needs nothing: the
|
|
51
|
+
* `verifyPassword` check does not depend on the length.
|
|
52
|
+
* Rejects only what cannot be a stored password: a non-string, an empty string, or one above `maxLength` (the same
|
|
53
|
+
* bound `verifyPassword` uses, so the result stays verifiable).
|
|
54
|
+
* ⛔ Never for a password a user is setting now — that goes through `hashPassword`.
|
|
55
|
+
*/
|
|
56
|
+
async hashExistingPassword(password) {
|
|
57
|
+
if (typeof password !== 'string' || !password.length || Array.from(password).length > this.policy.maxLength) {
|
|
58
|
+
throw this.buildError('PASSWORD_POLICY_LENGTH', `An existing password must be a non-empty string of at most ${this.policy.maxLength} characters.`);
|
|
59
|
+
}
|
|
60
|
+
return this.hashToRecord(password);
|
|
61
|
+
}
|
|
62
|
+
/** The scrypt record of one password with the policy's parameters and a fresh salt (no policy check here). */
|
|
63
|
+
async hashToRecord(password) {
|
|
44
64
|
const salt = (0, crypto_1.randomBytes)(this.policy.saltLength);
|
|
45
65
|
const derivedKey = await this.deriveKey({
|
|
46
66
|
password: password,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-password.control-service.js","sourceRoot":"","sources":["../../../src/_modules/account-security/account-password.control-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"account-password.control-service.js","sourceRoot":"","sources":["../../../src/_modules/account-security/account-password.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEjG;;;;;;;;;;;;GAYG;AACH,8BAAsB,iBAAkB,SAAQ,sBAAsB;IAEpE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAiB;IAE7C,SAAkB,mBAAmB,SAEkB;IAEvD;;;;;;OAMG;IACH,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAgCzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4BK;IACL,QAAQ,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,QAAQ,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,mCAAmC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7F;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAEhE;;;;;;;;;;;;;;;;;;OAkBG;IACH,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAiB9C;;;;;;;;;;OAUG;IACH,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB;IAcvE;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;CACtD"}
|
|
@@ -4,6 +4,7 @@ exports.DyNTS_AuthService = void 0;
|
|
|
4
4
|
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
5
|
const singleton_service_1 = require("../base/singleton.service");
|
|
6
6
|
const global_settings_const_1 = require("../../_collections/global-settings.const");
|
|
7
|
+
const secret_redaction_util_1 = require("../../_collections/secret-redaction.util");
|
|
7
8
|
/**
|
|
8
9
|
* Extend this class as an Auth Service implementation
|
|
9
10
|
*
|
|
@@ -38,7 +39,7 @@ class DyNTS_AuthService extends singleton_service_1.DyNTS_SingletonService {
|
|
|
38
39
|
message: 'AuthHeader missing!',
|
|
39
40
|
userMessage: this.defaultErrorUserMsg,
|
|
40
41
|
issuerService: this.serviceName,
|
|
41
|
-
confidentialContent: { headers: req?.headers },
|
|
42
|
+
confidentialContent: { headers: secret_redaction_util_1.DyNTS_SecretRedaction_Util.maskValuesDeep(req?.headers) },
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
45
|
const token = authHeader.split(' ')[1];
|
|
@@ -50,7 +51,7 @@ class DyNTS_AuthService extends singleton_service_1.DyNTS_SingletonService {
|
|
|
50
51
|
message: 'Token missing!',
|
|
51
52
|
userMessage: this.defaultErrorUserMsg,
|
|
52
53
|
issuerService: this.serviceName,
|
|
53
|
-
confidentialContent: { headers: req?.headers },
|
|
54
|
+
confidentialContent: { headers: secret_redaction_util_1.DyNTS_SecretRedaction_Util.maskValuesDeep(req?.headers) },
|
|
54
55
|
});
|
|
55
56
|
}
|
|
56
57
|
return token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/_services/core/auth.service.ts"],"names":[],"mappings":";;;AAGA,sDAA4E;AAE5E,iEAAmE;AACnE,oFAAiF;
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/_services/core/auth.service.ts"],"names":[],"mappings":";;;AAGA,sDAA4E;AAE5E,iEAAmE;AACnE,oFAAiF;AACjF,oFAAsF;AAGtF;;;;;;;;;;;;GAYG;AACH,MAAsB,iBAAkB,SAAQ,0CAAsB;IAE3D,WAAW,GAAW,aAAa,CAAC;IAE3B,mBAAmB,GACnC,0CAA0C;QAC1C,oDAAoD,CAAC;IAEvD;;;;;;OAMG;IACH,mBAAmB,CAAC,GAAY;QAC9B,MAAM,UAAU,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,cAAc,EAAE,IAAI;gBACpB,OAAO,EAAE,qBAAqB;gBAC9B,WAAW,EAAE,IAAI,CAAC,mBAAmB;gBACrC,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,mBAAmB,EAAE,EAAE,OAAO,EAAE,kDAA0B,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;aAC1F,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,cAAc,EAAE,IAAI;gBACpB,OAAO,EAAE,gBAAgB;gBACzB,WAAW,EAAE,IAAI,CAAC,mBAAmB;gBACrC,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,mBAAmB,EAAE,EAAE,OAAO,EAAE,kDAA0B,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;aAC1F,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAuGD;;;;;;;;;;;;;;;;;;OAkBG;IACH,wBAAwB,CAAC,GAAY;QACnC,MAAM,MAAM,GAAuB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,uBAAU,CAAC;gBACnB,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,6CAAqB,CAAC,mBAAmB,gBAAgB;gBACvE,cAAc,EAAE,IAAI;gBACpB,OAAO,EAAE,gDAAgD;gBACzD,WAAW,EAAE,IAAI,CAAC,mBAAmB;gBACrC,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE;aACzF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IACD;;;;;;;;;;OAUG;IACH,+BAA+B,CAAC,GAAY;QAC1C,IAAI,MAA0B,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,MAAM,CAAC,CAAC;YACb,EAAE,QAAQ,EAAE,oCAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,EAAE,QAAQ,EAAE,oCAAuB,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;CAOF;AAtND,8CAsNC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/nts-dynamo",
|
|
3
|
-
"version": "01.15.
|
|
3
|
+
"version": "01.15.377",
|
|
4
4
|
"description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "server-package",
|
|
@@ -543,7 +543,7 @@
|
|
|
543
543
|
}
|
|
544
544
|
},
|
|
545
545
|
"devDependencies": {
|
|
546
|
-
"@futdevpro/fsm-dynamo": "1.20.
|
|
546
|
+
"@futdevpro/fsm-dynamo": "1.20.112",
|
|
547
547
|
"@futdevpro/dynamo-eslint": "1.20.57",
|
|
548
548
|
"@discordjs/opus": "^0.10.0",
|
|
549
549
|
"@discordjs/voice": "^0.18.0",
|