@node-c/domain-iam 1.0.0-alpha9 → 1.0.0-beta1

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 (104) hide show
  1. package/dist/common/definitions/common.constants.d.ts +7 -1
  2. package/dist/common/definitions/common.constants.js +6 -0
  3. package/dist/common/definitions/common.constants.js.map +1 -1
  4. package/dist/module/iam.module.js.map +1 -1
  5. package/dist/services/authentication/iam.authentication.definitions.d.ts +79 -16
  6. package/dist/services/authentication/iam.authentication.definitions.js +6 -9
  7. package/dist/services/authentication/iam.authentication.definitions.js.map +1 -1
  8. package/dist/services/authentication/iam.authentication.service.d.ts +13 -5
  9. package/dist/services/authentication/iam.authentication.service.js +32 -3
  10. package/dist/services/authentication/iam.authentication.service.js.map +1 -1
  11. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.d.ts +38 -0
  12. package/dist/services/{authenticationLocal/iam.authenticationLocal.definitions.js → authenticationOAuth2/iam.authenticationOAuth2.definitions.js} +1 -1
  13. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.js.map +1 -0
  14. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.d.ts +25 -0
  15. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js +300 -0
  16. package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js.map +1 -0
  17. package/dist/services/authenticationOAuth2/index.d.ts +2 -0
  18. package/dist/services/authenticationOAuth2/index.js +19 -0
  19. package/dist/services/authenticationOAuth2/index.js.map +1 -0
  20. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.d.ts +12 -0
  21. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.js +3 -0
  22. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.js.map +1 -0
  23. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.d.ts +15 -0
  24. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js +142 -0
  25. package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js.map +1 -0
  26. package/dist/services/authenticationUserLocal/index.d.ts +2 -0
  27. package/dist/services/{authenticationLocal → authenticationUserLocal}/index.js +2 -2
  28. package/dist/services/authenticationUserLocal/index.js.map +1 -0
  29. package/dist/services/authorization/iam.authorization.definitions.d.ts +33 -23
  30. package/dist/services/authorization/iam.authorization.definitions.js +7 -0
  31. package/dist/services/authorization/iam.authorization.definitions.js.map +1 -1
  32. package/dist/services/authorization/iam.authorization.service.d.ts +29 -13
  33. package/dist/services/authorization/iam.authorization.service.js +233 -125
  34. package/dist/services/authorization/iam.authorization.service.js.map +1 -1
  35. package/dist/services/index.d.ts +4 -2
  36. package/dist/services/index.js +4 -2
  37. package/dist/services/index.js.map +1 -1
  38. package/dist/services/mfa/iam.mfa.definitions.d.ts +21 -0
  39. package/dist/services/mfa/iam.mfa.definitions.js +8 -0
  40. package/dist/services/mfa/iam.mfa.definitions.js.map +1 -0
  41. package/dist/services/mfa/iam.mfa.service.d.ts +10 -0
  42. package/dist/services/mfa/iam.mfa.service.js +32 -0
  43. package/dist/services/mfa/iam.mfa.service.js.map +1 -0
  44. package/dist/services/mfa/index.d.ts +2 -0
  45. package/dist/services/{users → mfa}/index.js +2 -2
  46. package/dist/services/mfa/index.js.map +1 -0
  47. package/dist/services/tokenManager/iam.tokenManager.definitions.d.ts +14 -3
  48. package/dist/services/tokenManager/iam.tokenManager.definitions.js.map +1 -1
  49. package/dist/services/tokenManager/iam.tokenManager.service.d.ts +24 -9
  50. package/dist/services/tokenManager/iam.tokenManager.service.js +113 -44
  51. package/dist/services/tokenManager/iam.tokenManager.service.js.map +1 -1
  52. package/dist/services/userManager/iam.userManager.definitions.d.ts +45 -0
  53. package/dist/services/userManager/iam.userManager.definitions.js +8 -0
  54. package/dist/services/userManager/iam.userManager.definitions.js.map +1 -0
  55. package/dist/services/userManager/iam.userManager.service.d.ts +33 -0
  56. package/dist/services/userManager/iam.userManager.service.js +332 -0
  57. package/dist/services/userManager/iam.userManager.service.js.map +1 -0
  58. package/dist/services/userManager/index.d.ts +2 -0
  59. package/dist/services/userManager/index.js +19 -0
  60. package/dist/services/userManager/index.js.map +1 -0
  61. package/package.json +10 -8
  62. package/src/common/definitions/common.constants.ts +16 -0
  63. package/src/common/definitions/index.ts +1 -0
  64. package/src/index.ts +3 -0
  65. package/src/module/iam.definitions.ts +15 -0
  66. package/src/module/iam.module.ts +29 -0
  67. package/src/module/index.ts +2 -0
  68. package/src/services/authentication/iam.authentication.definitions.ts +100 -0
  69. package/src/services/authentication/iam.authentication.service.ts +105 -0
  70. package/src/services/authentication/index.ts +2 -0
  71. package/src/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.ts +72 -0
  72. package/src/services/authenticationOAuth2/iam.authenticationOAuth2.service.ts +352 -0
  73. package/src/services/authenticationOAuth2/index.ts +2 -0
  74. package/src/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.ts +29 -0
  75. package/src/services/authenticationUserLocal/iam.authenticationUserLocal.service.ts +173 -0
  76. package/src/services/authenticationUserLocal/index.ts +2 -0
  77. package/src/services/authorization/iam.authorization.definitions.ts +55 -0
  78. package/src/services/authorization/iam.authorization.service.ts +387 -0
  79. package/src/services/authorization/index.ts +2 -0
  80. package/src/services/index.ts +7 -0
  81. package/src/services/mfa/iam.mfa.definitions.ts +28 -0
  82. package/src/services/mfa/iam.mfa.service.ts +40 -0
  83. package/src/services/mfa/index.ts +2 -0
  84. package/src/services/tokenManager/iam.tokenManager.definitions.ts +61 -0
  85. package/src/services/tokenManager/iam.tokenManager.service.ts +292 -0
  86. package/src/services/tokenManager/index.ts +2 -0
  87. package/src/services/userManager/iam.userManager.definitions.ts +73 -0
  88. package/src/services/userManager/iam.userManager.service.ts +463 -0
  89. package/src/services/userManager/index.ts +2 -0
  90. package/dist/services/authenticationLocal/iam.authenticationLocal.definitions.d.ts +0 -11
  91. package/dist/services/authenticationLocal/iam.authenticationLocal.definitions.js.map +0 -1
  92. package/dist/services/authenticationLocal/iam.authenticationLocal.service.d.ts +0 -10
  93. package/dist/services/authenticationLocal/iam.authenticationLocal.service.js +0 -70
  94. package/dist/services/authenticationLocal/iam.authenticationLocal.service.js.map +0 -1
  95. package/dist/services/authenticationLocal/index.d.ts +0 -2
  96. package/dist/services/authenticationLocal/index.js.map +0 -1
  97. package/dist/services/users/iam.users.definitions.d.ts +0 -30
  98. package/dist/services/users/iam.users.definitions.js +0 -8
  99. package/dist/services/users/iam.users.definitions.js.map +0 -1
  100. package/dist/services/users/iam.users.service.d.ts +0 -16
  101. package/dist/services/users/iam.users.service.js +0 -93
  102. package/dist/services/users/iam.users.service.js.map +0 -1
  103. package/dist/services/users/index.d.ts +0 -2
  104. package/dist/services/users/index.js.map +0 -1
