@node-c/domain-iam 1.0.0-beta7 → 1.0.0-beta8

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 (134) hide show
  1. package/dist/common/definitions/common.constants.d.ts +13 -9
  2. package/dist/common/definitions/common.constants.js +13 -10
  3. package/dist/common/definitions/common.constants.js.map +1 -1
  4. package/dist/services/authentication/iam.authentication.definitions.d.ts +11 -2
  5. package/dist/services/authentication/iam.authentication.definitions.js +1 -1
  6. package/dist/services/authentication/iam.authentication.service.d.ts +9 -4
  7. package/dist/services/authentication/iam.authentication.service.js +95 -4
  8. package/dist/services/authentication/iam.authentication.service.js.map +1 -1
  9. package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.d.ts +15 -0
  10. package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.js +3 -0
  11. package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.js.map +1 -0
  12. package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.d.ts +12 -0
  13. package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.js +135 -0
  14. package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.js.map +1 -0
  15. package/dist/services/authenticationConsumer/index.d.ts +2 -0
  16. package/dist/services/authenticationConsumer/index.js +19 -0
  17. package/dist/services/authenticationConsumer/index.js.map +1 -0
  18. package/dist/services/{userManager/iam.userManager.definitions.d.ts → authenticationManager/iam.authenticationManager.definitions.d.ts} +11 -15
  19. package/dist/services/authenticationManager/iam.authenticationManager.definitions.js +8 -0
  20. package/dist/services/authenticationManager/iam.authenticationManager.definitions.js.map +1 -0
  21. package/dist/services/authenticationManager/iam.authenticationManager.service.d.ts +33 -0
  22. package/dist/services/{userManager/iam.userManager.service.js → authenticationManager/iam.authenticationManager.service.js} +140 -72
  23. package/dist/services/authenticationManager/iam.authenticationManager.service.js.map +1 -0
  24. package/dist/services/authenticationManager/index.d.ts +2 -0
  25. package/dist/services/authenticationManager/index.js +19 -0
  26. package/dist/services/authenticationManager/index.js.map +1 -0
  27. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.d.ts +5 -2
  28. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.d.ts +2 -14
  29. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js +53 -95
  30. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js.map +1 -1
  31. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.d.ts +19 -0
  32. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.js +3 -0
  33. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.js.map +1 -0
  34. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.d.ts +11 -0
  35. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.js +69 -0
  36. package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.js.map +1 -0
  37. package/dist/services/authenticationOAuth2Consumer/index.d.ts +2 -0
  38. package/dist/services/authenticationOAuth2Consumer/index.js +19 -0
  39. package/dist/services/authenticationOAuth2Consumer/index.js.map +1 -0
  40. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.d.ts +14 -0
  41. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.js +3 -0
  42. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.js.map +1 -0
  43. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.d.ts +9 -0
  44. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.js +70 -0
  45. package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.js.map +1 -0
  46. package/dist/services/authenticationPassthrough/index.d.ts +2 -0
  47. package/dist/services/authenticationPassthrough/index.js +19 -0
  48. package/dist/services/authenticationPassthrough/index.js.map +1 -0
  49. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.d.ts +18 -0
  50. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.js +3 -0
  51. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.js.map +1 -0
  52. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.d.ts +10 -0
  53. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.js +68 -0
  54. package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.js.map +1 -0
  55. package/dist/services/authenticationPassthroughConsumer/index.d.ts +2 -0
  56. package/dist/services/authenticationPassthroughConsumer/index.js +19 -0
  57. package/dist/services/authenticationPassthroughConsumer/index.js.map +1 -0
  58. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.d.ts +2 -2
  59. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.d.ts +2 -6
  60. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js +4 -8
  61. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js.map +1 -1
  62. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.d.ts +8 -0
  63. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.js +3 -0
  64. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.js.map +1 -0
  65. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.d.ts +8 -0
  66. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.js +36 -0
  67. package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.js.map +1 -0
  68. package/dist/services/authenticationUserLocalConsumer/index.d.ts +2 -0
  69. package/dist/services/authenticationUserLocalConsumer/index.js +19 -0
  70. package/dist/services/authenticationUserLocalConsumer/index.js.map +1 -0
  71. package/dist/services/authorization/iam.authorization.definitions.d.ts +24 -24
  72. package/dist/services/authorization/iam.authorization.definitions.js +7 -7
  73. package/dist/services/authorization/iam.authorization.definitions.js.map +1 -1
  74. package/dist/services/authorization/iam.authorization.service.d.ts +8 -11
  75. package/dist/services/authorization/iam.authorization.service.js +26 -30
  76. package/dist/services/authorization/iam.authorization.service.js.map +1 -1
  77. package/dist/services/index.d.ts +7 -1
  78. package/dist/services/index.js +7 -1
  79. package/dist/services/index.js.map +1 -1
  80. package/dist/services/tokenManager/iam.tokenManager.definitions.d.ts +4 -1
  81. package/dist/services/tokenManager/iam.tokenManager.definitions.js.map +1 -1
  82. package/dist/services/tokenManager/iam.tokenManager.service.d.ts +2 -2
  83. package/dist/services/tokenManager/iam.tokenManager.service.js +73 -35
  84. package/dist/services/tokenManager/iam.tokenManager.service.js.map +1 -1
  85. package/dist/services/users/index.d.ts +2 -0
  86. package/dist/services/{userManager → users}/index.js +2 -2
  87. package/dist/services/users/index.js.map +1 -0
  88. package/dist/services/users/users.definitions.d.ts +7 -0
  89. package/dist/services/users/users.definitions.js +3 -0
  90. package/dist/services/users/users.definitions.js.map +1 -0
  91. package/dist/services/users/users.service.d.ts +6 -0
  92. package/dist/services/users/users.service.js +39 -0
  93. package/dist/services/users/users.service.js.map +1 -0
  94. package/package.json +2 -2
  95. package/src/common/definitions/common.constants.ts +13 -16
  96. package/src/services/authentication/iam.authentication.definitions.ts +11 -4
  97. package/src/services/authentication/iam.authentication.service.ts +79 -15
  98. package/src/services/authenticationConsumer/iam.authenticationConsumer.definitions.ts +43 -0
  99. package/src/services/authenticationConsumer/iam.authenticationConsumer.service.ts +192 -0
  100. package/src/services/authenticationConsumer/index.ts +2 -0
  101. package/src/services/{userManager/iam.userManager.definitions.ts → authenticationManager/iam.authenticationManager.definitions.ts} +11 -19
  102. package/src/services/{userManager/iam.userManager.service.ts → authenticationManager/iam.authenticationManager.service.ts} +174 -111
  103. package/src/services/authenticationManager/index.ts +2 -0
  104. package/src/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.ts +6 -3
  105. package/src/services/authenticationOAuth2/iam.authenticationOAuth2.service.ts +97 -85
  106. package/src/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.ts +56 -0
  107. package/src/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.ts +93 -0
  108. package/src/services/authenticationOAuth2Consumer/index.ts +2 -0
  109. package/src/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.ts +32 -0
  110. package/src/services/authenticationPassthrough/iam.authenticationPassthrough.service.ts +100 -0
  111. package/src/services/authenticationPassthrough/index.ts +2 -0
  112. package/src/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.ts +52 -0
  113. package/src/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.ts +96 -0
  114. package/src/services/authenticationPassthroughConsumer/index.ts +2 -0
  115. package/src/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.ts +3 -3
  116. package/src/services/authenticationUserLocal/iam.authenticationUserLocal.service.ts +17 -12
  117. package/src/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.ts +29 -0
  118. package/src/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.ts +40 -0
  119. package/src/services/authenticationUserLocalConsumer/index.ts +2 -0
  120. package/src/services/authorization/iam.authorization.definitions.ts +26 -27
  121. package/src/services/authorization/iam.authorization.service.ts +40 -65
  122. package/src/services/index.ts +7 -1
  123. package/src/services/tokenManager/iam.tokenManager.definitions.ts +4 -1
  124. package/src/services/tokenManager/iam.tokenManager.service.ts +98 -45
  125. package/src/services/users/index.ts +2 -0
  126. package/src/services/users/users.definitions.ts +11 -0
  127. package/src/services/users/users.service.ts +46 -0
  128. package/dist/services/userManager/iam.userManager.definitions.js +0 -8
  129. package/dist/services/userManager/iam.userManager.definitions.js.map +0 -1
  130. package/dist/services/userManager/iam.userManager.service.d.ts +0 -33
  131. package/dist/services/userManager/iam.userManager.service.js.map +0 -1
  132. package/dist/services/userManager/index.d.ts +0 -2
  133. package/dist/services/userManager/index.js.map +0 -1
  134. package/src/services/userManager/index.ts +0 -2
