@diia-inhouse/crypto 1.20.20 → 2.0.6

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.
Files changed (57) hide show
  1. package/dist/index.d.ts +12 -0
  2. package/dist/index.js +8 -19
  3. package/dist/interfaces/auth.d.ts +9 -0
  4. package/dist/interfaces/crypto.d.ts +10 -0
  5. package/dist/interfaces/deps.d.ts +13 -0
  6. package/dist/interfaces/identifier.d.ts +10 -0
  7. package/dist/interfaces/index.d.ts +5 -0
  8. package/dist/interfaces/jwt.d.ts +25 -0
  9. package/dist/services/auth.d.ts +41 -0
  10. package/dist/services/auth.js +90 -113
  11. package/dist/services/crypto.d.ts +15 -0
  12. package/dist/services/crypto.js +23 -24
  13. package/dist/services/hash.d.ts +9 -0
  14. package/dist/services/hash.js +16 -18
  15. package/dist/services/identifier.d.ts +12 -0
  16. package/dist/services/identifier.js +22 -29
  17. package/dist/services/index.d.ts +6 -0
  18. package/dist/services/index.js +7 -23
  19. package/dist/services/jwe.d.ts +17 -0
  20. package/dist/services/jwe.js +43 -59
  21. package/dist/services/jwt.d.ts +30 -0
  22. package/dist/services/jwt.js +40 -81
  23. package/package.json +33 -22
  24. package/dist/index.js.map +0 -1
  25. package/dist/interfaces/auth.js +0 -3
  26. package/dist/interfaces/auth.js.map +0 -1
  27. package/dist/interfaces/crypto.js +0 -3
  28. package/dist/interfaces/crypto.js.map +0 -1
  29. package/dist/interfaces/deps.js +0 -3
  30. package/dist/interfaces/deps.js.map +0 -1
  31. package/dist/interfaces/identifier.js +0 -3
  32. package/dist/interfaces/identifier.js.map +0 -1
  33. package/dist/interfaces/index.js +0 -22
  34. package/dist/interfaces/index.js.map +0 -1
  35. package/dist/interfaces/jwt.js +0 -3
  36. package/dist/interfaces/jwt.js.map +0 -1
  37. package/dist/services/auth.js.map +0 -1
  38. package/dist/services/crypto.js.map +0 -1
  39. package/dist/services/hash.js.map +0 -1
  40. package/dist/services/identifier.js.map +0 -1
  41. package/dist/services/index.js.map +0 -1
  42. package/dist/services/jwe.js.map +0 -1
  43. package/dist/services/jwt.js.map +0 -1
  44. package/dist/types/index.d.ts +0 -2
  45. package/dist/types/interfaces/auth.d.ts +0 -5
  46. package/dist/types/interfaces/crypto.d.ts +0 -7
  47. package/dist/types/interfaces/deps.d.ts +0 -7
  48. package/dist/types/interfaces/identifier.d.ts +0 -7
  49. package/dist/types/interfaces/index.d.ts +0 -5
  50. package/dist/types/interfaces/jwt.d.ts +0 -21
  51. package/dist/types/services/auth.d.ts +0 -37
  52. package/dist/types/services/crypto.d.ts +0 -11
  53. package/dist/types/services/hash.d.ts +0 -5
  54. package/dist/types/services/identifier.d.ts +0 -8
  55. package/dist/types/services/index.d.ts +0 -6
  56. package/dist/types/services/jwe.d.ts +0 -13
  57. package/dist/types/services/jwt.d.ts +0 -26
