@nivinjoseph/n-sec 4.0.4 → 5.0.1

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 (44) hide show
  1. package/dist/api-security/alg-type.js +1 -0
  2. package/dist/api-security/alg-type.js.map +1 -1
  3. package/dist/api-security/claim.d.ts +0 -1
  4. package/dist/api-security/claim.js +2 -2
  5. package/dist/api-security/claim.js.map +1 -1
  6. package/dist/api-security/claims-identity.js +1 -0
  7. package/dist/api-security/claims-identity.js.map +1 -1
  8. package/dist/api-security/expired-token-exception.d.ts +0 -1
  9. package/dist/api-security/expired-token-exception.js +2 -2
  10. package/dist/api-security/expired-token-exception.js.map +1 -1
  11. package/dist/api-security/invalid-token-exception.d.ts +0 -1
  12. package/dist/api-security/invalid-token-exception.js +3 -3
  13. package/dist/api-security/invalid-token-exception.js.map +1 -1
  14. package/dist/api-security/json-web-token.d.ts +2 -3
  15. package/dist/api-security/json-web-token.js +58 -70
  16. package/dist/api-security/json-web-token.js.map +1 -1
  17. package/dist/api-security/security-token.js +1 -0
  18. package/dist/api-security/security-token.js.map +1 -1
  19. package/dist/crypto/crypto-exception.js +1 -0
  20. package/dist/crypto/crypto-exception.js.map +1 -1
  21. package/dist/crypto/hash.d.ts +2 -3
  22. package/dist/crypto/hash.js +5 -5
  23. package/dist/crypto/hash.js.map +1 -1
  24. package/dist/crypto/hmac.d.ts +1 -2
  25. package/dist/crypto/hmac.js +4 -4
  26. package/dist/crypto/hmac.js.map +1 -1
  27. package/dist/crypto/symmetric-encryption.d.ts +1 -2
  28. package/dist/crypto/symmetric-encryption.js +15 -20
  29. package/dist/crypto/symmetric-encryption.js.map +1 -1
  30. package/dist/index.js +12 -11
  31. package/dist/index.js.map +1 -1
  32. package/package.json +11 -11
  33. package/src/api-security/claim.ts +1 -2
  34. package/src/api-security/expired-token-exception.ts +1 -2
  35. package/src/api-security/invalid-token-exception.ts +2 -3
  36. package/src/api-security/json-web-token.ts +26 -27
  37. package/src/crypto/hash.ts +6 -7
  38. package/src/crypto/hmac.ts +4 -5
  39. package/src/crypto/symmetric-encryption.ts +17 -25
  40. package/test/hash.test.ts +22 -23
  41. package/test/hmac.test.ts +9 -9
  42. package/test/json-web-token.test.ts +35 -33
  43. package/test/symmetric-encryption.test.ts +2 -1
  44. package/tsconfig.json +1 -0
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlgType = void 0;
3
4
  var AlgType;