@@ -1,9 +1,13 @@
1
- export declare enum Constants {
2
- ACCESS_CONTROL_MODULE_NAME = "ACCESS_CONTROL_MODULE_NAME",
3
- DOMAIN_MODULE_NAME = "DOMAIN_MODULE_NAME",
4
- OAUTH2_CODE_VERIFIER_LENGTH = "128",
5
- OAUTH2_PKCE_CHALLENGE_HASH_METHOD = "SHA-256",
6
- TOKEN_EXPIRED_ERROR = "Token expired",
7
- TOKEN_MISMATCHED_AUDIENCES_ERROR = "Mismatched audiences",
8
- TOKEN_MISMATCHED_ISSUER_ERROR = "Mismatched issuer"
9
- }
1
+ export declare const Constants: {
2
+ ACCESS_CONTROL_MODULE_NAME: string;
3
+ DEFAULT_ACCESS_TOKEN_EXPIRY_TIME_IN_HOURS: number;
4
+ DEFAULT_ACCESS_TOKEN_STORAGE_TTL_MULTIPLIER: number;
5
+ DEFAULT_REFRESH_TOKEN_EXPIRY_TIME_IN_HOURS: number;
6
+ DEFAULT_REFRESH_TOKEN_STORAGE_TTL_MULTIPLIER: number;
7
+ DOMAIN_MODULE_NAME: string;
8
+ OAUTH2_CODE_VERIFIER_LENGTH: string;
9
+ OAUTH2_PKCE_CHALLENGE_HASH_METHOD: string;
10
+ TOKEN_EXPIRED_ERROR: string;
11
+ TOKEN_MISMATCHED_AUDIENCES_ERROR: string;
12
+ TOKEN_MISMATCHED_ISSUER_ERROR: string;
13
+ };
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Constants = void 0;
4
- var Constants;
5
- (function (Constants) {
6
- Constants["ACCESS_CONTROL_MODULE_NAME"] = "ACCESS_CONTROL_MODULE_NAME";
7
- Constants["DOMAIN_MODULE_NAME"] = "DOMAIN_MODULE_NAME";
8
- Constants["OAUTH2_CODE_VERIFIER_LENGTH"] = "128";
9
- Constants["OAUTH2_PKCE_CHALLENGE_HASH_METHOD"] = "SHA-256";
10
- Constants["TOKEN_EXPIRED_ERROR"] = "Token expired";
11
- Constants["TOKEN_MISMATCHED_AUDIENCES_ERROR"] = "Mismatched audiences";
12
- Constants["TOKEN_MISMATCHED_ISSUER_ERROR"] = "Mismatched issuer";
13
- })(Constants || (exports.Constants = Constants = {}));
4
+ exports.Constants = {
5
+ ACCESS_CONTROL_MODULE_NAME: 'ACCESS_CONTROL_MODULE_NAME',
6
+ DEFAULT_ACCESS_TOKEN_EXPIRY_TIME_IN_HOURS: 24,
7
+ DEFAULT_ACCESS_TOKEN_STORAGE_TTL_MULTIPLIER: 1,
8
+ DEFAULT_REFRESH_TOKEN_EXPIRY_TIME_IN_HOURS: 24,
9
+ DEFAULT_REFRESH_TOKEN_STORAGE_TTL_MULTIPLIER: 1,
10
+ DOMAIN_MODULE_NAME: 'DOMAIN_MODULE_NAME',
11
+ OAUTH2_CODE_VERIFIER_LENGTH: '128',
12
+ OAUTH2_PKCE_CHALLENGE_HASH_METHOD: 'SHA-256',
13
+ TOKEN_EXPIRED_ERROR: 'jwt expired',
14
+ TOKEN_MISMATCHED_AUDIENCES_ERROR: 'Mismatched audiences',
15
+ TOKEN_MISMATCHED_ISSUER_ERROR: 'Mismatched issuer'
16
+ };
14
17
  //# sourceMappingURL=common.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAeX;AAfD,WAAY,SAAS;IAEnB,sEAAyD,CAAA;IAEzD,sDAAyC,CAAA;IAEzC,gDAAmC,CAAA;IAEnC,0DAA6C,CAAA;IAE7C,kDAAqC,CAAA;IAErC,sEAAyD,CAAA;IAEzD,gEAAmD,CAAA;AACrD,CAAC,EAfW,SAAS,yBAAT,SAAS,QAepB"}