@@ -1,59 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JweService = void 0;
4
- const node_jose_1 = require("node-jose");
5
- class JweService {
6
- jwkSecretData;
7
- logger;
8
- key;
9
- constructor(jwkSecretData, logger) {
10
- this.jwkSecretData = jwkSecretData;
11
- this.logger = logger;
12
- }
13
- async onInit() {
14
- this.key = await node_jose_1.JWK.asKey(this.jwkSecretData, 'json');
15
- }
16
- async encryptJWE(tokenData) {
17
- const dataToEncrypt = this.handleUriData(tokenData, encodeURIComponent);
18
- const enc = await node_jose_1.JWE.createEncrypt({ format: 'compact' }, this.getKey()).update(JSON.stringify(dataToEncrypt)).final();
19
- return enc;
20
- }
21
- async decryptJWE(data) {
22
- const dec = await node_jose_1.JWE.createDecrypt(this.getKey()).decrypt(data);
23
- const plainTokenData = JSON.parse(dec.plaintext.toString());
24
- const decodedTokenData = this.handleUriData(plainTokenData, decodeURIComponent);
25
- this.logger.debug('Token successfully decrypted', decodedTokenData);
26
- return decodedTokenData;
27
- }
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- handleUriData(data, uriHandler) {
30
- switch (true) {
31
- case Array.isArray(data): {
32
- return data.map((item) => this.handleUriData(item, uriHandler));
33
- }
34
- case typeof data === 'boolean': {
35
- return data;
36
- }
37
- case typeof data === 'object' && data !== null: {
38
- for (const [key, value] of Object.entries(data)) {
39
- data[key] = this.handleUriData(value, uriHandler);
40
- }
41
- return data;
42
- }
43
- case data === undefined: {
44
- return;
45
- }
46
- default: {
47
- return uriHandler(data);
48
- }
49
- }
50
- }
51
- getKey() {
52
- if (!this.key) {
53
- throw new Error('JWK key is not defined!');
54
- }
55
- return this.key;
56
- }
57
- }
58
- exports.JweService = JweService;
59
- //# sourceMappingURL=jwe.js.map
1
+ import nodeJose from "node-jose";
2
+ //#region src/services/jwe.ts
3
+ const { JWE, JWK } = nodeJose;
4
+ var JweService = class {
5
+ jwkSecretData;
6
+ logger;
7
+ key;
8
+ constructor(jwkSecretData, logger) {
9
+ this.jwkSecretData = jwkSecretData;
10
+ this.logger = logger;
11
+ }
12
+ async onInit() {
13
+ this.key = await JWK.asKey(this.jwkSecretData, "json");
14
+ }
15
+ async encryptJWE(tokenData) {
16
+ const dataToEncrypt = this.handleUriData(tokenData, encodeURIComponent);
17
+ return await JWE.createEncrypt({ format: "compact" }, this.getKey()).update(JSON.stringify(dataToEncrypt)).final();
18
+ }
19
+ async decryptJWE(data) {
20
+ const dec = await JWE.createDecrypt(this.getKey()).decrypt(data);
21
+ const plainTokenData = JSON.parse(dec.plaintext.toString());
22
+ const decodedTokenData = this.handleUriData(plainTokenData, decodeURIComponent);
23
+ this.logger.debug("Token successfully decrypted", decodedTokenData);
24
+ return decodedTokenData;
25
+ }
26
+ handleUriData(data, uriHandler) {
27
+ switch (true) {
28
+ case Array.isArray(data): return data.map((item) => this.handleUriData(item, uriHandler));
29
+ case typeof data === "boolean": return data;
30
+ case typeof data === "object" && data !== null:
31
+ for (const [key, value] of Object.entries(data)) data[key] = this.handleUriData(value, uriHandler);
32
+ return data;
33
+ case data === void 0: return;
34
+ default: return uriHandler(data);
35
+ }
36
+ }
37
+ getKey() {
38
+ if (!this.key) throw new Error("JWK key is not defined!");
39
+ return this.key;
40
+ }
41
+ };
42
+ //#endregion
43
+ export { JweService };
@@ -0,0 +1,30 @@
1
+ import { JwtServiceParams, JwtToken } from "../interfaces/jwt.js";
2
+ import { DecodeOptions, Jwt, JwtPayload, VerifyOptions } from "jsonwebtoken";
3
+ import { KeyObject } from "node:crypto";
4
+
5
+ //#region src/services/jwt.d.ts
6
+ declare class JwtService {
7
+ private readonly privateKey;
8
+ private readonly publicKey;
9
+ private readonly tokenSignOptions;
10
+ private readonly tokenVerifyOptions;
11
+ constructor(jwtServiceConfig: JwtServiceParams);
12
+ sign(data: string, expiresIn?: string): string;
13
+ signPayload(payload: string | Buffer | object, expiresIn?: string): string;
14
+ verify(jwtToken: string): JwtToken;
15
+ verifyWithOptions(jwtToken: string, publicKey: KeyObject, options?: VerifyOptions & {
16
+ complete?: true;
17
+ }): Jwt;
18
+ verifyWithOptions(jwtToken: string, publicKey: KeyObject, options?: VerifyOptions & {
19
+ complete?: false;
20
+ }): JwtPayload | string;
21
+ decode(token: string): JwtToken;
22
+ decodeWithOptions(token: string, options?: DecodeOptions & {
23
+ complete: true;
24
+ }): null | Jwt;
25
+ decodeWithOptions(token: string, options?: DecodeOptions & {
26
+ json: true;
27
+ }): null | JwtPayload;
28
+ }
29
+ //#endregion
30
+ export { JwtService };
@@ -1,81 +1,40 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.JwtService = void 0;
37
- const jwt = __importStar(require("jsonwebtoken"));
38
- const jsonwebtoken_1 = require("jsonwebtoken");
39
- class JwtService {
40
- privateKey;
41
- publicKey;
42
- tokenSignOptions;
43
- tokenVerifyOptions;
44
- constructor(jwtServiceConfig) {
45
- const { privateKey, publicKey, tokenSignOptions, tokenVerifyOptions } = jwtServiceConfig;
46
- this.privateKey = privateKey;
47
- this.publicKey = publicKey;
48
- this.tokenSignOptions = tokenSignOptions;
49
- this.tokenVerifyOptions = tokenVerifyOptions;
50
- }
51
- sign(data, expiresIn) {
52
- return this.signPayload({ data }, expiresIn);
53
- }
54
- signPayload(payload, expiresIn) {
55
- if (!this.privateKey) {
56
- throw new Error('Private key not provided to sign data');
57
- }
58
- const signOptions = { ...this.tokenSignOptions };
59
- if (expiresIn) {
60
- signOptions.expiresIn = expiresIn;
61
- }
62
- return jwt.sign(payload, this.privateKey, signOptions);
63
- }
64
- verify(jwtToken) {
65
- if (!this.publicKey) {
66
- throw new Error('Public key is not provided to verify jwt');
67
- }
68
- return jwt.verify(jwtToken, this.publicKey, this.tokenVerifyOptions);
69
- }
70
- verifyWithOptions(jwtToken, publicKey, options) {
71
- return jwt.verify(jwtToken, publicKey, options);
72
- }
73
- decode(token) {
74
- return (0, jsonwebtoken_1.decode)(token);
75
- }
76
- decodeWithOptions(token, options) {
77
- return (0, jsonwebtoken_1.decode)(token, options);
78
- }
79
- }
80
- exports.JwtService = JwtService;
81
- //# sourceMappingURL=jwt.js.map
1
+ import jwt from "jsonwebtoken";
2
+ //#region src/services/jwt.ts
3
+ const { decode } = jwt;
4
+ var JwtService = class {
5
+ privateKey;
6
+ publicKey;
7
+ tokenSignOptions;
8
+ tokenVerifyOptions;
9
+ constructor(jwtServiceConfig) {
10
+ const { privateKey, publicKey, tokenSignOptions, tokenVerifyOptions } = jwtServiceConfig;
11
+ this.privateKey = privateKey;
12
+ this.publicKey = publicKey;
13
+ this.tokenSignOptions = tokenSignOptions;
14
+ this.tokenVerifyOptions = tokenVerifyOptions;
15
+ }
16
+ sign(data, expiresIn) {
17
+ return this.signPayload({ data }, expiresIn);
18
+ }
19
+ signPayload(payload, expiresIn) {
20
+ if (!this.privateKey) throw new Error("Private key not provided to sign data");
21
+ const signOptions = { ...this.tokenSignOptions };
22
+ if (expiresIn) signOptions.expiresIn = expiresIn;
23
+ return jwt.sign(payload, this.privateKey, signOptions);
24
+ }
25
+ verify(jwtToken) {
26
+ if (!this.publicKey) throw new Error("Public key is not provided to verify jwt");
27
+ return jwt.verify(jwtToken, this.publicKey, this.tokenVerifyOptions);
28
+ }
29
+ verifyWithOptions(jwtToken, publicKey, options) {
30
+ return jwt.verify(jwtToken, publicKey, options);
31
+ }
32
+ decode(token) {
33
+ return decode(token);
34
+ }
35
+ decodeWithOptions(token, options) {
36
+ return decode(token, options);
37
+ }
38
+ };
39
+ //#endregion
40
+ export { JwtService };
package/package.json CHANGED
@@ -1,9 +1,17 @@
1
1
  {
2
2
  "name": "@diia-inhouse/crypto",
3
- "version": "1.20.20",
3
+ "version": "2.0.6",
4
+ "type": "module",
4
5
  "description": "Tools for encryption and auth",
5
6
  "main": "dist/index.js",
6
- "types": "dist/types/index.d.ts",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
7
15
  "repository": "https://github.com/diia-open-source/be-pkg-crypto",
8
16
  "author": "Diia",
9
17
  "license": "SEE LICENSE IN LICENSE.md",
@@ -11,14 +19,14 @@
11
19
  "dist"
12
20
  ],