4
5
  (function (AlgType) {
5
6
  AlgType[AlgType["hmac"] = 1] = "hmac";
@@ -1 +1 @@
1
- {"version":3,"file":"alg-type.js","sourceRoot":"","sources":["../../src/api-security/alg-type.ts"],"names":[],"mappings":";;AACA,IAAY,OAIX;AAJD,WAAY,OAAO;IAEf,qCAAQ,CAAA;AAEZ,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB"}
1
+ {"version":3,"file":"alg-type.js","sourceRoot":"","sources":["../../src/api-security/alg-type.ts"],"names":[],"mappings":";;;AACA,IAAY,OAIX;AAJD,WAAY,OAAO;IAEf,qCAAQ,CAAA;AAEZ,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB"}
@@ -1,4 +1,3 @@
1
- import "@nivinjoseph/n-ext";
2
1
  export declare class Claim {
3
2
  private readonly _type;
4
3
  private readonly _value;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Claim = void 0;
3
4
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
4
- require("@nivinjoseph/n-ext");
5
5
  class Claim {
6
6
  constructor(type, value) {
7
- n_defensive_1.given(type, "type").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
7
+ n_defensive_1.given(type, "type").ensureHasValue();
8
8
  this._type = type.trim();
9
9
  this._value = value;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/api-security/claim.ts"],"names":[],"mappings":";;AAAA,0DAAiD;AACjD,8BAA4B;AAI5B,MAAa,KAAK;IAUd,YAAmB,IAAY,EAAE,KAAU;QAEvC,mBAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE3E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAVD,IAAW,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,IAAW,KAAK,KAAU,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAYxC,MAAM,CAAC,KAAY;QAEtB,IAAI,KAAK,IAAI,IAAI;YACb,OAAO,KAAK,CAAC;QAEjB,IAAI,KAAK,KAAK,IAAI;YACd,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IAClE,CAAC;CACJ;AA7BD,sBA6BC"}
1
+ {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../src/api-security/claim.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AAIjD,MAAa,KAAK;IAUd,YAAmB,IAAY,EAAE,KAAU;QAEvC,mBAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;QAErC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAVD,IAAW,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,IAAW,KAAK,KAAU,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAYxC,MAAM,CAAC,KAAY;QAEtB,IAAI,KAAK,IAAI,IAAI;YACb,OAAO,KAAK,CAAC;QAEjB,IAAI,KAAK,KAAK,IAAI;YACd,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IAClE,CAAC;CACJ;AA7BD,sBA6BC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClaimsIdentity = void 0;
3
4
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
4
5
  class ClaimsIdentity {
5
6
  constructor(claims) {
@@ -1 +1 @@
1
- {"version":3,"file":"claims-identity.js","sourceRoot":"","sources":["../../src/api-security/claims-identity.ts"],"names":[],"mappings":";;AACA,0DAAiD;AAIjD,MAAa,cAAc;IAQvB,YAAmB,MAA4B;QAE3C,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;QAEzC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/B,CAAC;IARD,IAAW,MAAM,KAA2B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAW3D,QAAQ,CAAC,KAAY;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;CACJ;AApBD,wCAoBC"}
1
+ {"version":3,"file":"claims-identity.js","sourceRoot":"","sources":["../../src/api-security/claims-identity.ts"],"names":[],"mappings":";;;AACA,0DAAiD;AAIjD,MAAa,cAAc;IAQvB,YAAmB,MAA4B;QAE3C,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;QAEzC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/B,CAAC;IARD,IAAW,MAAM,KAA2B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAW3D,QAAQ,CAAC,KAAY;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;CACJ;AApBD,wCAoBC"}
@@ -1,5 +1,4 @@
1
1
  import { Exception } from "@nivinjoseph/n-exception";
2
- import "@nivinjoseph/n-ext";
3
2
  export declare class ExpiredTokenException extends Exception {
4
3
  private readonly _token;
5
4
  get token(): string;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpiredTokenException = void 0;
3
4
  const n_exception_1 = require("@nivinjoseph/n-exception");
4
5
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
5
- require("@nivinjoseph/n-ext");
6
6
  class ExpiredTokenException extends n_exception_1.Exception {
7
7
  constructor(token) {
8
- n_defensive_1.given(token, "token").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
8
+ n_defensive_1.given(token, "token").ensureHasValue();
9
9
  token = token.trim();
10
10
  super(`Token '${token}' is expired.`);
11
11
  this._token = token;
@@ -1 +1 @@
1
- {"version":3,"file":"expired-token-exception.js","sourceRoot":"","sources":["../../src/api-security/expired-token-exception.ts"],"names":[],"mappings":";;AAAA,0DAAqD;AACrD,0DAAiD;AACjD,8BAA4B;AAI5B,MAAa,qBAAsB,SAAQ,uBAAS;IAQhD,YAAmB,KAAa;QAE5B,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7E,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IATD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CAUrD;AAfD,sDAeC"}
1
+ {"version":3,"file":"expired-token-exception.js","sourceRoot":"","sources":["../../src/api-security/expired-token-exception.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AACrD,0DAAiD;AAIjD,MAAa,qBAAsB,SAAQ,uBAAS;IAQhD,YAAmB,KAAa;QAE5B,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;QACvC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IATD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CAUrD;AAfD,sDAeC"}
@@ -1,5 +1,4 @@
1
1
  import { Exception } from "@nivinjoseph/n-exception";
2
- import "@nivinjoseph/n-ext";
3
2
  export declare class InvalidTokenException extends Exception {
4
3
  private readonly _token;
5
4
  private readonly _reason;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidTokenException = void 0;
3
4
  const n_exception_1 = require("@nivinjoseph/n-exception");
4
5
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
5
- require("@nivinjoseph/n-ext");
6
6
  class InvalidTokenException extends n_exception_1.Exception {
7
7
  constructor(token, reason) {
8
- n_defensive_1.given(token, "token").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
9
- n_defensive_1.given(reason, "reason").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
8
+ n_defensive_1.given(token, "token").ensureHasValue();
9
+ n_defensive_1.given(reason, "reason").ensureHasValue();
10
10
  token = token.trim();
11
11
  super(`Token '${token}' is invalid because ${reason}.`);
12
12
  this._token = token;
@@ -1 +1 @@
1
- {"version":3,"file":"invalid-token-exception.js","sourceRoot":"","sources":["../../src/api-security/invalid-token-exception.ts"],"names":[],"mappings":";;AAAA,0DAAqD;AACrD,0DAAiD;AACjD,8BAA4B;AAI5B,MAAa,qBAAsB,SAAQ,uBAAS;IAUhD,YAAmB,KAAa,EAAE,MAAc;QAE5C,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7E,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE/E,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,KAAK,wBAAwB,MAAM,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAbD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;CAavD;AApBD,sDAoBC"}
1
+ {"version":3,"file":"invalid-token-exception.js","sourceRoot":"","sources":["../../src/api-security/invalid-token-exception.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AACrD,0DAAiD;AAIjD,MAAa,qBAAsB,SAAQ,uBAAS;IAUhD,YAAmB,KAAa,EAAE,MAAc;QAE5C,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;QACvC,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;QAEzC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,KAAK,wBAAwB,MAAM,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAbD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;CAavD;AApBD,sDAoBC"}
@@ -1,5 +1,4 @@
1
1
  import { Claim } from "./claim";
2
- import "@nivinjoseph/n-ext";
3
2
  import { AlgType } from "./alg-type";
4
3
  export declare class JsonWebToken {
5
4
  private readonly _issuer;
@@ -16,9 +15,9 @@ export declare class JsonWebToken {
16
15
  get isExpired(): boolean;
17
16
  get claims(): ReadonlyArray<Claim>;
18
17
  private constructor();
19
- generateToken(): Promise<string>;
18
+ generateToken(): string;
20
19
  static fromClaims(issuer: string, algType: AlgType, key: string, expiry: number, claims: Array<Claim>): JsonWebToken;
21
- static fromToken(issuer: string, algType: AlgType, key: string, token: string): Promise<JsonWebToken>;
20
+ static fromToken(issuer: string, algType: AlgType, key: string, token: string): JsonWebToken;
22
21
  private toHex;
23
22
  private static toObject;
24
23
  }
@@ -1,26 +1,18 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonWebToken = void 0;
12
4
  const claim_1 = require("./claim");
13
5
  const n_exception_1 = require("@nivinjoseph/n-exception");
14
6
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
15
- require("@nivinjoseph/n-ext");
16
7
  const invalid_token_exception_1 = require("./invalid-token-exception");
8
+ const alg_type_1 = require("./alg-type");
17
9
  const hmac_1 = require("./../crypto/hmac");
18
10
  const expired_token_exception_1 = require("./expired-token-exception");
19
11
  class JsonWebToken {
20
12
  constructor(issuer, algType, key, isFullKey, expiry, claims) {
21
- n_defensive_1.given(issuer, "issuer").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
22
- n_defensive_1.given(algType, "algType").ensureHasValue().ensure(t => t === 1 || t === 2);
23
- n_defensive_1.given(key, "key").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
13
+ n_defensive_1.given(issuer, "issuer").ensureHasValue();
14
+ n_defensive_1.given(algType, "algType").ensureHasValue().ensureIsEnum(alg_type_1.AlgType);
15
+ n_defensive_1.given(key, "key").ensureHasValue();
24
16
  n_defensive_1.given(isFullKey, "isFullKey").ensureHasValue();
25
17
  n_defensive_1.given(expiry, "expiry").ensureHasValue();
26
18
  n_defensive_1.given(claims, "claims")
@@ -41,73 +33,69 @@ class JsonWebToken {
41
33
  get isExpired() { return this._expiry <= Date.now(); }
42
34
  get claims() { return this._claims; }
43
35
  generateToken() {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- if (!this._isfullKey)
46
- throw new n_exception_1.InvalidOperationException("generating token using an instance created from token");
47
- let header = {
48
- iss: this._issuer,
49
- alg: this._algType,
50
- exp: this._expiry
51
- };
52
- let body = {};
53
- this._claims.forEach(t => body[t.type] = t.value);
54
- let headerAndBody = this.toHex(header) + "." + this.toHex(body);
55
- let signature = yield hmac_1.Hmac.create(this._key, headerAndBody);
56
- let token = headerAndBody + "." + signature;
57
- return token;
58
- });
36
+ if (!this._isfullKey)
37
+ throw new n_exception_1.InvalidOperationException("generating token using an instance created from token");
38
+ const header = {
39
+ iss: this._issuer,
40
+ alg: this._algType,
41
+ exp: this._expiry
42
+ };
43
+ const body = {};
44
+ this._claims.forEach(t => body[t.type] = t.value);
45
+ const headerAndBody = this.toHex(header) + "." + this.toHex(body);
46
+ const signature = hmac_1.Hmac.create(this._key, headerAndBody);
47
+ const token = headerAndBody + "." + signature;
48
+ return token;
59
49
  }
60
50
  static fromClaims(issuer, algType, key, expiry, claims) {
61
51
  return new JsonWebToken(issuer, algType, key, true, expiry, claims);
62
52
  }
63
53
  static fromToken(issuer, algType, key, token) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- n_defensive_1.given(issuer, "issuer").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
66
- n_defensive_1.given(algType, "algType").ensureHasValue().ensure(t => t === 1 || t === 2);
67
- n_defensive_1.given(key, "key").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
68
- n_defensive_1.given(token, "token").ensureHasValue().ensure(t => !t.isEmptyOrWhiteSpace());
69
- issuer = issuer.trim();
70
- key = key.trim();
71
- token = token.trim();
72
- let tokenSplitted = token.split(".");
73
- if (tokenSplitted.length !== 3)
74
- throw new invalid_token_exception_1.InvalidTokenException(token, "format is incorrect");
75
- let headerString = tokenSplitted[0];
76
- let bodyString = tokenSplitted[1];
77
- let signature = tokenSplitted[2];
78
- let header = JsonWebToken.toObject(headerString);
79
- let body = JsonWebToken.toObject(bodyString);
80
- if (header.iss === undefined || header.iss === null)
81
- throw new invalid_token_exception_1.InvalidTokenException(token, "iss was not present");
82
- if (header.iss !== issuer)
83
- throw new invalid_token_exception_1.InvalidTokenException(token, `iss was expected to be '${issuer}' but instead was '${header.iss}'`);
84
- if (header.alg === undefined || header.alg === null)
85
- throw new invalid_token_exception_1.InvalidTokenException(token, "alg was not present");
86
- if (header.alg !== algType)
87
- throw new invalid_token_exception_1.InvalidTokenException(token, `alg was expected to be '${algType}' but instead was '${header.alg}'`);
88
- if (header.exp === undefined || header.exp === null)
89
- throw new invalid_token_exception_1.InvalidTokenException(token, "exp was not present");
90
- if (typeof (header.exp) !== "number")
91
- throw new invalid_token_exception_1.InvalidTokenException(token, `exp value '${header.exp}' is invalid`);
92
- if (header.exp <= Date.now())
93
- throw new expired_token_exception_1.ExpiredTokenException(token);
94
- let computedSignature = yield hmac_1.Hmac.create(key, headerString + "." + bodyString);
95
- if (computedSignature !== signature)
96
- throw new invalid_token_exception_1.InvalidTokenException(token, "signature could not be verified");
97
- let claims = new Array();
98
- for (let item in body)
99
- claims.push(new claim_1.Claim(item, body[item]));
100
- return new JsonWebToken(issuer, algType, key, false, header.exp, claims);
101
- });
54
+ n_defensive_1.given(issuer, "issuer").ensureHasValue();
55
+ n_defensive_1.given(algType, "algType").ensureHasValue().ensureIsEnum(alg_type_1.AlgType);
56
+ n_defensive_1.given(key, "key").ensureHasValue();
57
+ n_defensive_1.given(token, "token").ensureHasValue();
58
+ issuer = issuer.trim();
59
+ key = key.trim();
60
+ token = token.trim();
61
+ const tokenSplitted = token.split(".");
62
+ if (tokenSplitted.length !== 3)
63
+ throw new invalid_token_exception_1.InvalidTokenException(token, "format is incorrect");
64
+ const headerString = tokenSplitted[0];
65
+ const bodyString = tokenSplitted[1];
66
+ const signature = tokenSplitted[2];
67
+ const header = JsonWebToken.toObject(headerString);
68
+ const body = JsonWebToken.toObject(bodyString);
69
+ if (header.iss === undefined || header.iss === null)
70
+ throw new invalid_token_exception_1.InvalidTokenException(token, "iss was not present");
71
+ if (header.iss !== issuer)
72
+ throw new invalid_token_exception_1.InvalidTokenException(token, `iss was expected to be '${issuer}' but instead was '${header.iss}'`);
73
+ if (header.alg === undefined || header.alg === null)
74
+ throw new invalid_token_exception_1.InvalidTokenException(token, "alg was not present");
75
+ if (header.alg !== algType)
76
+ throw new invalid_token_exception_1.InvalidTokenException(token, `alg was expected to be '${algType}' but instead was '${header.alg}'`);
77
+ if (header.exp === undefined || header.exp === null)
78
+ throw new invalid_token_exception_1.InvalidTokenException(token, "exp was not present");
79
+ if (typeof (header.exp) !== "number")
80
+ throw new invalid_token_exception_1.InvalidTokenException(token, `exp value '${header.exp}' is invalid`);
81
+ if (header.exp <= Date.now())
82
+ throw new expired_token_exception_1.ExpiredTokenException(token);
83
+ const computedSignature = hmac_1.Hmac.create(key, headerString + "." + bodyString);
84
+ if (computedSignature !== signature)
85
+ throw new invalid_token_exception_1.InvalidTokenException(token, "signature could not be verified");
86
+ const claims = new Array();
87
+ for (let item in body)
88
+ claims.push(new claim_1.Claim(item, body[item]));
89
+ return new JsonWebToken(issuer, algType, key, false, header.exp, claims);
102
90
  }
103
91
  toHex(obj) {
104
- let json = JSON.stringify(obj);
105
- let hex = Buffer.from(json, "utf8").toString("hex");
92
+ const json = JSON.stringify(obj);
93
+ const hex = Buffer.from(json, "utf8").toString("hex");
106
94
  return hex.toUpperCase();
107
95
  }
108
96
  static toObject(hex) {
109
- let json = Buffer.from(hex.toLowerCase(), "hex").toString("utf8");
110
- let obj = JSON.parse(json);
97
+ const json = Buffer.from(hex.toLowerCase(), "hex").toString("utf8");
98
+ const obj = JSON.parse(json);
111
99
  return obj;
112
100
  }
113
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-web-token.js","sourceRoot":"","sources":["../../src/api-security/json-web-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-web-token.js","sourceRoot":"","sources":["../../src/api-security/json-web-token.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SecurityToken = void 0;
3
4
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
4
5
  class SecurityToken {
5
6
  constructor(scheme, token) {
@@ -1 +1 @@
1
- {"version":3,"file":"security-token.js","sourceRoot":"","sources":["../../src/api-security/security-token.ts"],"names":[],"mappings":";;AAAA,0DAAiD;AAEjD,MAAa,aAAa;IAUtB,YAAmB,MAAc,EAAE,KAAa;QAE5C,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAbD,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAe3C,QAAQ;QAEX,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;CACJ;AA1BD,sCA0BC"}
1
+ {"version":3,"file":"security-token.js","sourceRoot":"","sources":["../../src/api-security/security-token.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AAEjD,MAAa,aAAa;IAUtB,YAAmB,MAAc,EAAE,KAAa;QAE5C,mBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAbD,IAAW,MAAM,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAe3C,QAAQ;QAEX,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;CACJ;AA1BD,sCA0BC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CryptoException = void 0;
3
4
  const n_exception_1 = require("@nivinjoseph/n-exception");
4
5
  class CryptoException extends n_exception_1.Exception {
5
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"crypto-exception.js","sourceRoot":"","sources":["../../src/crypto/crypto-exception.ts"],"names":[],"mappings":";;AAAA,0DAAqD;AAIrD,MAAa,eAAgB,SAAQ,uBAAS;CAC3C;AADH,0CACG"}
1
+ {"version":3,"file":"crypto-exception.js","sourceRoot":"","sources":["../../src/crypto/crypto-exception.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AAIrD,MAAa,eAAgB,SAAQ,uBAAS;CAC3C;AADH,0CACG"}
@@ -1,6 +1,5 @@
1
- import "@nivinjoseph/n-ext";
2
1
  export declare class Hash {
3
2
  private constructor();
4
- static create(value: string): Promise<string>;
5
- static createUsingSalt(value: string, salt: string): Promise<string>;
3
+ static create(value: string): string;
4
+ static createUsingSalt(value: string, salt: string): string;
6
5
  }
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hash = void 0;
3
4
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
4
- require("@nivinjoseph/n-ext");
5
5
  const Crypto = require("crypto");
6
6
  class Hash {
7
7
  constructor() { }
8
8
  static create(value) {
9
- n_defensive_1.given(value, "value").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
9
+ n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
10
10
  value = value.trim();
11
11
  const hash = Crypto.createHash("sha512");
12
12
  hash.update(value, "utf8");
13
- return Promise.resolve(hash.digest("hex").toUpperCase());
13
+ return hash.digest("hex").toUpperCase();
14
14
  }
15
15
  static createUsingSalt(value, salt) {
16
- n_defensive_1.given(value, "value").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
17
- n_defensive_1.given(salt, "salt").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
16
+ n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
17
+ n_defensive_1.given(salt, "salt").ensureHasValue().ensureIsString();
18
18
  value = value.trim();
19
19
  salt = salt.trim();
20
20
  const reverse = (val) => {
@@ -1 +1 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/crypto/hash.ts"],"names":[],"mappings":";;AAAA,0DAAiD;AACjD,8BAA4B;AAC5B,iCAAiC;AAIjC,MAAa,IAAI;IAEb,gBAAwB,CAAC;IAGlB,MAAM,CAAC,MAAM,CAAC,KAAa;QAE9B,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE9F,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAa,EAAE,IAAY;QAErD,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC9F,mBAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE5F,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE;YAE5B,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC/B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAE3F,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;CACJ;AAvCD,oBAuCC"}
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/crypto/hash.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AACjD,iCAAiC;AAIjC,MAAa,IAAI;IAEb,gBAAwB,CAAC;IAGlB,MAAM,CAAC,MAAM,CAAC,KAAa;QAE9B,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QAExD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAa,EAAE,IAAY;QAErD,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACxD,mBAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QAEtD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE;YAE5B,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC/B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAE3F,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;CACJ;AAvCD,oBAuCC"}
@@ -1,5 +1,4 @@
1
- import "@nivinjoseph/n-ext";
2
1
  export declare class Hmac {
3
2
  private constructor();
4
- static create(key: string, value: string): Promise<string>;
3
+ static create(key: string, value: string): string;
5
4
  }
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hmac = void 0;
3
4
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
4
- require("@nivinjoseph/n-ext");
5
5
  const Crypto = require("crypto");
6
6
  class Hmac {
7
7
  constructor() { }
8
8
  static create(key, value) {
9
- n_defensive_1.given(key, "key").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
10
- n_defensive_1.given(value, "value").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
9
+ n_defensive_1.given(key, "key").ensureHasValue().ensureIsString();
10
+ n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
11
11
  key = key.trim();
12
12
  value = value.trim();
13
13
  const hmac = Crypto.createHmac("sha256", Buffer.from(key, "hex"));
14
14
  hmac.update(value, "utf8");
15
- return Promise.resolve(hmac.digest("hex").toUpperCase());
15
+ return hmac.digest("hex").toUpperCase();
16
16
  }
17
17
  }
18
18
  exports.Hmac = Hmac;
@@ -1 +1 @@
1
- {"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/crypto/hmac.ts"],"names":[],"mappings":";;AAAA,0DAAiD;AACjD,8BAA4B;AAC5B,iCAAiC;AAIjC,MAAa,IAAI;IAEb,gBAAwB,CAAC;IAGlB,MAAM,CAAC,MAAM,CAAC,GAAW,EAAE,KAAa;QAE3C,mBAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1F,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE9F,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;CACJ;AAlBD,oBAkBC"}
1
+ {"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/crypto/hmac.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AACjD,iCAAiC;AAIjC,MAAa,IAAI;IAEb,gBAAwB,CAAC;IAGlB,MAAM,CAAC,MAAM,CAAC,GAAW,EAAE,KAAa;QAE3C,mBAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACpD,mBAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QAExD,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;CACJ;AAlBD,oBAkBC"}
@@ -1,7 +1,6 @@
1
- import "@nivinjoseph/n-ext";
2
1
  export declare class SymmetricEncryption {
3
2
  private constructor();
4
3
  static generateKey(): Promise<string>;
5
4
  static encrypt(key: string, value: string): Promise<string>;
6
- static decrypt(key: string, value: string): Promise<string>;
5
+ static decrypt(key: string, value: string): string;
7
6
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SymmetricEncryption = void 0;
3
4
  const Crypto = require("crypto");
4
5
  const crypto_exception_1 = require("./crypto-exception");
5
6
  const n_defensive_1 = require("@nivinjoseph/n-defensive");
6
- require("@nivinjoseph/n-ext");
7
7
  class SymmetricEncryption {
8
8
  constructor() { }
9
9
  static generateKey() {
@@ -18,11 +18,11 @@ class SymmetricEncryption {
18
18
  });
19
19
  }
20
20
  static encrypt(key, value) {
21
- n_defensive_1.given(key, "key").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
22
- n_defensive_1.given(value, "value").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
23
- key = key.trim();
24
- value = value.trim();
25
21
  return new Promise((resolve, reject) => {
22
+ n_defensive_1.given(key, "key").ensureHasValue().ensureIsString();
23
+ n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
24
+ key = key.trim();
25
+ value = value.trim();
26
26
  Crypto.randomBytes(16, (err, buf) => {
27
27
  if (err) {
28
28
  reject(err);
@@ -43,23 +43,18 @@ class SymmetricEncryption {
43
43
  });
44
44
  }
45
45
  static decrypt(key, value) {
46
- n_defensive_1.given(key, "key").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
47
- n_defensive_1.given(value, "value").ensureHasValue().ensureIsString().ensure(t => !t.isEmptyOrWhiteSpace());
46
+ n_defensive_1.given(key, "key").ensureHasValue().ensureIsString();
47
+ n_defensive_1.given(value, "value").ensureHasValue().ensureIsString();
48
48
  key = key.trim();
49
49
  value = value.trim();
50
- try {
51
- const splitted = value.split(".");
52
- if (splitted.length !== 2)
53
- throw new crypto_exception_1.CryptoException("Invalid value.");
54
- const iv = Buffer.from(splitted[1], "hex");
55
- const deCipher = Crypto.createDecipheriv("AES-256-CBC", Buffer.from(key, "hex"), iv);
56
- let decrypted = deCipher.update(splitted[0], "hex", "utf8");
57
- decrypted += deCipher.final("utf8");
58
- return Promise.resolve(decrypted);
59
- }
60
- catch (error) {
61
- return Promise.reject(error);
62
- }
50
+ const splitted = value.split(".");
51
+ if (splitted.length !== 2)
52
+ throw new crypto_exception_1.CryptoException("Invalid value.");
53
+ const iv = Buffer.from(splitted[1], "hex");
54
+ const deCipher = Crypto.createDecipheriv("AES-256-CBC", Buffer.from(key, "hex"), iv);
55
+ let decrypted = deCipher.update(splitted[0], "hex", "utf8");
56
+ decrypted += deCipher.final("utf8");
57
+ return decrypted;
63
58
  }
64
59
  }
65
60
  exports.SymmetricEncryption = SymmetricEncryption;
@@ -1 +1 @@
1
- {"version":3,"file":"symmetric-encryption.js","sourceRoot":"","sources":["../../src/crypto/symmetric-encryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symmetric-encryption.js","sourceRoot":"","sources":["../../src/crypto/symmetric-encryption.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,25 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SecurityToken = exports.JsonWebToken = exports.InvalidTokenException = exports.ExpiredTokenException = exports.ClaimsIdentity = exports.Claim = exports.AlgType = exports.CryptoException = exports.Hash = exports.Hmac = exports.SymmetricEncryption = void 0;
3
4
  const symmetric_encryption_1 = require("./crypto/symmetric-encryption");
4
- exports.SymmetricEncryption = symmetric_encryption_1.SymmetricEncryption;
5
+ Object.defineProperty(exports, "SymmetricEncryption", { enumerable: true, get: function () { return symmetric_encryption_1.SymmetricEncryption; } });
5
6
  const hmac_1 = require("./crypto/hmac");
6
- exports.Hmac = hmac_1.Hmac;
7
+ Object.defineProperty(exports, "Hmac", { enumerable: true, get: function () { return hmac_1.Hmac; } });
7
8
  const hash_1 = require("./crypto/hash");
8
- exports.Hash = hash_1.Hash;
9
+ Object.defineProperty(exports, "Hash", { enumerable: true, get: function () { return hash_1.Hash; } });
9
10
  const crypto_exception_1 = require("./crypto/crypto-exception");
10
- exports.CryptoException = crypto_exception_1.CryptoException;
11
+ Object.defineProperty(exports, "CryptoException", { enumerable: true, get: function () { return crypto_exception_1.CryptoException; } });
11
12
  const alg_type_1 = require("./api-security/alg-type");
12
- exports.AlgType = alg_type_1.AlgType;
13
+ Object.defineProperty(exports, "AlgType", { enumerable: true, get: function () { return alg_type_1.AlgType; } });
13
14
  const claim_1 = require("./api-security/claim");
14
- exports.Claim = claim_1.Claim;
15
+ Object.defineProperty(exports, "Claim", { enumerable: true, get: function () { return claim_1.Claim; } });
15
16
  const claims_identity_1 = require("./api-security/claims-identity");
16
- exports.ClaimsIdentity = claims_identity_1.ClaimsIdentity;
17
+ Object.defineProperty(exports, "ClaimsIdentity", { enumerable: true, get: function () { return claims_identity_1.ClaimsIdentity; } });
17
18
  const expired_token_exception_1 = require("./api-security/expired-token-exception");
18
- exports.ExpiredTokenException = expired_token_exception_1.ExpiredTokenException;
19
+ Object.defineProperty(exports, "ExpiredTokenException", { enumerable: true, get: function () { return expired_token_exception_1.ExpiredTokenException; } });
19
20
  const invalid_token_exception_1 = require("./api-security/invalid-token-exception");
20
- exports.InvalidTokenException = invalid_token_exception_1.InvalidTokenException;
21
+ Object.defineProperty(exports, "InvalidTokenException", { enumerable: true, get: function () { return invalid_token_exception_1.InvalidTokenException; } });
21
22
  const json_web_token_1 = require("./api-security/json-web-token");
22
- exports.JsonWebToken = json_web_token_1.JsonWebToken;
23
+ Object.defineProperty(exports, "JsonWebToken", { enumerable: true, get: function () { return json_web_token_1.JsonWebToken; } });
23
24
  const security_token_1 = require("./api-security/security-token");
24
- exports.SecurityToken = security_token_1.SecurityToken;
25
+ Object.defineProperty(exports, "SecurityToken", { enumerable: true, get: function () { return security_token_1.SecurityToken; } });
25
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,wEAAoE;AAkBhE,8BAlBK,0CAAmB,CAkBL;AAjBvB,wCAAqC;AAiBZ,eAjBhB,WAAI,CAiBgB;AAhB7B,wCAAqC;AAgBN,eAhBtB,WAAI,CAgBsB;AAbnC,gEAA4D;AAexD,0BAfK,kCAAe,CAeL;AAbnB,sDAAkD;AAe9C,kBAfK,kBAAO,CAeL;AAdX,gDAA6C;AAchC,gBAdJ,aAAK,CAcI;AAblB,oEAAgE;AAa5C,yBAbX,gCAAc,CAaW;AAZlC,oFAA+E;AAY3C,gCAZ3B,+CAAqB,CAY2B;AAXzD,oFAA+E;AAWpB,gCAXlD,+CAAqB,CAWkD;AAVhF,kEAA6D;AAUqB,uBAVzE,6BAAY,CAUyE;AAT9F,kEAA8D;AASkC,wBATvF,8BAAa,CASuF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAAoE;AAkBhE,oGAlBK,0CAAmB,OAkBL;AAjBvB,wCAAqC;AAiBZ,qFAjBhB,WAAI,OAiBgB;AAhB7B,wCAAqC;AAgBN,qFAhBtB,WAAI,OAgBsB;AAbnC,gEAA4D;AAexD,gGAfK,kCAAe,OAeL;AAbnB,sDAAkD;AAe9C,wFAfK,kBAAO,OAeL;AAdX,gDAA6C;AAchC,sFAdJ,aAAK,OAcI;AAblB,oEAAgE;AAa5C,+FAbX,gCAAc,OAaW;AAZlC,oFAA+E;AAY3C,sGAZ3B,+CAAqB,OAY2B;AAXzD,oFAA+E;AAWpB,sGAXlD,+CAAqB,OAWkD;AAVhF,kEAA6D;AAUqB,6FAVzE,6BAAY,OAUyE;AAT9F,kEAA8D;AASkC,8FATvF,8BAAa,OASuF"}