1
+ {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACvB,0BAA0B,EAAE,4BAA4B;IACxD,yCAAyC,EAAE,EAAE;IAC7C,2CAA2C,EAAE,CAAC;IAC9C,0CAA0C,EAAE,EAAE;IAC9C,4CAA4C,EAAE,CAAC;IAC/C,kBAAkB,EAAE,oBAAoB;IACxC,2BAA2B,EAAE,KAAK;IAClC,iCAAiC,EAAE,SAAS;IAC5C,mBAAmB,EAAE,aAAa;IAClC,gCAAgC,EAAE,sBAAsB;IACxD,6BAA6B,EAAE,mBAAmB;CACnD,CAAC"}
@@ -10,7 +10,7 @@ export interface IAMAuthenticationCompleteOptions<Context> {
10
10
  mfaOptions?: unknown;
11
11
  }
12
12
  export declare enum IAMAuthenticationType {
13
- OAuth2 = "ouath2",
13
+ OAuth2 = "oauth2",
14
14
  UserLocal = "userLocal"
15
15
  }
16
16
  export interface IAMAuthenticationCompleteResult {
@@ -23,7 +23,7 @@ export interface IAMAuthenticationCompleteResult {
23
23
  refreshTokenExpiresIn?: number;
24
24
  valid: boolean;
25
25
  }
26
- export type IAMAuthenticationGetUserCreateAccessTokenConfigResult = AppConfigCommonDomainIAMAuthServiceConfigStepSettings;
26
+ export type IAMAuthenticationGetUserAuthenticationConfigResult = AppConfigCommonDomainIAMAuthServiceConfigStepSettings;
27
27
  export interface IAMAuthenticationGetPayloadsFromExternalTokensData {
28
28
  accessToken?: string;
29
29
  idToken?: string;
@@ -39,6 +39,10 @@ export interface IAMAuthenticationGetUserDataFromExternalTokenPayloadsData {
39
39
  idTokenPayload?: {
40
40
  email: string;
41
41
  name: string;
42
+ } & {
43
+ data?: {
44
+ user?: GenericObject;
45
+ } & GenericObject;
42
46
  } & GenericObject;
43
47
  refreshTokenPayload?: GenericObject;
44
48
  }
@@ -81,3 +85,8 @@ export interface IAMAuthenticationVerifyExternalAccessTokenResult {
81
85
  newRefreshToken?: string;
82
86
  refreshTokenPayload?: unknown;
83
87
  }
88
+ export interface IAMAuthenticationVerifyTokenOptions {
89
+ audiences?: string[];
90
+ issuer?: string;
91
+ secret?: string;
92
+ }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IAMAuthenticationType = void 0;
4
4
  var IAMAuthenticationType;
5
5
  (function (IAMAuthenticationType) {
6
- IAMAuthenticationType["OAuth2"] = "ouath2";
6
+ IAMAuthenticationType["OAuth2"] = "oauth2";
7
7
  IAMAuthenticationType["UserLocal"] = "userLocal";
8
8
  })(IAMAuthenticationType || (exports.IAMAuthenticationType = IAMAuthenticationType = {}));
9
9
  //# sourceMappingURL=iam.authentication.definitions.js.map
@@ -1,16 +1,21 @@
1
1
  import { ConfigProviderService, LoggerService } from '@node-c/core';
2
- import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetPayloadsFromExternalTokensData, IAMAuthenticationGetPayloadsFromExternalTokensResult, IAMAuthenticationGetUserCreateAccessTokenConfigResult, IAMAuthenticationGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult, IAMAuthenticationRefreshExternalAccessTokenData, IAMAuthenticationRefreshExternalAccessTokenResult, IAMAuthenticationVerifyExternalAccessTokenData, IAMAuthenticationVerifyExternalAccessTokenResult } from './iam.authentication.definitions';
2
+ import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetPayloadsFromExternalTokensData, IAMAuthenticationGetPayloadsFromExternalTokensResult, IAMAuthenticationGetUserAuthenticationConfigResult, IAMAuthenticationGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult, IAMAuthenticationRefreshExternalAccessTokenData, IAMAuthenticationRefreshExternalAccessTokenResult, IAMAuthenticationVerifyExternalAccessTokenData, IAMAuthenticationVerifyExternalAccessTokenResult, IAMAuthenticationVerifyTokenOptions } from './iam.authentication.definitions';
3
3
  export declare class IAMAuthenticationService<CompleteContext extends object, InitiateContext extends object> {
4
4
  protected configProvider: ConfigProviderService;
5
5
  protected logger: LoggerService;
6
6
  protected moduleName: string;
7
+ protected serviceName: string;
7
8
  protected isLocal: boolean;
8
- constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string);
9
+ constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, serviceName: string);
9
10
  complete(_data: IAMAuthenticationCompleteData, _options: IAMAuthenticationCompleteOptions<CompleteContext>): Promise<IAMAuthenticationCompleteResult>;
