@node-c/domain-iam 1.0.0-beta6 → 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
@@ -23,36 +23,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.IAMUserManagerService = void 0;
26
+ exports.IAMAuthenticationManagerService = void 0;
27
27
  const core_1 = require("@node-c/core");
28
28
  const lodash_1 = __importDefault(require("lodash"));
29
- const iam_userManager_definitions_1 = require("./iam.userManager.definitions");
29
+ const iam_authenticationManager_definitions_1 = require("./iam.authenticationManager.definitions");
30
+ const definitions_1 = require("../../common/definitions");
30
31
  const authentication_1 = require("../authentication");
31
32
  const tokenManager_1 = require("../tokenManager");
32
- class IAMUserManagerService {
33
- constructor(authServices, configProvider, dataUsersAuthCacheService, domainUsersEntityService, logger, moduleName, tokenManager) {
33
+ class IAMAuthenticationManagerService {
34
+ constructor(authServices, configProvider, logger, moduleName, dataUsersAuthCacheService, domainUsersEntityService, tokenManager) {
34
35
  this.authServices = authServices;
35
36
  this.configProvider = configProvider;
36
- this.dataUsersAuthCacheService = dataUsersAuthCacheService;
37
- this.domainUsersEntityService = domainUsersEntityService;
38
37
  this.logger = logger;
39
38
  this.moduleName = moduleName;
39
+ this.dataUsersAuthCacheService = dataUsersAuthCacheService;
40
+ this.domainUsersEntityService = domainUsersEntityService;
40
41
  this.tokenManager = tokenManager;
41
42
  }
42
- createAccessToken(options) {
43
+ authenticate(options) {
43
44
  return __awaiter(this, void 0, void 0, function* () {
44
45
  var _a;
45
- const { configProvider, logger, moduleName } = this;
46
+ const { configProvider, logger, moduleName, tokenManager } = this;
46
47
  const moduleConfig = configProvider.config.domain[moduleName];
47
48
  const { accessTokenExpiryTimeInMinutes, defaultUserIdentifierField, refreshTokenExpiryTimeInHours } = moduleConfig;
48
49
  const { auth: { type: authType }, rememberUser } = options;
49
- logger.info(`[Domain.${moduleName}.UserManager]: Login attempt started${options.step ? ` for step ${options.step}` : ''}.`);
50
+ logger.info(`[Domain.${moduleName}.AuthenticationManager][${authType}]: Login attempt started${options.step ? ` for step ${options.step}` : ''}.`);
50
51
  const authService = this.authServices[authType];
51
52
  if (!authService) {
52
- logger.info(`[Domain.${moduleName}.UserManager]: No authService ${authType} found.`);
53
+ logger.info(`[Domain.${moduleName}.AuthenticationManager][${authType}]: No authService ${authType} found.`);
53
54
  throw new core_1.ApplicationError('Authentication failed.');
54
55
  }
55
- const authServiceBehaviorConfig = authService.getUserCreateAccessTokenConfig();
56
+ const authServiceBehaviorConfig = authService.getUserAuthenticationConfig();
56
57
  let externalAccessToken;
57
58
  let externalRefreshToken;
58
59
  let issueTokens = false;
@@ -74,17 +75,27 @@ class IAMUserManagerService {
74
75
  }), { stepResult, user } = _b, otherStepData = __rest(_b, ["stepResult", "user"]);
75
76
  if (step === core_1.AppConfigDomainIAMAuthenticationStep.Initiate && !stepResult.mfaUsed) {
76
77
  issueTokens = true;
77
- step = core_1.AppConfigDomainIAMAuthenticationStep.Complete;
78
- stepConfig = authServiceBehaviorConfig[step];
79
- const finalStepData = yield this.executeStep(options, {
80
- authService,
81
- name: step,
82
- stepConfig: lodash_1.default.omit(stepConfig, 'cache')
83
- });
84
- stepResult = finalStepData.stepResult;
85
- user = user !== null && user !== void 0 ? user : finalStepData.user;
86
- userFilterField = finalStepData.userFilterField;
87
- userFilterValue = finalStepData.userFilterValue;
78
+ if (!('skipCompleteStepAllowedOnNoMFA' in stepConfig && stepConfig.skipCompleteStepAllowedOnNoMFA)) {
79
+ step = core_1.AppConfigDomainIAMAuthenticationStep.Complete;
80
+ stepConfig = authServiceBehaviorConfig[step];
81
+ const finalStepData = yield this.executeStep(options, {
82
+ authService,
83
+ name: step,
84
+ stepConfig: lodash_1.default.omit(stepConfig, 'cache')
85
+ });
86
+ stepResult = lodash_1.default.merge(lodash_1.default.omit(stepResult, ['mfaUsed', 'mfaValid', 'valid']), finalStepData.stepResult);
87
+ user = user !== null && user !== void 0 ? user : finalStepData.user;
88
+ userFilterField = finalStepData.userFilterField;
89
+ userFilterValue = finalStepData.userFilterValue;
90
+ }
91
+ else {
92
+ if ('userFilterField' in stepResult) {
93
+ userFilterField = stepResult.userFilterField;
94
+ }
95
+ if ('userFilterValue' in stepResult) {
96
+ userFilterValue = stepResult.userFilterValue;
97
+ }
98
+ }
88
99
  }
89
100
  const actualStepResult = stepResult;
90
101
  if (!userFilterField && otherStepData.userFilterField) {
@@ -95,7 +106,7 @@ class IAMUserManagerService {
95
106
  }
96
107
  if ('useReturnedTokens' in stepConfig && stepConfig.useReturnedTokens && stepConfig.authReturnsTokens) {
97
108
  if (!actualStepResult.accessToken) {
98
- logger.info(`[Domain.${moduleName}.UserManager]: Login attempt failed for ${userFilterField} ${userFilterValue} - no accessToken returned from the authService and useReturnedTokens is set to true.`);
109
+ logger.info(`[Domain.${moduleName}.AuthenticationManager][${authType}]: Login attempt failed for ${userFilterField} ${userFilterValue} - no accessToken returned from the authService and useReturnedTokens is set to true.`);
99
110
  throw new core_1.ApplicationError('Authentication failed.');
100
111
  }
101
112
  externalAccessToken = actualStepResult.accessToken;
@@ -104,63 +115,92 @@ class IAMUserManagerService {
104
115
  }
105
116
  }
106
117
  if (issueTokens) {
118
+ if (!tokenManager) {
119
+ throw new core_1.ApplicationError(`[${moduleName}][AuthenticationManager] tokenManager not configured.`);
120
+ }
107
121
  if (!user) {
108
- logger.info(`[Domain.${moduleName}.UserManager]: Login attempt failed at step ${step} - user is required when issueTokens is set to true.`);
122
+ logger.info(`[Domain.${moduleName}.AuthenticationManager][${authType}]: Login attempt failed at step ${step} - user is required when issueTokens is set to true.`);
109
123
  throw new core_1.ApplicationError('Authentication failed.');
110
124
  }
111
- let refreshToken;
125
+ const useExternalTokenAsLocal = 'useReturnedTokensAsLocal' in stepConfig && stepConfig.useReturnedTokensAsLocal;
112
126
  const userIdentifierValue = user[defaultUserIdentifierField];
127
+ let refreshToken;
128
+ let refreshTokenExpiresIn;
129
+ let refreshTokenTTL;
113
130
  if (externalRefreshToken || !externalAccessToken) {
114
- const { result: { token: localRefreshToken } } = yield this.tokenManager.create(Object.assign({ type: tokenManager_1.TokenType.Refresh, [iam_userManager_definitions_1.IAMUserManagerUserTokenUserIdentifier.FieldName]: userIdentifierValue }, (externalRefreshToken
115
- ? {
131
+ let externalTokenData = {};
132
+ if (externalRefreshToken &&
133
+ 'refreshTokenExpiresIn' in actualStepResult &&
134
+ actualStepResult.refreshTokenExpiresIn) {
135
+ externalTokenData = {
116
136
  externalToken: externalRefreshToken,
117
137
  externalTokenAuthService: authType
118
- }
119
- : {})), {
120
- expiresInMinutes: (externalRefreshToken &&
121
- 'refreshTokenExpiresIn' in actualStepResult &&
122
- actualStepResult.refreshTokenExpiresIn) ||
123
- (rememberUser || !refreshTokenExpiryTimeInHours ? undefined : refreshTokenExpiryTimeInHours * 60),
124
- identifierDataField: iam_userManager_definitions_1.IAMUserManagerUserTokenUserIdentifier.FieldName,
138
+ };
139
+ refreshTokenExpiresIn = actualStepResult.refreshTokenExpiresIn;
140
+ }
141
+ else if (!rememberUser) {
142
+ refreshTokenExpiresIn =
143
+ (refreshTokenExpiryTimeInHours
144
+ ? refreshTokenExpiryTimeInHours
145
+ : definitions_1.Constants.DEFAULT_REFRESH_TOKEN_EXPIRY_TIME_IN_HOURS) * 60;
146
+ }
147
+ if (refreshTokenExpiresIn) {
148
+ refreshTokenTTL =
149
+ refreshTokenExpiresIn *
150
+ (moduleConfig.refreshTokenExpiryStorageTTLMultiplier ||
151
+ definitions_1.Constants.DEFAULT_REFRESH_TOKEN_STORAGE_TTL_MULTIPLIER);
152
+ }
153
+ const { result: { token: localRefreshToken } } = yield tokenManager.create(Object.assign({ type: tokenManager_1.TokenType.Refresh, [iam_authenticationManager_definitions_1.IAMAuthenticationManagerUserTokenUserIdentifier.FieldName]: userIdentifierValue }, externalTokenData), {
154
+ expiresInMinutes: refreshTokenExpiresIn,
155
+ identifierDataField: iam_authenticationManager_definitions_1.IAMAuthenticationManagerUserTokenUserIdentifier.FieldName,
125
156
  persist: true,
126
157
  purgeOldFromData: true,
127
- tokenContentOnlyFields: ['externalToken']
158
+ tokenContentOnlyFields: ['externalToken'],
159
+ ttl: refreshTokenTTL,
160
+ useExternalTokenAsLocal
128
161
  });
129
162
  refreshToken = localRefreshToken;
130
163
  }
131
164
  const accessTokenExpiresIn = (externalAccessToken && 'accessTokenExpiresIn' in actualStepResult && actualStepResult.accessTokenExpiresIn) ||
132
- accessTokenExpiryTimeInMinutes;
133
- const { result: { token: accessToken } } = yield this.tokenManager.create(Object.assign({ refreshToken, type: tokenManager_1.TokenType.Access, [iam_userManager_definitions_1.IAMUserManagerUserTokenUserIdentifier.FieldName]: userIdentifierValue }, (externalAccessToken
165
+ accessTokenExpiryTimeInMinutes ||
166
+ definitions_1.Constants.DEFAULT_ACCESS_TOKEN_EXPIRY_TIME_IN_HOURS;
167
+ const accessTokenTTL = refreshTokenExpiresIn ||
168
+ accessTokenExpiresIn *
169
+ (moduleConfig.accessTokenExpiryStorageTTLMultiplier || definitions_1.Constants.DEFAULT_ACCESS_TOKEN_STORAGE_TTL_MULTIPLIER);
170
+ const { result: { token: accessToken } } = yield tokenManager.create(Object.assign({ refreshToken, type: tokenManager_1.TokenType.Access, [iam_authenticationManager_definitions_1.IAMAuthenticationManagerUserTokenUserIdentifier.FieldName]: userIdentifierValue }, (externalAccessToken
134
171
  ? {
135
172
  externalToken: externalAccessToken,
136
173
  externalTokenAuthService: authType
137
174
  }
138
175
  : {})), {
139
176
  expiresInMinutes: accessTokenExpiresIn,
140
- identifierDataField: iam_userManager_definitions_1.IAMUserManagerUserTokenUserIdentifier.FieldName,
177
+ identifierDataField: iam_authenticationManager_definitions_1.IAMAuthenticationManagerUserTokenUserIdentifier.FieldName,
141
178
  persist: true,
142
179
  purgeOldFromData: true,
143
- tokenContentOnlyFields: ['externalToken', 'refreshToken']
180
+ tokenContentOnlyFields: ['externalToken', 'refreshToken'],
181
+ ttl: accessTokenTTL,
182
+ useExternalTokenAsLocal
144
183
  });
145
- const { result: { token: idToken } } = yield this.tokenManager.create({
184
+ const { result: { token: idToken } } = yield tokenManager.create({
146
185
  accessToken,
147
186
  type: tokenManager_1.TokenType.Id,
148
187
  user,
149
- [iam_userManager_definitions_1.IAMUserManagerUserTokenUserIdentifier.FieldName]: userIdentifierValue
188
+ [iam_authenticationManager_definitions_1.IAMAuthenticationManagerUserTokenUserIdentifier.FieldName]: userIdentifierValue
150
189
  }, {
151
190
  expiresInMinutes: accessTokenExpiresIn,
152
- identifierDataField: iam_userManager_definitions_1.IAMUserManagerUserTokenUserIdentifier.FieldName,
191
+ identifierDataField: iam_authenticationManager_definitions_1.IAMAuthenticationManagerUserTokenUserIdentifier.FieldName,
153
192
  persist: true,
154
193
  purgeOldFromData: true,
155
- tokenContentOnlyFields: ['accessToken', 'user']
194
+ tokenContentOnlyFields: ['accessToken', 'user'],
195
+ ttl: accessTokenTTL
156
196
  });
157
- logger.info(`[Domain.${moduleName}.UserManager]: Login attempt successful for ${userFilterField} ${userFilterValue}.`);
197
+ logger.info(`[Domain.${moduleName}.AuthenticationManager][${authType}]: Login attempt successful for ${userFilterField} ${userFilterValue}.`);
158
198
  return { accessToken, idToken, refreshToken, user };
159
199
  }
160
200
  const returnData = { nextStepsRequired: true };
161
201
  if ((_a = stepConfig.stepResultPublicFields) === null || _a === void 0 ? void 0 : _a.length) {
162
202
  stepConfig.stepResultPublicFields.forEach(fieldName => {
163
- (0, core_1.setNested)(returnData, fieldName, (0, core_1.getNested)(stepResult, fieldName, { removeNestedFieldEscapeSign: true }).unifiedValue);
203
+ (0, core_1.setNested)(returnData, fieldName, (0, core_1.getNested)(stepResult, fieldName, { removeNestedFieldEscapeSign: true }).unifiedValue, { removeNestedFieldEscapeSign: true });
164
204
  });
165
205
  }
166
206
  return returnData;
@@ -168,39 +208,53 @@ class IAMUserManagerService {
168
208
  }
169
209
  executeStep(data, options) {
170
210
  return __awaiter(this, void 0, void 0, function* () {
171
- const { configProvider, domainUsersEntityService, logger, moduleName } = this;
211
+ const { configProvider, dataUsersAuthCacheService, domainUsersEntityService, logger, moduleName } = this;
172
212
  const { defaultUserIdentifierField } = configProvider.config.domain[moduleName];
173
- const _a = data.auth, { type: _authType } = _a, authData = __rest(_a, ["type"]), { filters: userFilters, mainFilterField } = data;
213
+ const _a = data.auth, { type: authType } = _a, authData = __rest(_a, ["type"]), { filters: userFilters, mainFilterField } = data;
174
214
  const { authService, stepConfig, name: stepName } = options;
175
215
  const { cache: cacheSettings, findUser, findUserBeforeAuth, validWithoutUser } = stepConfig;
176
216
  const hasFilters = userFilters && Object.keys(userFilters).length;
217
+ const logPrefix = `[Domain.${moduleName}.AuthenticationManager][executeStep][${authType}][${stepName}]`;
177
218
  const stepInputData = { data: lodash_1.default.cloneDeep(authData) };
219
+ let runFindUserInExternalTokenPayloads = false;
178
220
  let user = null;
179
221
  let userFilterField;
180
222
  let userFilterValue;
181
223
  if (findUser && findUserBeforeAuth) {
182
224
  if (!hasFilters) {
183
- logger.info(`[Domain.${moduleName}.UserManager]: No filters provided for findUserBeforeToken=true.`);
225
+ logger.info(`${logPrefix}[Part 1]: No filters provided for findUserBeforeToken=true.`);
184
226
  throw new core_1.ApplicationError('Authentication failed.');
185
227
  }
186
228
  userFilterField = mainFilterField;
187
229
  userFilterValue = userFilters[userFilterField];
188
230
  user = yield this.getUserForStepExecution({ filters: userFilters, mainFilterField: userFilterField });
189
231
  if (!user) {
190
- logger.info(`[Domain.${moduleName}.UserManager]: Login attempt failed for ${userFilterField} ${userFilterValue} - user not found.`);
232
+ logger.info(`${logPrefix}[Part 1]: Login attempt failed for ${userFilterField} ${userFilterValue} - user not found.`);
191
233
  throw new core_1.ApplicationError('Authentication failed.');
192
234
  }
193
235
  }
194
- stepInputData.options = {
195
- context: user || {},
196
- contextIdentifierField: defaultUserIdentifierField
197
- };
236
+ if (user) {
237
+ stepInputData.options = {
238
+ context: user,
239
+ contextIdentifierField: defaultUserIdentifierField
240
+ };
241
+ }
242
+ else if (userFilters) {
243
+ stepInputData.options = {
244
+ context: userFilters,
245
+ contextIdentifierField: mainFilterField
246
+ };
247
+ }
198
248
  if (cacheSettings && 'use' in cacheSettings && cacheSettings.use) {
249
+ if (!dataUsersAuthCacheService) {
250
+ logger.info(`${logPrefix}[Part 2]: dataUsersAuthCacheService not configured.`);
251
+ throw new core_1.ApplicationError('Authentication failed.');
252
+ }
199
253
  const cacheInput = {
200
254
  data: stepInputData.data,
201
255
  options: stepInputData.options
202
256
  };
203
- const cacheResult = yield this.tokenManager.domainTokensEntityService.findOne({
257
+ const cacheResult = yield dataUsersAuthCacheService.findOne({
204
258
  filters: {
205
259
  [cacheSettings.settings.cacheFieldName]: (0, core_1.getNested)(cacheInput, cacheSettings.settings.inputFieldName)
206
260
  .unifiedValue
@@ -223,8 +277,9 @@ class IAMUserManagerService {
223
277
  }
224
278
  }
225
279
  let stepResult = yield authService[stepName](stepInputData.data, stepInputData.options);
226
- if (!stepResult.valid || (stepResult.mfaUsed && !stepResult.mfaValid)) {
227
- logger.info(`[Domain.${moduleName}.UserManager]: Bad step result:`, stepResult);
280
+ if ((!stepResult.valid && !stepResult.nextStepsRequired) ||
281
+ (stepResult.mfaUsed && !stepResult.mfaValid)) {
282
+ logger.info(`${logPrefix}[Part 4]: Bad step result:`, stepResult);
228
283
  throw new core_1.ApplicationError('Authentication failed.');
229
284
  }
230
285
  if ('decodeReturnedTokens' in stepConfig && stepConfig.decodeReturnedTokens) {
@@ -257,6 +312,9 @@ class IAMUserManagerService {
257
312
  });
258
313
  }
259
314
  }
315
+ else if ('findUserInExternalTokenPayloads' in stepConfig && stepConfig.findUserInExternalTokenPayloads) {
316
+ runFindUserInExternalTokenPayloads = true;
317
+ }
260
318
  else if (hasFilters) {
261
319
  userFilterField = mainFilterField;
262
320
  userFilterValue = userFilters[userFilterField];
@@ -266,25 +324,37 @@ class IAMUserManagerService {
266
324
  });
267
325
  }
268
326
  }
269
- if (!user && 'createUser' in stepConfig && stepConfig.createUser) {
327
+ const createUser = 'createUser' in stepConfig && stepConfig.createUser;
328
+ if (!user && (createUser || runFindUserInExternalTokenPayloads)) {
270
329
  const userData = yield authService.getUserDataFromExternalTokenPayloads(stepResult);
271
- if (userData) {
330
+ if (createUser && userData) {
331
+ if (!domainUsersEntityService) {
332
+ logger.info(`${logPrefix}[Part 7]: domainUsersEntityService not configured.`);
333
+ throw new core_1.ApplicationError('Authentication failed.');
334
+ }
272
335
  const { result: createdUser } = yield domainUsersEntityService.create(userData);
273
- user = yield this.getUserWithPermissionsData({
336
+ user = yield domainUsersEntityService.getUserWithPermissionsData({
274
337
  filters: {
275
338
  [defaultUserIdentifierField]: createdUser[defaultUserIdentifierField]
276
339
  }
277
340
  }, { keepPassword: false });
278
341
  }
342
+ else if (runFindUserInExternalTokenPayloads) {
343
+ user = userData;
344
+ }
279
345
  }
280
346
  if (validWithoutUser !== true && !user) {
281
- logger.info(`[Domain.${moduleName}.UserManager]: Login attempt failed ${userFilterField && userFilterValue ? `for ${userFilterField} ${userFilterValue} ` : ''}- user not found.`);
347
+ logger.info(`${logPrefix}[Part 7]: Login attempt failed ${userFilterField && userFilterValue ? `for ${userFilterField} ${userFilterValue} ` : ''}- user not found.`);
282
348
  throw new core_1.ApplicationError('Authentication failed.');
283
349
  }
284
350
  if (user && 'password' in user) {
285
351
  delete user.password;
286
352
  }
287
- if (stepResult.mfaUsed && cacheSettings && 'populate' in cacheSettings && cacheSettings.populate) {
353
+ if (cacheSettings && 'populate' in cacheSettings && cacheSettings.populate) {
354
+ if (!dataUsersAuthCacheService) {
355
+ logger.info(`${logPrefix}[Part 7]: dataUsersAuthCacheService not configured.`);
356
+ throw new core_1.ApplicationError('Authentication failed.');
357
+ }
288
358
  const cacheInput = {
289
359
  data: stepInputData.data,
290
360
  options: stepInputData.options,
@@ -304,7 +374,7 @@ class IAMUserManagerService {
304
374
  }
305
375
  cacheData[inputName] = cacheInput[inputName];
306
376
  }
307
- yield this.dataUsersAuthCacheService.create(Object.assign(Object.assign({}, cacheData), { [cacheSettings.settings.cacheFieldName]: (0, core_1.getNested)(cacheInput, cacheSettings.settings.inputFieldName)
377
+ yield dataUsersAuthCacheService.create(Object.assign(Object.assign({}, cacheData), { [cacheSettings.settings.cacheFieldName]: (0, core_1.getNested)(cacheInput, cacheSettings.settings.inputFieldName)
308
378
  .unifiedValue }));
309
379
  }
310
380
  return { stepResult, user, userFilterField, userFilterValue };
@@ -312,13 +382,16 @@ class IAMUserManagerService {
312
382
  }
313
383
  getUserForStepExecution(options) {
314
384
  return __awaiter(this, void 0, void 0, function* () {
315
- const { configProvider, moduleName } = this;
385
+ const { configProvider, domainUsersEntityService, moduleName } = this;
386
+ if (!domainUsersEntityService) {
387
+ throw new core_1.ApplicationError(`[${moduleName}][AuthenticationManager] domainUsersEntityService not configured.`);
388
+ }
316
389
  const { defaultUserIdentifierField } = configProvider.config.domain[moduleName];
317
390
  const { mainFilterField } = options;
318
391
  let filters = options.filters;
319
392
  let user = null;
320
393
  if (mainFilterField !== defaultUserIdentifierField) {
321
- const mainFilterFieldResult = yield this.domainUsersEntityService.findOne({ filters });
394
+ const mainFilterFieldResult = yield domainUsersEntityService.findOne({ filters });
322
395
  if (!mainFilterFieldResult.result) {
323
396
  return null;
324
397
  }
@@ -329,15 +402,10 @@ class IAMUserManagerService {
329
402
  else {
330
403
  filters = options.filters;
331
404
  }
332
- user = yield this.getUserWithPermissionsData({ filters }, { keepPassword: true });
405
+ user = yield domainUsersEntityService.getUserWithPermissionsData({ filters }, { keepPassword: true });
333
406
  return user;
334
407
  });
335
408
  }
336
- getUserWithPermissionsData(_options, _privateOptions) {
337
- return __awaiter(this, void 0, void 0, function* () {
338
- throw new core_1.ApplicationError(`Method ${this.moduleName}.IAMUserManagerService.getUserWithPermissionsData not implemented.`);
339
- });
340
- }
341
409
  }
342
- exports.IAMUserManagerService = IAMUserManagerService;
343
- //# sourceMappingURL=iam.userManager.service.js.map
410
+ exports.IAMAuthenticationManagerService = IAMAuthenticationManagerService;
411
+ //# sourceMappingURL=iam.authenticationManager.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.authenticationManager.service.js","sourceRoot":"","sources":["../../../src/services/authenticationManager/iam.authenticationManager.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './iam.authenticationManager.definitions';
2
+ export * from './iam.authenticationManager.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.authenticationManager.definitions"), exports);
18
+ __exportStar(require("./iam.authenticationManager.service"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/authenticationManager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwD;AACxD,sEAAoD"}
@@ -1,4 +1,4 @@
1
- import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetPayloadsFromExternalTokensData, IAMAuthenticationGetPayloadsFromExternalTokensResult, IAMAuthenticationGetUserCreateAccessTokenConfigResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult, IAMAuthenticationVerifyExternalAccessTokenData, IAMAuthenticationVerifyExternalAccessTokenResult } from '../authentication';
1
+ import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetPayloadsFromExternalTokensData, IAMAuthenticationGetPayloadsFromExternalTokensResult, IAMAuthenticationGetUserAuthenticationConfigResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult, IAMAuthenticationVerifyExternalAccessTokenData, IAMAuthenticationVerifyExternalAccessTokenResult } from '../authentication';
2
2
  export interface IAMAuthenticationOAuth2AccessTokenProviderResponseData {
3
3
  access_token: string;
4
4
  expires_in?: number;
@@ -10,6 +10,7 @@ export interface IAMAuthenticationOAuth2AccessTokenProviderResponseData {
10
10
  export interface IAMAuthenticationOAuth2CompleteData extends IAMAuthenticationCompleteData {
11
11
  code: string;
12
12
  codeVerifier: string;
13
+ redirectUri?: string;
13
14
  state: string;
14
15
  }
15
16
  export type IAMAuthenticationOAuth2CompleteOptions<Context extends object> = IAMAuthenticationCompleteOptions<Context>;
@@ -19,8 +20,9 @@ export interface IAMAuthenticationOAuth2CompleteResult extends IAMAuthentication
19
20
  }
20
21
  export type IAMAuthenticationOAuth2GetPayloadsFromExternalTokensData = IAMAuthenticationGetPayloadsFromExternalTokensData;
21
22
  export type IAMAuthenticationOAuth2GetPayloadsFromExternalTokensResult = IAMAuthenticationGetPayloadsFromExternalTokensResult;
22
- export type IAMAuthenticationOAuth2GetUserCreateAccessTokenConfigResult = IAMAuthenticationGetUserCreateAccessTokenConfigResult;
23
+ export type IAMAuthenticationOAuth2GetUserAuthenticationConfigResult = IAMAuthenticationGetUserAuthenticationConfigResult;
23
24
  export interface IAMAuthenticationOAuth2InitiateData extends IAMAuthenticationInitiateData {
25
+ redirectUri?: string;
24
26
  scope?: string;
25
27
  }
26
28
  export interface IAMAuthenticationOAuth2InitiateOptions<Context extends object> extends IAMAuthenticationInitiateOptions<Context> {
@@ -33,6 +35,7 @@ export interface IAMAuthenticationOAuth2InitiateResult extends IAMAuthentication
33
35
  codeVerifier?: string;
34
36
  nonce?: string;
35
37
  state: string;
38
+ redirectUri: string;
36
39
  }
37
40
  export type IAMAuthenticationOAuth2VerifyExternalAccessTokenData = Pick<IAMAuthenticationVerifyExternalAccessTokenData, 'accessToken'>;
38
41
  export type IAMAuthenticationOAuth2VerifyExternalAccessTokenResult = Pick<IAMAuthenticationVerifyExternalAccessTokenResult, 'accessTokenPayload' | 'error'>;
@@ -1,25 +1,13 @@
1
1
  import { ConfigProviderService, LoggerService } from '@node-c/core';
2
- import { IAMAuthenticationOAuth2CompleteData, IAMAuthenticationOAuth2CompleteOptions, IAMAuthenticationOAuth2CompleteResult, IAMAuthenticationOAuth2GetPayloadsFromExternalTokensData, IAMAuthenticationOAuth2GetPayloadsFromExternalTokensResult, IAMAuthenticationOAuth2GetUserCreateAccessTokenConfigResult, IAMAuthenticationOAuth2InitiateData, IAMAuthenticationOAuth2InitiateOptions, IAMAuthenticationOAuth2InitiateResult, IAMAuthenticationOAuth2VerifyExternalAccessTokenData, IAMAuthenticationOAuth2VerifyExternalAccessTokenResult } from './iam.authenticationOAuth2.definitions';
2
+ import { IAMAuthenticationOAuth2CompleteData, IAMAuthenticationOAuth2CompleteOptions, IAMAuthenticationOAuth2CompleteResult, IAMAuthenticationOAuth2GetPayloadsFromExternalTokensData, IAMAuthenticationOAuth2GetPayloadsFromExternalTokensResult, IAMAuthenticationOAuth2GetUserAuthenticationConfigResult, IAMAuthenticationOAuth2InitiateData, IAMAuthenticationOAuth2InitiateOptions, IAMAuthenticationOAuth2InitiateResult, IAMAuthenticationOAuth2VerifyExternalAccessTokenData, IAMAuthenticationOAuth2VerifyExternalAccessTokenResult } from './iam.authenticationOAuth2.definitions';
3
3
  import { IAMAuthenticationService } from '../authentication';
4
4
  export declare class IAMAuthenticationOAuth2Service<CompleteContext extends object, InitiateContext extends object> extends IAMAuthenticationService<CompleteContext, InitiateContext> {
5
- protected configProvider: ConfigProviderService;
6
- protected logger: LoggerService;
7
- protected moduleName: string;
8
- protected serviceName: string;
9
5
  constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, serviceName: string);
10
6
  complete(data: IAMAuthenticationOAuth2CompleteData, _options: IAMAuthenticationOAuth2CompleteOptions<CompleteContext>): Promise<IAMAuthenticationOAuth2CompleteResult>;
11
7
  protected generateChallenge(codeVerifier: string): Promise<string>;
12
8
  protected generateUrlEncodedString(length: number): string;
13
9
  getPayloadsFromExternalTokens(data: IAMAuthenticationOAuth2GetPayloadsFromExternalTokensData): Promise<IAMAuthenticationOAuth2GetPayloadsFromExternalTokensResult>;
14
- getUserCreateAccessTokenConfig(): IAMAuthenticationOAuth2GetUserCreateAccessTokenConfigResult;
10
+ getUserAuthenticationConfig(): IAMAuthenticationOAuth2GetUserAuthenticationConfigResult;
15
11
  initiate(data: IAMAuthenticationOAuth2InitiateData, options: IAMAuthenticationOAuth2InitiateOptions<InitiateContext>): Promise<IAMAuthenticationOAuth2InitiateResult>;
16
12
  verifyExternalAccessToken(data: IAMAuthenticationOAuth2VerifyExternalAccessTokenData): Promise<IAMAuthenticationOAuth2VerifyExternalAccessTokenResult>;
17
- protected verifyToken<DecodedTokenContent = unknown>(token: string, options?: {
18
- audiences?: string[];
19
- issuer?: string;
20
- secret?: string;
21
- }): Promise<{
22
- content?: DecodedTokenContent;
23
- error?: unknown;
24
- }>;
25
13
  }