13
21
  "engines": {
14
- "node": ">=22"
22
+ "node": ">=24"
15
23
  },
16
24
  "scripts": {
17
25
  "prebuild": "rimraf dist",
18
- "build": "tsc",
26
+ "build": "tsdown",
19
27
  "semantic-release": "semantic-release",
20
- "lint": "eslint . && prettier --check .",
21
- "lint-fix": "eslint --fix . && prettier --write .",
28
+ "lint": "oxlint && oxfmt --check .",
29
+ "lint-fix": "oxlint --fix && oxfmt .",
22
30
  "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts registry.npmjs.org --validate-https",
23
31
  "prepare": "npm run build",
24
32
  "test": "tsc --project tests/tsconfig.json --noEmit && vitest run",
@@ -36,24 +44,28 @@
36
44
  "@diia-inhouse/utils": ">=2.1.0"
37
45
  },
38
46
  "devDependencies": {
39
- "@diia-inhouse/configs": "6.1.1",
40
- "@diia-inhouse/diia-logger": "3.20.14",
41
- "@diia-inhouse/errors": "1.18.24",
42
- "@diia-inhouse/eslint-config": "8.8.2",
43
- "@diia-inhouse/test": "7.3.24",
44
- "@diia-inhouse/types": "12.0.5",
45
- "@diia-inhouse/utils": "5.3.30",
46
- "@diia-inhouse/validators": "1.28.36",
47
- "@types/node": "25.3.3",
47
+ "@diia-inhouse/configs": "7.0.0",
48
+ "@diia-inhouse/diia-logger": "4.2.3",
49
+ "@diia-inhouse/errors": "2.1.1",
50
+ "@diia-inhouse/oxc-config": "1.10.0",
51
+ "@diia-inhouse/test": "8.2.1",
52
+ "@diia-inhouse/types": "13.2.0",
53
+ "@diia-inhouse/utils": "6.0.11",
54
+ "@diia-inhouse/validators": "2.2.2",
55
+ "@types/node": "25.6.2",
48
56
  "@types/node-jose": "1.1.13",
49
- "@vitest/coverage-v8": "4.0.18",
50
- "@vitest/ui": "4.0.18",
51
- "glob": "11.1.0",
52
- "lockfile-lint": "4.14.1",
57
+ "@vitest/coverage-v8": "4.1.5",
58
+ "@vitest/ui": "4.1.5",
59
+ "glob": "13.0.6",
60
+ "lockfile-lint": "5.0.0",
53
61
  "madge": "8.0.0",
62
+ "oxfmt": "0.48.0",
63
+ "oxlint": "1.63.0",
64
+ "oxlint-tsgolint": "0.22.1",
54
65
  "rimraf": "6.1.3",
55
- "vitest": "4.0.18",
56
- "vitest-mock-extended": "3.1.0"
66
+ "tsdown": "0.22.0",
67
+ "vitest": "4.1.5",
68
+ "vitest-mock-extended": "4.0.0"
57
69
  },