10
- getUserCreateAccessTokenConfig(): IAMAuthenticationGetUserCreateAccessTokenConfigResult;
11
- getPayloadsFromExternalTokens(_data: IAMAuthenticationGetPayloadsFromExternalTokensData): Promise<IAMAuthenticationGetPayloadsFromExternalTokensResult>;
11
+ getUserAuthenticationConfig(): IAMAuthenticationGetUserAuthenticationConfigResult;
12
+ getPayloadsFromExternalTokens(data: IAMAuthenticationGetPayloadsFromExternalTokensData): Promise<IAMAuthenticationGetPayloadsFromExternalTokensResult>;
12
13
  getUserDataFromExternalTokenPayloads(_data: IAMAuthenticationGetUserDataFromExternalTokenPayloadsData): Promise<IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult | null>;
13
14
  initiate(_data: IAMAuthenticationInitiateData, _options: IAMAuthenticationInitiateOptions<InitiateContext>): Promise<IAMAuthenticationInitiateResult>;
14
15
  refreshExternalAccessToken(_data: IAMAuthenticationRefreshExternalAccessTokenData): Promise<IAMAuthenticationRefreshExternalAccessTokenResult>;
15
16
  verifyExternalAccessToken(_data: IAMAuthenticationVerifyExternalAccessTokenData): Promise<IAMAuthenticationVerifyExternalAccessTokenResult>;
17
+ verifyToken<DecodedTokenContent = unknown>(token: string, options?: IAMAuthenticationVerifyTokenOptions): Promise<{
18
+ content?: DecodedTokenContent;
19
+ error?: unknown;
20
+ }>;
16
21
  }
@@ -1,4 +1,37 @@
1
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
+ })();
2
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -11,23 +44,41 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
44
  Object.defineProperty(exports, "__esModule", { value: true });
12
45
  exports.IAMAuthenticationService = void 0;
13
46
  const core_1 = require("@node-c/core");
47
+ const jwt = __importStar(require("jsonwebtoken"));
48
+ const definitions_1 = require("../../common/definitions");
14
49
  class IAMAuthenticationService {
15
- constructor(configProvider, logger, moduleName) {
50
+ constructor(configProvider, logger, moduleName, serviceName) {
16
51
  this.configProvider = configProvider;
17
52
  this.logger = logger;
18
53
  this.moduleName = moduleName;
54
+ this.serviceName = serviceName;
19
55
  }
20
56
  complete(_data, _options) {
21
57
  return __awaiter(this, void 0, void 0, function* () {
22
58
  throw new core_1.ApplicationError(`[${this.moduleName}][IAMAuthenticationService]: Method "complete" not implemented.`);
23
59
  });
24
60
  }
25
- getUserCreateAccessTokenConfig() {
61
+ getUserAuthenticationConfig() {
26
62
  throw new core_1.ApplicationError(`[${this.moduleName}][IAMAuthenticationService]: Method "getUserAccessTokenConfig" not implemented.`);
27
63
  }
28
- getPayloadsFromExternalTokens(_data) {
64
+ getPayloadsFromExternalTokens(data) {
29
65
  return __awaiter(this, void 0, void 0, function* () {
30
- throw new core_1.ApplicationError(`[${this.moduleName}][IAMAuthenticationService]: Method "getPayloadsFromExternalTokens" not implemented.`);
66
+ const { logger, moduleName, serviceName } = this;
67
+ const { accessToken, idToken } = data;
68
+ const returnData = {};
69
+ if (accessToken) {
70
+ const { content: accessTokenPayload, error } = yield this.verifyToken(accessToken);
71
+ if (error) {
72
+ logger.error(`[${moduleName}][${serviceName}]: Method "getPayloadsFromExternalTokens" has produced an error:`, error);
73
+ throw new core_1.ApplicationError(`[${moduleName}][${serviceName}]: Error getting data from external tokens.`);
74
+ }
75
+ returnData.accessTokenPayload = accessTokenPayload;
76
+ }
77
+ if (idToken) {
78
+ const idTokenData = yield this.verifyToken(idToken);
79
+ returnData.idTokenPayload = idTokenData.content;
80
+ }
81
+ return returnData;
31
82
  });
32
83
  }
33
84
  getUserDataFromExternalTokenPayloads(_data) {
@@ -50,6 +101,46 @@ class IAMAuthenticationService {
50
101
  throw new core_1.ApplicationError(`[${this.moduleName}][IAMAuthenticationService]: Method "verifyExternalAccessToken" not implemented.`);
51
102
  });
52
103
  }
104
+ verifyToken(token, options) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const { audiences, issuer, secret } = options || {};
107
+ let returnData = {};
108
+ if (secret) {
109
+ returnData = yield new Promise(resolve => {
110
+ jwt.verify(token, secret, (err, decoded) => {
111
+ if (err) {
112
+ resolve({ content: decoded, error: err });
113
+ }
114
+ resolve({ content: decoded });
115
+ });
116
+ });
117
+ }
118
+ else {
119
+ const tokenContent = jwt.decode(token);
120
+ if (tokenContent.exp) {
121
+ let currentTimeStamp = `${new Date().valueOf()}`;
122
+ let expString = `${tokenContent.exp}`;
123
+ if (expString.length < currentTimeStamp.length) {
124
+ currentTimeStamp = currentTimeStamp.substring(0, expString.length);
125
+ }
126
+ else if (expString.length > currentTimeStamp.length) {
127
+ expString = expString.substring(0, currentTimeStamp.length);
128
+ }
129
+ if (parseInt(expString, 10) < parseInt(currentTimeStamp, 10)) {
130
+ returnData.error = definitions_1.Constants.TOKEN_EXPIRED_ERROR;
131
+ }
132
+ }
133
+ if (tokenContent.aud && audiences && !audiences.includes(tokenContent.aud)) {
134
+ returnData.error = definitions_1.Constants.TOKEN_MISMATCHED_AUDIENCES_ERROR;
135
+ }
136
+ if (tokenContent.iss && issuer && issuer !== tokenContent.iss) {
137
+ returnData.error = definitions_1.Constants.TOKEN_MISMATCHED_ISSUER_ERROR;
138
+ }
139
+ returnData.content = tokenContent;
140
+ }
141
+ return returnData;
142
+ });
143
+ }
53
144
  }