@@ -13,49 +13,139 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.IAMAuthorizationService = void 0;
16
+ const crypto_1 = __importDefault(require("crypto"));
16
17
  const core_1 = require("@node-c/core");
17
- const general_tools_1 = require("@ramster/general-tools");
18
- const immutable_1 = __importDefault(require("immutable"));
19
- const ramda_1 = require("ramda");
18
+ const lodash_1 = __importDefault(require("lodash"));
19
+ const iam_authorization_definitions_1 = require("./iam.authorization.definitions");
20
20
  class IAMAuthorizationService extends core_1.DomainEntityService {
21
- constructor(persistanceAuthorizationPointsService, defaultMethods = [core_1.DomainMethod.Find], additionalPersistanceEntityServices) {
22
- super(persistanceAuthorizationPointsService, defaultMethods, additionalPersistanceEntityServices);
23
- this.persistanceAuthorizationPointsService = persistanceAuthorizationPointsService;
21
+ constructor(dataAuthorizationPointsService, defaultMethods = [core_1.DomainMethod.Find], logger, additionalDataEntityServices, tokenManager) {
22
+ super(dataAuthorizationPointsService, defaultMethods, logger, additionalDataEntityServices);
23
+ this.dataAuthorizationPointsService = dataAuthorizationPointsService;
24
24
  this.defaultMethods = defaultMethods;
25
- this.additionalPersistanceEntityServices = additionalPersistanceEntityServices;
25
+ this.logger = logger;
26
+ this.additionalDataEntityServices = additionalDataEntityServices;
27
+ this.tokenManager = tokenManager;
26
28
  }
27
- static checkAccess(authorizationPoints, inputData, user) {
28
- const mutatedInputData = immutable_1.default.fromJS(inputData).toJS();
29
- const userPermissionsData = user.currentAuthorizationPoints;
29
+ authorizeApiKey(data, options) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const { logger } = this;
32
+ const { apiKey, signature, signatureContent } = data;
33
+ const { config: { apiKey: expectedApiKey, apiSecret, apiSecretAlgorithm } } = options;
34
+ if (!apiKey) {
35
+ logger.error('Missing api key.');
36
+ return { valid: false };
37
+ }
38
+ if (apiKey !== expectedApiKey) {
39
+ logger.error('Invalid api key.');
40
+ return { valid: false };
41
+ }
42
+ if (apiSecret && apiSecretAlgorithm) {
43
+ if (!signature) {
44
+ logger.error('Missing authorization signature.');
45
+ return { valid: false };
46
+ }
47
+ if (!signatureContent) {
48
+ logger.error('Missing authorization signature content.');
49
+ return { valid: false };
50
+ }
51
+ const calcualtedSignature = crypto_1.default
52
+ .createHmac(apiSecretAlgorithm, apiSecret)
53
+ .update(signatureContent)
54
+ .digest('hex');
55
+ if (calcualtedSignature !== signature) {
56
+ logger.error(`Invalid signature provided. Expected: ${calcualtedSignature}. Provided: ${signature}`);
57
+ return { valid: false };
58
+ }
59
+ }
60
+ return { valid: true };
61
+ });
62
+ }
63
+ authorizeBearer(data, options) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ const { logger, tokenManager } = this;
66
+ const { authToken, refreshToken } = data;
67
+ const { identifierDataField } = options || {};
68
+ if (!tokenManager) {
69
+ logger.error('Token manager not configured.');
70
+ return { valid: false };
71
+ }
72
+ if (!authToken) {
73
+ logger.error('Missing auth token.');
74
+ return { valid: false };
75
+ }
76
+ let newAuthToken;
77
+ let tokenContent;
78
+ try {
79
+ const tokenRes = yield tokenManager.verifyAccessToken(authToken, {
80
+ deleteFromStoreIfExpired: true,
81
+ identifierDataField,
82
+ persistNewToken: true,
83
+ purgeStoreOnRenew: true,
84
+ refreshToken,
85
+ refreshTokenAccessTokenIdentifierDataField: 'accessToken'
86
+ });
87
+ tokenContent = tokenRes.content;
88
+ if (tokenRes.newToken) {
89
+ newAuthToken = tokenRes.newToken;
90
+ }
91
+ }
92
+ catch (e) {
93
+ logger.error('Failed to parse the access or refresh token:', e);
94
+ return { valid: false };
95
+ }
96
+ return { newAuthToken, tokenContent, valid: true };
97
+ });
98
+ }
99
+ checkAccessWithStorage() {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ throw new core_1.ApplicationError('[IAMAuthorizationService.checkAccessWithStorage]: Method not implemented.');
102
+ });
103
+ }
104
+ static checkAccess(inputData, user, options) {
105
+ var _a;
106
+ const { moduleName, resourceContext, resource } = options;
107
+ let hasResource = false;
108
+ if (resource) {
109
+ if (!resourceContext) {
110
+ throw new core_1.ApplicationError('[IAMAuthorizationService.checkAccess]: A resourceContext is required when providing a resource value.');
111
+ }
112
+ hasResource = true;
113
+ }
114
+ const mutatedInputData = lodash_1.default.cloneDeep(inputData);
115
+ const usedAuthorizationPoints = {};
116
+ const { currentAuthorizationPoints } = user;
117
+ let authorizationPointsCount = 0;
118
+ let authorizationPointsForDifferentModules = 0;
119
+ let authorizationPointsForDifferentContexts = 0;
30
120
  let hasAccess = false;
31
121
  let inputDataToBeMutated = {};
32
- for (const apId in authorizationPoints) {
33
- if (!userPermissionsData[apId]) {
122
+ let noMatchForResource = false;
123
+ for (const apId in currentAuthorizationPoints) {
124
+ const apData = currentAuthorizationPoints[apId];
125
+ authorizationPointsCount++;
126
+ if (moduleName !== apData.moduleName) {
127
+ authorizationPointsForDifferentModules++;
128
+ continue;
129
+ }
130
+ if (hasResource &&
131
+ (!apData.resourceContext ||
132
+ apData.resourceContext !== resourceContext ||
133
+ !((_a = apData.resources) === null || _a === void 0 ? void 0 : _a.includes(resource)))) {
134
+ authorizationPointsForDifferentContexts++;
34
135
  continue;
35
136
  }
36
- const apData = authorizationPoints[apId];
37
137
  const { allowedInputData, forbiddenInputData, inputDataFieldName, requiredStaticData, userFieldName } = apData;
38
138
  const hasStaticData = requiredStaticData && Object.keys(requiredStaticData).length;
39
- const innerMutatedInputData = immutable_1.default.fromJS(mutatedInputData).toJS();
139
+ const innerMutatedInputData = lodash_1.default.cloneDeep(mutatedInputData);
40
140
  const innerInputDataToBeMutated = {};
41
141
  hasAccess = true;
42
- if (allowedInputData && Object.keys(allowedInputData).length) {
43
- const values = IAMAuthorizationService.matchInputValues(innerMutatedInputData, allowedInputData);
44
- for (const key in values) {
45
- innerInputDataToBeMutated[key] = values[key];
46
- (0, general_tools_1.setNested)(innerMutatedInputData, key, values[key], { removeNestedFieldEscapeSign: true });
47
- }
48
- }
49
- if (forbiddenInputData && Object.keys(forbiddenInputData).length) {
50
- const values = IAMAuthorizationService.matchInputValues(innerMutatedInputData, forbiddenInputData);
51
- for (const key in values) {
52
- innerInputDataToBeMutated[key] = undefined;
53
- (0, general_tools_1.setNested)(innerMutatedInputData, key, undefined, { removeNestedFieldEscapeSign: true });
54
- }
142
+ if (!noMatchForResource) {
143
+ noMatchForResource = true;
55
144
  }
56
145
  if (hasStaticData) {
57
146
  for (const fieldName in requiredStaticData) {
58
- if (!IAMAuthorizationService.testValue((0, general_tools_1.getNested)({ inputData: innerMutatedInputData, user }, fieldName, { removeNestedFieldEscapeSign: true }), requiredStaticData[fieldName])) {
147
+ if (!IAMAuthorizationService.testValue((0, core_1.getNested)({ inputData: innerMutatedInputData, user }, fieldName, { removeNestedFieldEscapeSign: true })
148
+ .unifiedValue, requiredStaticData[fieldName])) {
59
149
  hasAccess = false;
60
150
  break;
61
151
  }
@@ -65,49 +155,72 @@ class IAMAuthorizationService extends core_1.DomainEntityService {
65
155
  }
66
156
  }
67
157
  if (userFieldName && inputDataFieldName) {
68
- const inputFieldValue = (0, general_tools_1.getNested)(innerMutatedInputData, inputDataFieldName, {
158
+ const { paths: inputFieldPaths, unifiedValue: inputFieldValue } = (0, core_1.getNested)(innerMutatedInputData, inputDataFieldName, {
69
159
  removeNestedFieldEscapeSign: true
70
160
  });
71
- const userFieldValue = (0, general_tools_1.getNested)(user, userFieldName, { removeNestedFieldEscapeSign: true });
72
- if (typeof userFieldValue === 'undefined' || typeof inputFieldValue === 'undefined') {
161
+ const { unifiedValue: userFieldValue } = (0, core_1.getNested)(user, userFieldName, { removeNestedFieldEscapeSign: true });
162
+ if (typeof userFieldValue === 'undefined') {
73
163
  hasAccess = false;
74
164
  continue;
75
165
  }
76
- const allowedValues = [];
77
- const inputValueIsArray = inputFieldValue instanceof Array;
78
- const valuesToTest = inputValueIsArray ? inputFieldValue : [inputFieldValue];
79
- const valuesToTestAgainst = userFieldValue instanceof Array ? userFieldValue : [userFieldValue];
80
- valuesToTest.forEach((valueToTest) => {
81
- const valueToTestVariants = IAMAuthorizationService.getValuesForTesting(valueToTest);
82
- for (const j in valuesToTestAgainst) {
83
- const valueToTestAgainst = valuesToTestAgainst[j];
84
- let matchFound = false;
85
- for (const k in valueToTestVariants) {
86
- const variant = valueToTestVariants[k];
87
- if (valueToTestAgainst === variant) {
88
- allowedValues.push(variant);
89
- matchFound = true;
90
- break;
91
- }
92
- }
93
- if (matchFound) {
94
- break;
95
- }
166
+ if (typeof inputFieldValue === 'undefined') {
167
+ innerInputDataToBeMutated[inputDataFieldName] = userFieldValue;
168
+ (0, core_1.setNested)(innerMutatedInputData, inputDataFieldName, userFieldValue, {
169
+ removeNestedFieldEscapeSign: true,
170
+ setNestedArraysPerIndex: inputFieldPaths.length > 1
171
+ });
172
+ }
173
+ else {
174
+ const allowedValues = IAMAuthorizationService.matchInputValues(innerMutatedInputData, {
175
+ [inputDataFieldName]: userFieldValue
176
+ })[inputDataFieldName];
177
+ const inputValueIsArray = inputFieldValue instanceof Array;
178
+ if (!(allowedValues === null || allowedValues === void 0 ? void 0 : allowedValues.length)) {
179
+ hasAccess = false;
180
+ continue;
96
181
  }
97
- });
98
- if (!allowedValues.length) {
99
- hasAccess = false;
100
- continue;
182
+ if (inputValueIsArray) {
183
+ innerInputDataToBeMutated[inputDataFieldName] = allowedValues;
184
+ (0, core_1.setNested)(innerMutatedInputData, inputDataFieldName, allowedValues, { removeNestedFieldEscapeSign: true });
185
+ }
186
+ }
187
+ }
188
+ if (allowedInputData && Object.keys(allowedInputData).length) {
189
+ const values = IAMAuthorizationService.matchInputValues(innerMutatedInputData, allowedInputData);
190
+ for (const key in values) {
191
+ innerInputDataToBeMutated[key] = values[key];
192
+ (0, core_1.setNested)(innerMutatedInputData, key, values[key], { removeNestedFieldEscapeSign: true });
101
193
  }
102
- if (inputValueIsArray) {
103
- innerInputDataToBeMutated[inputDataFieldName] = allowedValues;
104
- (0, general_tools_1.setNested)(mutatedInputData, inputDataFieldName, allowedValues, { removeNestedFieldEscapeSign: true });
194
+ }
195
+ if (forbiddenInputData && Object.keys(forbiddenInputData).length) {
196
+ const values = IAMAuthorizationService.matchInputValues(innerMutatedInputData, forbiddenInputData);
197
+ for (const key in values) {
198
+ innerInputDataToBeMutated[key] = undefined;
199
+ (0, core_1.setNested)(innerMutatedInputData, key, undefined, { removeNestedFieldEscapeSign: true });
105
200
  }
106
201
  }
107
- inputDataToBeMutated = (0, ramda_1.mergeDeepRight)(inputDataToBeMutated, innerInputDataToBeMutated);
202
+ inputDataToBeMutated = lodash_1.default.merge(inputDataToBeMutated, innerInputDataToBeMutated);
203
+ usedAuthorizationPoints[apId] = apData;
108
204
  break;
109
205
  }
110
- return { hasAccess, inputDataToBeMutated };
206
+ const returnData = {
207
+ authorizationPoints: usedAuthorizationPoints,
208
+ hasAccess,
209
+ inputDataToBeMutated,
210
+ noMatchForResource
211
+ };
212
+ if (!hasAccess) {
213
+ if (authorizationPointsForDifferentModules === authorizationPointsCount) {
214
+ returnData.errorCode = iam_authorization_definitions_1.AuthorizationCheckErrorCode.RBACNoAccessToModule;
215
+ }
216
+ else if (authorizationPointsForDifferentContexts === authorizationPointsCount) {
217
+ returnData.errorCode = iam_authorization_definitions_1.AuthorizationCheckErrorCode.RBACNoAccessToResource;
218
+ }
219
+ else {
220
+ returnData.errorCode = iam_authorization_definitions_1.AuthorizationCheckErrorCode.FGANoAccessToModule;
221
+ }
222
+ }
223
+ return returnData;
111
224
  }
112
225
  static getValuesForTesting(valueToTest) {
113
226
  const values = [
@@ -123,89 +236,84 @@ class IAMAuthorizationService extends core_1.DomainEntityService {
123
236
  }
124
237
  return values;
125
238
  }
126
- mapAuthorizationPoints(moduleName, additionalServicesOptions) {
127
- return __awaiter(this, void 0, void 0, function* () {
128
- const { result: { items: apList } } = yield this.find(Object.assign(Object.assign({}, (additionalServicesOptions || {})), { filters: { moduleNames: { [core_1.PersistanceSelectOperator.Contains]: moduleName } }, findAll: true }));
129
- const authorizationData = { __all: { __all: {} } };
130
- const moduleGlobalData = authorizationData.__all.__all;
131
- apList.forEach(item => {
132
- if (!item.controllerNames) {
133
- moduleGlobalData[item.id] = item;
134
- return;
135
- }
136
- item.controllerNames.forEach(ctlName => {
137
- let ctlData = authorizationData[ctlName];
138
- if (!ctlData) {
139
- ctlData = { __all: {} };
140
- authorizationData[ctlName] = ctlData;
141
- }
142
- if (!item.handlerNames) {
143
- ctlData.__all[item.id] = item;
144
- return;
145
- }
146
- item.handlerNames.forEach(hName => {
147
- let hData = ctlData[hName];
148
- if (!hData) {
149
- hData = {};
150
- ctlData[hName] = hData;
151
- }
152
- hData[item.id] = item;
153
- });
154
- });
155
- });
156
- return authorizationData;
157
- });
158
- }
159
239
  static matchInputValues(input, values) {
160
- const mutatedInput = immutable_1.default.fromJS(input).toJS();
240
+ const matchedValues = {};
161
241
  for (const fieldName in values) {
162
- const value = (0, general_tools_1.getNested)(input, fieldName, { removeNestedFieldEscapeSign: true });
242
+ const { paths: valuePaths, values: foundValues } = (0, core_1.getNested)(input, fieldName, {
243
+ removeNestedFieldEscapeSign: true
244
+ });
163
245
  const allowedValue = values[fieldName];
164
246
  const allowedValues = allowedValue instanceof Array ? allowedValue : [allowedValue];
165
- let valueIsArray = false;
166
- let valuesToCheck = [];
167
247
  const valuesToSet = [];
168
- if (value instanceof Array) {
169
- valuesToCheck = value;
170
- valueIsArray = true;
171
- }
172
- else {
173
- valuesToCheck.push(value);
174
- }
175
- valuesToCheck.forEach(valueToCheck => {
176
- const valueToCheckVariants = IAMAuthorizationService.getValuesForTesting(valueToCheck);
177
- for (const i in valueToCheckVariants) {
178
- const actualValueToCheck = valueToCheckVariants[i];
179
- let checkPassed = false;
248
+ valuePaths.forEach((valuePath, valuePathIndex) => {
249
+ const valueAtIndex = foundValues[valuePathIndex];
250
+ let valueIsArray = false;
251
+ let valuesToCheck = [];
252
+ if (valueAtIndex instanceof Array) {
253
+ valuesToCheck = valueAtIndex;
254
+ valueIsArray = true;
255
+ }
256
+ else {
257
+ valuesToCheck.push(valueAtIndex);
258
+ }
259
+ valuesToCheck.forEach(valueToCheck => {
180
260
  for (const j in allowedValues) {
181
- if (IAMAuthorizationService.testValue(actualValueToCheck, allowedValues[j])) {
261
+ if (IAMAuthorizationService.testValue(valueToCheck, allowedValues[j])) {
182
262
  valuesToSet.push(valueToCheck);
183
- checkPassed = true;
184
263
  break;
185
264
  }
186
265
  }
187
- if (checkPassed) {
188
- break;
189
- }
266
+ });
267
+ if (!valuesToSet.length) {
268
+ matchedValues[valuePath] = undefined;
269
+ return;
190
270
  }
271
+ matchedValues[valuePath] = valueIsArray ? valuesToSet : valuesToSet[0];
191
272
  });
192
- if (!valuesToSet.length) {
193
- (0, general_tools_1.setNested)(mutatedInput, fieldName, undefined, { removeNestedFieldEscapeSign: true });
194
- continue;
273
+ }
274
+ return matchedValues;
275
+ }
276
+ static processOutputData(authorizationPoints, outputData) {
277
+ const mutatedOutputData = lodash_1.default.cloneDeep(outputData);
278
+ let outputDataToBeMutated = {};
279
+ for (const apId in authorizationPoints) {
280
+ const apData = authorizationPoints[apId];
281
+ const { allowedOutputData, forbiddenOutputData } = apData;
282
+ const innerMutatedOutputData = lodash_1.default.cloneDeep(mutatedOutputData);
283
+ const innerOutputDataToBeMutated = {};
284
+ if (allowedOutputData && Object.keys(allowedOutputData).length) {
285
+ const values = IAMAuthorizationService.matchInputValues(innerMutatedOutputData, allowedOutputData);
286
+ for (const key in values) {
287
+ innerOutputDataToBeMutated[key] = values[key];
288
+ (0, core_1.setNested)(innerMutatedOutputData, key, values[key], { removeNestedFieldEscapeSign: true });
289
+ }
195
290
  }
196
- (0, general_tools_1.setNested)(mutatedInput, fieldName, valueIsArray ? valuesToSet : valuesToSet[0], {
197
- removeNestedFieldEscapeSign: true
198
- });
291
+ if (forbiddenOutputData && Object.keys(forbiddenOutputData).length) {
292
+ const values = IAMAuthorizationService.matchInputValues(innerMutatedOutputData, forbiddenOutputData);
293
+ for (const key in values) {
294
+ innerOutputDataToBeMutated[key] = undefined;
295
+ (0, core_1.setNested)(innerMutatedOutputData, key, undefined, { removeNestedFieldEscapeSign: true });
296
+ }
297
+ }
298
+ outputDataToBeMutated = lodash_1.default.merge(outputDataToBeMutated, innerOutputDataToBeMutated);
199
299
  }
200
- return mutatedInput;
300
+ return { outputDataToBeMutated };
201
301
  }
202
302
  static testValue(valueToTest, valueToTestAgainst) {
203
- if (typeof valueToTest === 'string' &&
204
- typeof valueToTestAgainst === 'string' &&
303
+ if (typeof valueToTestAgainst === 'string' &&
205
304
  valueToTestAgainst.charAt(0) === '/' &&
206
305
  valueToTestAgainst.charAt(valueToTestAgainst.length - 1) === '/') {
207
- const regex = new RegExp(valueToTestAgainst.substring(1, valueToTestAgainst.length - 2));
208
- return regex.test(valueToTest);
306
+ const regex = new RegExp(valueToTestAgainst.substring(1, valueToTestAgainst.length - 1));
307
+ if (typeof valueToTest === 'undefined') {
308
+ return false;
309
+ }
310
+ return regex.test(typeof valueToTest === 'string' ? valueToTest : JSON.stringify(valueToTest));
311
+ }
312
+ if (typeof valueToTest === 'object' &&
313
+ valueToTest !== null &&
314
+ typeof valueToTestAgainst === 'object' &&
315
+ valueToTestAgainst !== null) {
316
+ return JSON.stringify(valueToTest) === JSON.stringify(valueToTestAgainst);
209
317
  }
210
318
  const possibleValidValues = IAMAuthorizationService.getValuesForTesting(valueToTest);
211
319
  let hasMatch = false;
@@ -1 +1 @@
1
- {"version":3,"file":"iam.authorization.service.js","sourceRoot":"","sources":["../../../src/services/authorization/iam.authorization.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iam.authorization.service.js","sourceRoot":"","sources":["../../../src/services/authorization/iam.authorization.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export * from './authentication';
2
- export * from './authenticationLocal';
2
+ export * from './authenticationOAuth2';
3
+ export * from './authenticationUserLocal';
3
4
  export * from './authorization';
5
+ export * from './mfa';
4
6
  export * from './tokenManager';
5
- export * from './users';
7
+ export * from './userManager';
@@ -15,8 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./authentication"), exports);
18
- __exportStar(require("./authenticationLocal"), exports);
18
+ __exportStar(require("./authenticationOAuth2"), exports);
19
+ __exportStar(require("./authenticationUserLocal"), exports);
19
20
  __exportStar(require("./authorization"), exports);
21
+ __exportStar(require("./mfa"), exports);
20
22
  __exportStar(require("./tokenManager"), exports);
21
- __exportStar(require("./users"), exports);
23
+ __exportStar(require("./userManager"), exports);
22
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,kDAAgC;AAChC,iDAA+B;AAC/B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,yDAAuC;AACvC,4DAA0C;AAC1C,kDAAgC;AAChC,wCAAsB;AACtB,iDAA+B;AAC/B,gDAA8B"}
@@ -0,0 +1,21 @@
1
+ export interface IAMMFACompleteData {
2
+ type?: IAMMFAType;
3
+ }
4
+ export interface IAMMFACompleteOptions<Context> {
5
+ context: Context;
6
+ }
7
+ export declare enum IAMMFAType {
8
+ Local = "local"
9
+ }
10
+ export interface IAMMFACompleteResult {
11
+ valid: boolean;
12
+ }
13
+ export interface IAMMFAInitiateData {
14
+ type?: IAMMFAType;
15
+ }
16
+ export interface IAMMFAInitiateOptions<Context> {
17
+ context: Context;
18
+ }
19
+ export interface IAMMFAInitiateResult {
20
+ valid: boolean;
21
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IAMMFAType = void 0;
4
+ var IAMMFAType;
5
+ (function (IAMMFAType) {
6
+ IAMMFAType["Local"] = "local";
7
+ })(IAMMFAType || (exports.IAMMFAType = IAMMFAType = {}));
8
+ //# sourceMappingURL=iam.mfa.definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.mfa.definitions.js","sourceRoot":"","sources":["../../../src/services/mfa/iam.mfa.definitions.ts"],"names":[],"mappings":";;;AAQA,IAAY,UAGX;AAHD,WAAY,UAAU;IAEpB,6BAAe,CAAA;AACjB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}
@@ -0,0 +1,10 @@
1
+ import { ConfigProviderService, LoggerService } from '@node-c/core';
2
+ import { IAMMFACompleteData, IAMMFACompleteOptions, IAMMFACompleteResult, IAMMFAInitiateData, IAMMFAInitiateOptions, IAMMFAInitiateResult } from './iam.mfa.definitions';
3
+ export declare class IAMMFAService<CompleteContext extends object, InitiateContext extends object = object> {
4
+ protected configProvider: ConfigProviderService;
5
+ protected logger: LoggerService;
6
+ protected moduleName: string;
7
+ constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string);
8
+ complete(_data: IAMMFACompleteData, _options: IAMMFACompleteOptions<CompleteContext>): Promise<IAMMFACompleteResult>;
9
+ initiate(_data: IAMMFAInitiateData, _options: IAMMFAInitiateOptions<InitiateContext>): Promise<IAMMFAInitiateResult>;
10
+ }
@@ -0,0 +1,32 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.IAMMFAService = void 0;
13
+ const core_1 = require("@node-c/core");
14
+ class IAMMFAService {
15
+ constructor(configProvider, logger, moduleName) {
16
+ this.configProvider = configProvider;
17
+ this.logger = logger;
18
+ this.moduleName = moduleName;
19
+ }
20
+ complete(_data, _options) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ throw new core_1.ApplicationError(`[${this.moduleName}][IAMMFAService]: Method "complete" not implemented.`);
23
+ });
24
+ }
25
+ initiate(_data, _options) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ throw new core_1.ApplicationError(`[${this.moduleName}][IAMMFAService]: Method "initiate" not implemented.`);
28
+ });
29
+ }
30
+ }
31
+ exports.IAMMFAService = IAMMFAService;
32
+ //# sourceMappingURL=iam.mfa.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.mfa.service.js","sourceRoot":"","sources":["../../../src/services/mfa/iam.mfa.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAsF;AAYtF,MAAa,aAAa;IACxB,YAEY,cAAqC,EAErC,MAAqB,EAErB,UAAkB;QAJlB,mBAAc,GAAd,cAAc,CAAuB;QAErC,WAAM,GAAN,MAAM,CAAe;QAErB,eAAU,GAAV,UAAU,CAAQ;IAC3B,CAAC;IAEE,QAAQ,CAEZ,KAAyB,EAEzB,QAAgD;;YAEhD,MAAM,IAAI,uBAAgB,CAAC,IAAI,IAAI,CAAC,UAAU,sDAAsD,CAAC,CAAC;QACxG,CAAC;KAAA;IAEK,QAAQ,CAEZ,KAAyB,EAEzB,QAAgD;;YAEhD,MAAM,IAAI,uBAAgB,CAAC,IAAI,IAAI,CAAC,UAAU,sDAAsD,CAAC,CAAC;QACxG,CAAC;KAAA;CACF;AA3BD,sCA2BC"}
@@ -0,0 +1,2 @@
1
+ export * from './iam.mfa.definitions';
2
+ export * from './iam.mfa.service';
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./iam.users.definitions"), exports);
18
- __exportStar(require("./iam.users.service"), exports);
17
+ __exportStar(require("./iam.mfa.definitions"), exports);
18
+ __exportStar(require("./iam.mfa.service"), exports);
19
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/mfa/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,oDAAkC"}