58
70
  "release": {
59
71
  "extends": "@diia-inhouse/configs/dist/semantic-release/package",
@@ -64,7 +76,6 @@
64
76
  "commitlint": {
65
77
  "extends": "@diia-inhouse/configs/dist/commitlint"
66
78
  },
67
- "prettier": "@diia-inhouse/eslint-config/prettier",
68
79
  "madge": {
69
80
  "tsConfig": "./tsconfig.json"
70
81
  }
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAE5B,6CAA0B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/interfaces/auth.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=crypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/interfaces/crypto.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=deps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/interfaces/deps.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=identifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../src/interfaces/identifier.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./deps"), exports);
18
- __exportStar(require("./auth"), exports);
19
- __exportStar(require("./crypto"), exports);
20
- __exportStar(require("./jwt"), exports);
21
- __exportStar(require("./identifier"), exports);
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AAEtB,yCAAsB;AAEtB,2CAAwB;AAExB,wCAAqB;AAErB,+CAA4B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=jwt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/interfaces/jwt.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/services/crypto.ts"],"names":[],"mappings":";;;AAIA,MAAa,aAAa;IAED;IACA;IAFrB,YACqB,IAAiB,EACjB,IAAiB;QADjB,SAAI,GAAJ,IAAI,CAAa;QACjB,SAAI,GAAJ,IAAI,CAAa;IACnC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,aAA6C;QAC3D,MAAM,QAAQ,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrG,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAE/D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;IACtC,CAAC;IAED,gBAAgB,CAAC,aAAoC;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,WAAW,CAAI,aAAqB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAiB,CAAA;IAC9D,CAAC;CACJ;AApBD,sCAoBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/services/hash.ts"],"names":[],"mappings":";;;AAAA,6CAA0E;AAE1E,MAAa,WAAW;IACpB,IAAI,CAAC,IAAY,EAAE,MAAc,EAAE,SAAS,GAAG,QAAQ,EAAE,WAAiC,KAAK;QAC3F,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,SAAS,GAAG,QAAQ,EAAE,WAAiC,KAAK;QAC3E,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,SAAS,CAAC,CAAA;QAElC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;CACJ;AAhBD,kCAgBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../src/services/identifier.ts"],"names":[],"mappings":";;;AAAA,6CAAwC;AAExC,+CAAmE;AAInE,MAAa,iBAAiB;IACT,IAAI,CAAQ;IAE7B,YAAY,gBAAkC;QAC1C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAA;IACrC,CAAC;IAED,gBAAgB,CAAC,GAAW,EAAE,MAAqB,EAAE;QACjD,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,CAAA;QACvC,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;QAE1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE/B,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAA;IAC7B,CAAC;IAED,4BAA4B,CAAC,cAAsB;QAC/C,IAAI,cAAc,CAAC,UAAU,CAAC,wBAAgB,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjE,OAAO,mBAAW,CAAC,kBAAkB,CAAA;QACzC,CAAC;QAED,IAAI,cAAc,CAAC,UAAU,CAAC,wBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,OAAO,mBAAW,CAAC,SAAS,CAAA;QAChC,CAAC;QAED,OAAO,mBAAW,CAAC,IAAI,CAAA;IAC3B,CAAC;CACJ;AA7BD,8CA6BC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AAEtB,2CAAwB;AAExB,wCAAqB;AAErB,wCAAqB;AAErB,+CAA4B;AAE5B,yCAAsB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwe.js","sourceRoot":"","sources":["../../src/services/jwe.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAMpC,MAAa,UAAU;IAIP;IACA;IAJJ,GAAG,CAAU;IAErB,YACY,aAAqB,EACrB,MAAc;QADd,kBAAa,GAAb,aAAa,CAAQ;QACrB,WAAM,GAAN,MAAM,CAAQ;IACvB,CAAC;IAEJ,KAAK,CAAC,MAAM;QACR,IAAI,CAAC,GAAG,GAAG,MAAM,eAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAkB;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAA;QACvE,MAAM,GAAG,GAAG,MAAM,eAAG,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;QAEvH,OAAO,GAAG,CAAA;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAgB,IAAsB;QAClD,MAAM,GAAG,GAAG,MAAM,eAAG,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;QAE/E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAA;QAEnE,OAAO,gBAAgB,CAAA;IAC3B,CAAC;IAED,8DAA8D;IACtD,aAAa,CAAC,IAAS,EAAE,UAAmC;QAChE,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;YAC5E,CAAC;YACD,KAAK,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAA;YACf,CAAC;YACD,KAAK,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;gBAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;gBACrD,CAAC;gBAED,OAAO,IAAI,CAAA;YACf,CAAC;YACD,KAAK,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;gBACtB,OAAM;YACV,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAEO,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;CACJ;AA7DD,gCA6DC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/services/jwt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kDAAmC;AACnC,+CAAoF;AAIpF,MAAa,UAAU;IACF,UAAU,CAAoB;IAE9B,SAAS,CAAoB;IAE7B,gBAAgB,CAA8B;IAE9C,kBAAkB,CAAoB;IAEvD,YAAY,gBAAkC;QAC1C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,CAAA;QAExF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAChD,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,SAAkB;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,WAAW,CAAC,OAAiC,EAAE,SAAkB;QAC7D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC5D,CAAC;QAED,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAChD,IAAI,SAAS,EAAE,CAAC;YACZ,WAAW,CAAC,SAAS,GAAG,SAAS,CAAA;QACrC,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,WAA8B,CAAC,CAAA;IAC7E,CAAC;IAED,MAAM,CAAC,QAAgB;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAa,CAAA;IACpF,CAAC;IAID,iBAAiB,CAAC,QAAgB,EAAE,SAAoB,EAAE,OAAuB;QAC7E,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,OAAO,IAAA,qBAAM,EAAC,KAAK,CAAa,CAAA;IACpC,CAAC;IAID,iBAAiB,CAAC,KAAa,EAAE,OAAuB;QACpD,OAAO,IAAA,qBAAM,EAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;CACJ;AA1DD,gCA0DC"}
@@ -1,2 +0,0 @@
1
- export * from './interfaces';
2
- export * from './services';
@@ -1,5 +0,0 @@
1
- import { JwtServiceParams } from './jwt';
2
- export interface AuthConfig {
3
- jwk?: string;
4
- jwt?: JwtServiceParams;
5
- }
@@ -1,7 +0,0 @@
1
- export type DocumentDecryptedData = Record<string, unknown> & {
2
- id: string;
3
- };
4
- export interface DocumentEncryptedDataResult {
5
- hashData?: string;
6
- encryptedData: string;
7
- }
@@ -1,7 +0,0 @@
1
- import { AuthService, CryptoService, HashService, IdentifierService } from '../services';
2
- export type CryptoDeps = {
3
- auth?: AuthService;
4
- crypto?: CryptoService;
5
- hash?: HashService;
6
- identifier?: IdentifierService;
7
- };
@@ -1,7 +0,0 @@
1
- export interface IdentifierConfig {
2
- salt: string;
3
- }
4
- export interface IdentifierOps {
5
- customSalt?: string;
6
- prefix?: string;
7
- }
@@ -1,5 +0,0 @@
1
- export * from './deps';
2
- export * from './auth';
3
- export * from './crypto';
4
- export * from './jwt';
5
- export * from './identifier';
@@ -1,21 +0,0 @@
1
- export type { Jwt, JwtPayload, JwtHeader } from 'jsonwebtoken';
2
- export interface JwtServiceParams {
3
- tokenVerifyOptions: TokenVerifyOptions;
4
- tokenSignOptions?: TokenSignOptions;
5
- privateKey?: string;
6
- publicKey?: string;
7
- }
8
- export interface TokenSignOptions {
9
- algorithm: string;
10
- expiresIn: string;
11
- }
12
- export type Algorithm = 'HS256' | 'HS384' | 'HS512' | 'RS256' | 'RS384' | 'RS512' | 'ES256' | 'ES384' | 'ES512' | 'PS256' | 'PS384' | 'PS512' | 'none';
13
- export interface TokenVerifyOptions {
14
- algorithms: Algorithm[];
15
- ignoreExpiration: boolean;
16
- }
17
- export interface JwtToken {
18
- data: string;
19
- exp?: number;
20
- iat?: number;
21
- }
@@ -1,37 +0,0 @@
1
- import { KeyObject } from 'node:crypto';
2
- import { Jwt, VerifyOptions } from 'jsonwebtoken';
3
- import { AcquirerTokenData, EResidentApplicantTokenData, EResidentTokenData, Logger, OnInit, PartnerTokenData, PortalUserTokenData, ServiceEntranceTokenData, ServiceUserTokenData, SessionType, TemporaryTokenData, TokenData, UserTokenData, VerifiedBaseTokenData } from '@diia-inhouse/types';
4
- import { AuthConfig } from '../interfaces/auth';
5
- export declare class AuthService implements OnInit {
6
- private readonly authConfig;
7
- private readonly logger;
8
- private jwe;
9
- private jwt;
10
- constructor(authConfig: AuthConfig, logger: Logger);
11
- onInit(): Promise<void>;
12
- newInstance(authConfig: AuthConfig, logger: Logger): AuthService;
13
- /** Decodes JWT token and decrypts JWE payload */
14
- decodeToken<T = TokenData>(token: string, shouldDecrypt?: boolean): Promise<T | null>;
15
- /** Only decodes JWT token returning complete token data (header, payload, signature) */
16
- decodeTokenComplete(token: string): Jwt | null;
17
- verifyToken<T>(token: string, publicKey: KeyObject, options?: VerifyOptions & {
18
- complete?: false;
19
- }): T;
20
- getJweInJwt(data: unknown, expiresIn?: string): Promise<string>;
21
- getJWT(enc: string, expiresIn?: string): Promise<string>;
22
- getJWTPayload(payload: string | Buffer | object, expiresIn?: string): Promise<string>;
23
- encryptJWE(data: unknown): Promise<string>;
24
- decryptJWE<T = TokenData>(data: string): Promise<T>;
25
- validate(authToken: string | null, tokenSessionType: SessionType.Acquirer, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<AcquirerTokenData>>;
26
- validate(authToken: string | null, tokenSessionType: SessionType.ServiceUser, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<ServiceUserTokenData>>;
27
- validate(authToken: string | null, tokenSessionType: SessionType.ServiceEntrance, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<ServiceEntranceTokenData>>;
28
- validate(authToken: string | null, tokenSessionType: SessionType.Temporary, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<TemporaryTokenData>>;
29
- validate(authToken: string | null, tokenSessionType: SessionType.EResident, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<EResidentTokenData>>;
30
- validate(authToken: string | null, tokenSessionType: SessionType.EResidentApplicant, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<EResidentApplicantTokenData>>;
31
- validate(authToken: string | null, tokenSessionType: SessionType.PortalUser, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<PortalUserTokenData>>;
32
- validate(authToken: string | null, tokenSessionType: SessionType.Partner, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<PartnerTokenData>>;
33
- validate(authToken: string | null, tokenSessionType: SessionType.User, mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<UserTokenData>>;
34
- validate<T extends TokenData = TokenData>(authToken: string | null, allowedSessionTypes: SessionType | SessionType[], mobileUid?: string, skipJwtVerification?: boolean): Promise<VerifiedBaseTokenData<T>>;
35
- private getJwtService;
36
- private getJweService;
37
- }
@@ -1,11 +0,0 @@
1
- import { DocumentDecryptedData, DocumentEncryptedDataResult } from '../interfaces/crypto';
2
- import { AuthService } from './auth';
3
- import { HashService } from './hash';
4
- export declare class CryptoService {
5
- private readonly auth;
6
- private readonly hash;
7
- constructor(auth: AuthService, hash: HashService);
8
- encryptData(dataToEncrypt: DocumentDecryptedData | string): Promise<DocumentEncryptedDataResult>;
9
- generateHashData(dataToEncrypt: DocumentDecryptedData): string;
10
- decryptData<T>(encryptedData: string): Promise<T>;
11
- }
@@ -1,5 +0,0 @@
1
- import { BinaryToTextEncoding } from 'node:crypto';
2
- export declare class HashService {
3
- hmac(data: string, secret: string, algorithm?: string, encodeTo?: BinaryToTextEncoding): string;
4
- hash(data: string, algorithm?: string, encodeTo?: BinaryToTextEncoding): string;
5
- }
@@ -1,8 +0,0 @@
1
- import { SessionType } from '@diia-inhouse/types';
2
- import { IdentifierConfig, IdentifierOps } from '../interfaces/identifier';
3
- export declare class IdentifierService {
4
- private readonly salt;
5
- constructor(identifierConfig: IdentifierConfig);
6
- createIdentifier(itn: string, ops?: IdentifierOps): string;
7
- getSessionTypeFromIdentifier(userIdentifier: string): SessionType;
8
- }
@@ -1,6 +0,0 @@
1
- export * from './auth';
2
- export * from './crypto';
3
- export * from './jwe';
4
- export * from './jwt';
5
- export * from './identifier';
6
- export * from './hash';
@@ -1,13 +0,0 @@
1
- import { Logger, OnInit, TokenData } from '@diia-inhouse/types';
2
- import { JwtToken } from '../interfaces/jwt';
3
- export declare class JweService implements OnInit {
4
- private jwkSecretData;
5
- private logger;
6
- private key?;
7
- constructor(jwkSecretData: string, logger: Logger);
8
- onInit(): Promise<void>;
9
- encryptJWE(tokenData: unknown): Promise<string>;
10
- decryptJWE<T = TokenData>(data: JwtToken['data']): Promise<T>;
11
- private handleUriData;
12
- private getKey;
13
- }