54
145
  exports.IAMAuthenticationService = IAMAuthenticationService;
55
146
  //# sourceMappingURL=iam.authentication.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iam.authentication.service.js","sourceRoot":"","sources":["../../../src/services/authentication/iam.authentication.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAsF;AAoBtF,MAAa,wBAAwB;IAGnC,YAEY,cAAqC,EAErC,MAAqB,EAErB,UAAkB;QAJlB,mBAAc,GAAd,cAAc,CAAuB;QAErC,WAAM,GAAN,MAAM,CAAe;QAErB,eAAU,GAAV,UAAU,CAAQ;IAC3B,CAAC;IAKE,QAAQ,CAEZ,KAAoC,EAEpC,QAA2D;;YAE3D,MAAM,IAAI,uBAAgB,CAAC,IAAI,IAAI,CAAC,UAAU,iEAAiE,CAAC,CAAC;QACnH,CAAC;KAAA;IAED,8BAA8B;QAC5B,MAAM,IAAI,uBAAgB,CACxB,IAAI,IAAI,CAAC,UAAU,iFAAiF,CACrG,CAAC;IACJ,CAAC;IAMK,6BAA6B,CAEjC,KAAyD;;YAEzD,MAAM,IAAI,uBAAgB,CACxB,IAAI,IAAI,CAAC,UAAU,sFAAsF,CAC1G,CAAC;QACJ,CAAC;KAAA;IAKK,oCAAoC,CAExC,KAAgE;;YAEhE,MAAM,IAAI,uBAAgB,CACxB,IAAI,IAAI,CAAC,UAAU,6FAA6F,CACjH,CAAC;QACJ,CAAC;KAAA;IAKK,QAAQ,CAEZ,KAAoC,EAEpC,QAA2D;;YAE3D,MAAM,IAAI,uBAAgB,CAAC,IAAI,IAAI,CAAC,UAAU,iEAAiE,CAAC,CAAC;QACnH,CAAC;KAAA;IAEK,0BAA0B,CAE9B,KAAsD;;YAEtD,MAAM,IAAI,uBAAgB,CACxB,IAAI,IAAI,CAAC,UAAU,mFAAmF,CACvG,CAAC;QACJ,CAAC;KAAA;IAEK,yBAAyB,CAE7B,KAAqD;;YAErD,MAAM,IAAI,uBAAgB,CACxB,IAAI,IAAI,CAAC,UAAU,kFAAkF,CACtG,CAAC;QACJ,CAAC;KAAA;CACF;AApFD,4DAoFC"}
1
+ {"version":3,"file":"iam.authentication.service.js","sourceRoot":"","sources":["../../../src/services/authentication/iam.authentication.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetUserAuthenticationConfigResult, IAMAuthenticationGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult, IAMAuthenticationRefreshExternalAccessTokenData, IAMAuthenticationRefreshExternalAccessTokenResult } from '../authentication';
2
+ export type IAMAuthenticationConsumerCompleteData = IAMAuthenticationCompleteData;
3
+ export type IAMAuthenticationConsumerCompleteOptions<Context extends object> = IAMAuthenticationCompleteOptions<Context>;
4
+ export interface IAMAuthenticationConsumerCompleteResult extends IAMAuthenticationCompleteResult {
5
+ idToken?: string;
6
+ refreshToken?: string;
7
+ }
8
+ export type IAMAuthenticationConsumerGetUserAuthenticationConfigResult = IAMAuthenticationGetUserAuthenticationConfigResult;
9
+ export type IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsData = IAMAuthenticationGetUserDataFromExternalTokenPayloadsData;
10
+ export type IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsResult = IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult;
11
+ export type IAMAuthenticationConsumerInitiateData = IAMAuthenticationInitiateData;
12
+ export type IAMAuthenticationConsumerInitiateOptions<Context extends object> = IAMAuthenticationInitiateOptions<Context>;
13
+ export type IAMAuthenticationConsumerInitiateResult = IAMAuthenticationInitiateResult;
14
+ export type IAMAuthenticationConsumerRefreshExternalAccessTokenData = IAMAuthenticationRefreshExternalAccessTokenData;
15
+ export type IAMAuthenticationConsumerRefreshExternalAccessTokenResult = IAMAuthenticationRefreshExternalAccessTokenResult;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=iam.authenticationConsumer.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.authenticationConsumer.definitions.js","sourceRoot":"","sources":["../../../src/services/authenticationConsumer/iam.authenticationConsumer.definitions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { AppConfigDomainIAMAuthenticationStep, ConfigProviderService, GenericObject, LoggerService } from '@node-c/core';
2
+ import { IAMAuthenticationConsumerCompleteData, IAMAuthenticationConsumerCompleteOptions, IAMAuthenticationConsumerCompleteResult, IAMAuthenticationConsumerGetUserAuthenticationConfigResult, IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationConsumerInitiateData, IAMAuthenticationConsumerInitiateOptions, IAMAuthenticationConsumerInitiateResult, IAMAuthenticationConsumerRefreshExternalAccessTokenData, IAMAuthenticationConsumerRefreshExternalAccessTokenResult } from './iam.authenticationConsumer.definitions';
3
+ import { IAMAuthenticationService } from '../authentication';
4
+ export declare class IAMAuthenticationConsumerService<CompleteContext extends object, InitiateContext extends object> extends IAMAuthenticationService<CompleteContext, InitiateContext> {
5
+ constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, serviceName: string);
6
+ complete(data: IAMAuthenticationConsumerCompleteData, options: IAMAuthenticationConsumerCompleteOptions<CompleteContext>): Promise<IAMAuthenticationConsumerCompleteResult>;
7
+ getUserAuthenticationConfig(): IAMAuthenticationConsumerGetUserAuthenticationConfigResult;
8
+ getUserDataFromExternalTokenPayloads(data: IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsData): Promise<IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsResult | null>;
9
+ initiate(data: IAMAuthenticationConsumerInitiateData, options: IAMAuthenticationConsumerInitiateOptions<InitiateContext>): Promise<IAMAuthenticationConsumerInitiateResult>;
10
+ protected runRequest<ReturnData>(endpoint: AppConfigDomainIAMAuthenticationStep | 'refreshExternalAccessToken', data: GenericObject): Promise<ReturnData>;
11
+ refreshExternalAccessToken(data: IAMAuthenticationConsumerRefreshExternalAccessTokenData): Promise<IAMAuthenticationConsumerRefreshExternalAccessTokenResult>;
12
+ }
@@ -0,0 +1,135 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.IAMAuthenticationConsumerService = void 0;
27
+ const core_1 = require("@node-c/core");
28
+ const lodash_1 = __importDefault(require("lodash"));
29
+ const authentication_1 = require("../authentication");
30
+ class IAMAuthenticationConsumerService extends authentication_1.IAMAuthenticationService {
31
+ constructor(configProvider, logger, moduleName, serviceName) {
32
+ super(configProvider, logger, moduleName, serviceName);
33
+ this.isLocal = false;
34
+ }
35
+ complete(data, options) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ var _a;
38
+ const responseData = yield this.runRequest(core_1.AppConfigDomainIAMAuthenticationStep.Complete, Object.assign({ auth: Object.assign(Object.assign({}, data), { type: this.serviceName }), step: core_1.AppConfigDomainIAMAuthenticationStep.Complete }, ((options === null || options === void 0 ? void 0 : options.contextIdentifierField)
39
+ ? {
40
+ filters: {
41
+ [options.contextIdentifierField]: options.context[options.contextIdentifierField]
42
+ }
43
+ }
44
+ : {})));
45
+ return Object.assign(Object.assign({}, responseData), { valid: typeof responseData.valid !== 'undefined' ? responseData.valid : !!((_a = responseData.accessToken) === null || _a === void 0 ? void 0 : _a.length) });
46
+ });
47
+ }
48
+ getUserAuthenticationConfig() {
49
+ const { configProvider, moduleName, serviceName } = this;
50
+ const moduleConfig = configProvider.config.domain[moduleName];
51
+ const { steps } = moduleConfig.authServiceSettings[serviceName];
52
+ const defaultConfig = {
53
+ [core_1.AppConfigDomainIAMAuthenticationStep.Complete]: {
54
+ authReturnsTokens: true,
55
+ decodeReturnedTokens: true,
56
+ findUser: true,
57
+ findUserBeforeAuth: false,
58
+ findUserInExternalTokenPayloads: true,
59
+ useReturnedTokens: true,
60
+ useReturnedTokensAsLocal: true,
61
+ validWithoutUser: false
62
+ },
63
+ [core_1.AppConfigDomainIAMAuthenticationStep.Initiate]: {
64
+ findUser: false,
65
+ validWithoutUser: true
66
+ }
67
+ };
68
+ return lodash_1.default.merge(defaultConfig, steps || {});
69
+ }
70
+ getUserDataFromExternalTokenPayloads(data) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ var _a;
73
+ const { idTokenPayload } = data;
74
+ if (!((_a = idTokenPayload === null || idTokenPayload === void 0 ? void 0 : idTokenPayload.data) === null || _a === void 0 ? void 0 : _a.user)) {
75
+ return null;
76
+ }
77
+ return idTokenPayload.data.user;
78
+ });
79
+ }
80
+ initiate(data, options) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ var _a;
83
+ const responseData = yield this.runRequest(core_1.AppConfigDomainIAMAuthenticationStep.Initiate, Object.assign({ auth: Object.assign(Object.assign({}, data), { type: this.serviceName }), step: core_1.AppConfigDomainIAMAuthenticationStep.Initiate }, ((options === null || options === void 0 ? void 0 : options.contextIdentifierField)
84
+ ? {
85
+ filters: {
86
+ [options.contextIdentifierField]: options.context[options.contextIdentifierField]
87
+ }
88
+ }
89
+ : {})));
90
+ return Object.assign(Object.assign(Object.assign({}, responseData), { valid: typeof responseData.valid !== 'undefined'
91
+ ? responseData.valid
92
+ : 'accessToken' in responseData && !!((_a = responseData.accessToken) === null || _a === void 0 ? void 0 : _a.length) }), ('nextStepsRequired' in responseData && responseData.nextStepsRequired
93
+ ? { mfaUsed: true, mfaValid: true }
94
+ : { mfaUsed: false }));
95
+ });
96
+ }
97
+ runRequest(endpoint, data) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ const { configProvider, logger, moduleName, serviceName } = this;
100
+ const moduleConfig = configProvider.config.domain[moduleName];
101
+ const _a = moduleConfig.authServiceSettings[serviceName].nodeC, { apiKey, apiSecret, apiSecretHashingAlgorithm, baseUrl } = _a, configData = __rest(_a, ["apiKey", "apiSecret", "apiSecretHashingAlgorithm", "baseUrl"]);
102
+ const endpointMethod = configData[`${endpoint}EndpointMethod`];
103
+ const endpointUri = configData[`${endpoint}Endpoint`];
104
+ if (!baseUrl) {
105
+ logger.error(`[${moduleName}][${serviceName}]: Base URL not configured.`);
106
+ throw new core_1.ApplicationError('Authentication failed.');
107
+ }
108
+ if (!endpointUri) {
109
+ logger.error(`[${moduleName}][${serviceName}]: Endpoint URI for "${endpoint}" not configured.`);
110
+ throw new core_1.ApplicationError('Authentication failed.');
111
+ }
112
+ if (!endpointMethod) {
113
+ logger.error(`[${moduleName}][${serviceName}]: Endpoint method for "${endpoint}" not configured.`);
114
+ throw new core_1.ApplicationError('Authentication failed.');
115
+ }
116
+ const { data: responseData, hasError } = yield (0, core_1.httpRequest)(`${baseUrl}${endpointUri}`, Object.assign({ apiKey,
117
+ apiSecret,
118
+ apiSecretHashingAlgorithm, isJSON: true, method: endpointMethod }, (endpointMethod === core_1.HttpMethod.GET ? { query: data } : { body: data })));
119
+ if (hasError || !responseData) {
120
+ logger.error(`[${moduleName}][${serviceName}]: Endpoint ${endpointUri} failed.`, responseData);
121
+ throw new core_1.ApplicationError('Authentication failed.');
122
+ }
123
+ return responseData;
124
+ });
125
+ }
126
+ refreshExternalAccessToken(data) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ return yield this.runRequest('refreshExternalAccessToken', {
129
+ data
130
+ });
131
+ });
132
+ }
133
+ }
134
+ exports.IAMAuthenticationConsumerService = IAMAuthenticationConsumerService;
135
+ //# sourceMappingURL=iam.authenticationConsumer.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.authenticationConsumer.service.js","sourceRoot":"","sources":["../../../src/services/authenticationConsumer/iam.authenticationConsumer.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './iam.authenticationConsumer.definitions';
2
+ export * from './iam.authenticationConsumer.service';
@@ -0,0 +1,19 @@
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("./iam.authenticationConsumer.definitions"), exports);
18
+ __exportStar(require("./iam.authenticationConsumer.service"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/authenticationConsumer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2EAAyD;AACzD,uEAAqD"}
@@ -1,8 +1,8 @@
1
- import { AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings, AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings, AppConfigDomainIAMAuthenticationStep, DomainFindOnePrivateOptions, GenericObject } from '@node-c/core';
1
+ import { AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings, AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings, AppConfigDomainIAMAuthenticationStep, GenericObject } from '@node-c/core';
2
2
  import { IAMAuthenticationCompleteResult, IAMAuthenticationInitiateResult, IAMAuthenticationService, IAMAuthenticationType } from '../authentication';
3
- import { AuthorizationUser } from '../authorization';
4
3
  import { IAMMFAType } from '../mfa';
5
- export interface IAMUserManagerCreateAccessTokenOptions<AuthData = unknown> {
4
+ import { IAMUserWithPermissionsData } from '../users';
5
+ export interface IAMAuthenticationManagerAuthenticateOptions<AuthData = unknown> {
6
6
  auth: {
7
7
  mfaType?: IAMMFAType;
8
8
  type: IAMAuthenticationType | string;
@@ -12,7 +12,7 @@ export interface IAMUserManagerCreateAccessTokenOptions<AuthData = unknown> {
12
12
  rememberUser?: boolean;
13
13
  step?: AppConfigDomainIAMAuthenticationStep;
14
14
  }
15
- export type IAMUserManagerCreateAccessTokenReturnData<UserData> = {
15
+ export type IAMAuthenticationManagerAuthenticateReturnData<UserData> = {
16
16
  accessToken: string;
17
17
  idToken: string;
18
18
  refreshToken?: string;
@@ -20,28 +20,24 @@ export type IAMUserManagerCreateAccessTokenReturnData<UserData> = {
20
20
  } | {
21
21
  nextStepsRequired: boolean;
22
22
  };
23
- export type IAMUserManagerExecuteStepData<AuthData = unknown> = Omit<IAMUserManagerCreateAccessTokenOptions<AuthData>, 'rememberUser' | 'step'>;
24
- export interface IAMUserManagerExecuteStepOptions<User extends object> {
23
+ export type IAMAuthenticationManagerExecuteStepData<AuthData = unknown> = Omit<IAMAuthenticationManagerAuthenticateOptions<AuthData>, 'rememberUser' | 'step'>;
24
+ export interface IAMAuthenticationManagerExecuteStepOptions<User extends object> {
25
25
  authService: IAMAuthenticationService<User, User>;
26
26
  name: AppConfigDomainIAMAuthenticationStep;
27
27
  stepConfig: AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings | AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings;
28
28
  }
29
- export interface IAMUserManagerExecuteStepResult<User extends object> {
29
+ export interface IAMAuthenticationManagerExecuteStepResult<User extends object> {
30
30
  stepResult: IAMAuthenticationCompleteResult | IAMAuthenticationInitiateResult;
31
- user: IAMUserManagerUserWithPermissionsData<User, unknown> | null;
31
+ user: IAMUserWithPermissionsData<User, unknown> | null;
32
32
  userFilterField?: string | undefined;
33
33
  userFilterValue?: unknown | undefined;
34
34
  }
35
- export interface IAMUserManagerGetUserWithPermissionsDataOptions extends DomainFindOnePrivateOptions {
36
- keepPassword?: boolean;
37
- }
38
- export type IAMUserManagerUserWithPermissionsData<UserData, AuthorizationPointId> = AuthorizationUser<AuthorizationPointId> & UserData;
39
- export interface IAMUserManagerUserTokenEnityFields<UserId = unknown> {
35
+ export interface IAMAuthenticationManagerUserTokenEnityFields<UserId = unknown> {
40
36
  accessToken?: string;
41
37
  refreshToken?: string;
42
38
  userId: UserId;
43
- user?: IAMUserManagerUserWithPermissionsData<object, unknown>;
39
+ user?: IAMUserWithPermissionsData<object, unknown>;
44
40
  }
45
- export declare enum IAMUserManagerUserTokenUserIdentifier {
41
+ export declare enum IAMAuthenticationManagerUserTokenUserIdentifier {
46
42
  FieldName = "userId"
47
43
  }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IAMAuthenticationManagerUserTokenUserIdentifier = void 0;
4
+ var IAMAuthenticationManagerUserTokenUserIdentifier;
5
+ (function (IAMAuthenticationManagerUserTokenUserIdentifier) {
6
+ IAMAuthenticationManagerUserTokenUserIdentifier["FieldName"] = "userId";
7
+ })(IAMAuthenticationManagerUserTokenUserIdentifier || (exports.IAMAuthenticationManagerUserTokenUserIdentifier = IAMAuthenticationManagerUserTokenUserIdentifier = {}));
8
+ //# sourceMappingURL=iam.authenticationManager.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.authenticationManager.definitions.js","sourceRoot":"","sources":["../../../src/services/authenticationManager/iam.authenticationManager.definitions.ts"],"names":[],"mappings":";;;AA+DA,IAAY,+CAGX;AAHD,WAAY,+CAA+C;IAEzD,uEAAoB,CAAA;AACtB,CAAC,EAHW,+CAA+C,+DAA/C,+CAA+C,QAG1D"}
@@ -0,0 +1,33 @@
1
+ import { ConfigProviderService, DataDefaultData, DataEntityService, DomainEntityServiceDefaultData, GenericObject, LoggerService } from '@node-c/core';
2
+ import { IAMAuthenticationManagerAuthenticateOptions, IAMAuthenticationManagerAuthenticateReturnData, IAMAuthenticationManagerUserTokenEnityFields } from './iam.authenticationManager.definitions';
3
+ import { IAMAuthenticationService, IAMAuthenticationType } from '../authentication';
4
+ import { IAMAuthenticationOAuth2Service } from '../authenticationOAuth2';
5
+ import { IAMAuthenticationUserLocalService } from '../authenticationUserLocal';
6
+ import { IAMTokenManagerService } from '../tokenManager';
7
+ import { IAMUserWithPermissionsData, IAMUsersService } from '../users';
8
+ export declare class IAMAuthenticationManagerService<User extends object = object, Data extends DomainEntityServiceDefaultData<Partial<User>> = DomainEntityServiceDefaultData<Partial<User>>, DataEntityServiceData extends DataDefaultData<Partial<User>> = DataDefaultData<Partial<User>>> {
9
+ protected authServices: {
10
+ [IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service<object, object>;
11
+ [IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService<object, object>;
12
+ } & {
13
+ [serviceName: string]: IAMAuthenticationService<object, object>;
14
+ };
15
+ protected configProvider: ConfigProviderService;
16
+ protected logger: LoggerService;
17
+ protected moduleName: string;
18
+ protected dataUsersAuthCacheService?: DataEntityService<GenericObject> | undefined;
19
+ domainUsersEntityService?: IAMUsersService<User, DataEntityService<User, DataEntityServiceData>, Data, Record<string, DataEntityService<Partial<User>, DataDefaultData<object>>> | undefined> | undefined;
20
+ protected tokenManager?: IAMTokenManagerService<IAMAuthenticationManagerUserTokenEnityFields> | undefined;
21
+ constructor(authServices: {
22
+ [IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service<object, object>;
23
+ [IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService<object, object>;
24
+ } & {
25
+ [serviceName: string]: IAMAuthenticationService<object, object>;
26
+ }, configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, dataUsersAuthCacheService?: DataEntityService<GenericObject> | undefined, domainUsersEntityService?: IAMUsersService<User, DataEntityService<User, DataEntityServiceData>, Data, Record<string, DataEntityService<Partial<User>, DataDefaultData<object>>> | undefined> | undefined, tokenManager?: IAMTokenManagerService<IAMAuthenticationManagerUserTokenEnityFields> | undefined);
27
+ authenticate<AuthData = unknown>(options: IAMAuthenticationManagerAuthenticateOptions<AuthData>): Promise<IAMAuthenticationManagerAuthenticateReturnData<User>>;
28
+ private executeStep;
29
+ protected getUserForStepExecution(options: {
30
+ filters: GenericObject;
31
+ mainFilterField: string;
32
+ }): Promise<IAMUserWithPermissionsData<User, unknown> | null>;
33
+ }