@node-c/domain-iam 1.0.0-alpha9 → 1.0.0-beta0
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.
- package/dist/common/definitions/common.constants.d.ts +6 -1
- package/dist/common/definitions/common.constants.js +5 -0
- package/dist/common/definitions/common.constants.js.map +1 -1
- package/dist/module/iam.module.js.map +1 -1
- package/dist/services/authentication/iam.authentication.definitions.d.ts +79 -16
- package/dist/services/authentication/iam.authentication.definitions.js +6 -9
- package/dist/services/authentication/iam.authentication.definitions.js.map +1 -1
- package/dist/services/authentication/iam.authentication.service.d.ts +10 -3
- package/dist/services/authentication/iam.authentication.service.js +30 -2
- package/dist/services/authentication/iam.authentication.service.js.map +1 -1
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.d.ts +38 -0
- package/dist/services/{authenticationLocal/iam.authenticationLocal.definitions.js → authenticationOAuth2/iam.authenticationOAuth2.definitions.js} +1 -1
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.js.map +1 -0
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.d.ts +24 -0
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js +299 -0
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js.map +1 -0
- package/dist/services/authenticationOAuth2/index.d.ts +2 -0
- package/dist/services/authenticationOAuth2/index.js +19 -0
- package/dist/services/authenticationOAuth2/index.js.map +1 -0
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.d.ts +12 -0
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.js +3 -0
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.js.map +1 -0
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.d.ts +14 -0
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js +141 -0
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js.map +1 -0
- package/dist/services/authenticationUserLocal/index.d.ts +2 -0
- package/dist/services/{authenticationLocal → authenticationUserLocal}/index.js +2 -2
- package/dist/services/authenticationUserLocal/index.js.map +1 -0
- package/dist/services/authorization/iam.authorization.definitions.d.ts +33 -23
- package/dist/services/authorization/iam.authorization.definitions.js +7 -0
- package/dist/services/authorization/iam.authorization.definitions.js.map +1 -1
- package/dist/services/authorization/iam.authorization.service.d.ts +28 -13
- package/dist/services/authorization/iam.authorization.service.js +231 -125
- package/dist/services/authorization/iam.authorization.service.js.map +1 -1
- package/dist/services/index.d.ts +4 -2
- package/dist/services/index.js +4 -2
- package/dist/services/index.js.map +1 -1
- package/dist/services/mfa/iam.mfa.definitions.d.ts +21 -0
- package/dist/services/mfa/iam.mfa.definitions.js +8 -0
- package/dist/services/mfa/iam.mfa.definitions.js.map +1 -0
- package/dist/services/mfa/iam.mfa.service.d.ts +9 -0
- package/dist/services/mfa/iam.mfa.service.js +31 -0
- package/dist/services/mfa/iam.mfa.service.js.map +1 -0
- package/dist/services/mfa/index.d.ts +2 -0
- package/dist/services/{users → mfa}/index.js +2 -2
- package/dist/services/mfa/index.js.map +1 -0
- package/dist/services/tokenManager/iam.tokenManager.definitions.d.ts +14 -3
- package/dist/services/tokenManager/iam.tokenManager.definitions.js.map +1 -1
- package/dist/services/tokenManager/iam.tokenManager.service.d.ts +23 -9
- package/dist/services/tokenManager/iam.tokenManager.service.js +111 -43
- package/dist/services/tokenManager/iam.tokenManager.service.js.map +1 -1
- package/dist/services/userManager/iam.userManager.definitions.d.ts +45 -0
- package/dist/services/userManager/iam.userManager.definitions.js +8 -0
- package/dist/services/userManager/iam.userManager.definitions.js.map +1 -0
- package/dist/services/userManager/iam.userManager.service.d.ts +32 -0
- package/dist/services/userManager/iam.userManager.service.js +331 -0
- package/dist/services/userManager/iam.userManager.service.js.map +1 -0
- package/dist/services/userManager/index.d.ts +2 -0
- package/dist/services/userManager/index.js +19 -0
- package/dist/services/userManager/index.js.map +1 -0
- package/package.json +9 -8
- package/src/common/definitions/common.constants.ts +14 -0
- package/src/common/definitions/index.ts +1 -0
- package/src/index.ts +3 -0
- package/src/module/iam.definitions.ts +15 -0
- package/src/module/iam.module.ts +29 -0
- package/src/module/index.ts +2 -0
- package/src/services/authentication/iam.authentication.definitions.ts +100 -0
- package/src/services/authentication/iam.authentication.service.ts +103 -0
- package/src/services/authentication/index.ts +2 -0
- package/src/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.ts +71 -0
- package/src/services/authenticationOAuth2/iam.authenticationOAuth2.service.ts +350 -0
- package/src/services/authenticationOAuth2/index.ts +2 -0
- package/src/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.ts +29 -0
- package/src/services/authenticationUserLocal/iam.authenticationUserLocal.service.ts +171 -0
- package/src/services/authenticationUserLocal/index.ts +2 -0
- package/src/services/authorization/iam.authorization.definitions.ts +55 -0
- package/src/services/authorization/iam.authorization.service.ts +384 -0
- package/src/services/authorization/index.ts +2 -0
- package/src/services/index.ts +7 -0
- package/src/services/mfa/iam.mfa.definitions.ts +28 -0
- package/src/services/mfa/iam.mfa.service.ts +38 -0
- package/src/services/mfa/index.ts +2 -0
- package/src/services/tokenManager/iam.tokenManager.definitions.ts +61 -0
- package/src/services/tokenManager/iam.tokenManager.service.ts +290 -0
- package/src/services/tokenManager/index.ts +2 -0
- package/src/services/userManager/iam.userManager.definitions.ts +73 -0
- package/src/services/userManager/iam.userManager.service.ts +461 -0
- package/src/services/userManager/index.ts +2 -0
- package/dist/services/authenticationLocal/iam.authenticationLocal.definitions.d.ts +0 -11
- package/dist/services/authenticationLocal/iam.authenticationLocal.definitions.js.map +0 -1
- package/dist/services/authenticationLocal/iam.authenticationLocal.service.d.ts +0 -10
- package/dist/services/authenticationLocal/iam.authenticationLocal.service.js +0 -70
- package/dist/services/authenticationLocal/iam.authenticationLocal.service.js.map +0 -1
- package/dist/services/authenticationLocal/index.d.ts +0 -2
- package/dist/services/authenticationLocal/index.js.map +0 -1
- package/dist/services/users/iam.users.definitions.d.ts +0 -30
- package/dist/services/users/iam.users.definitions.js +0 -8
- package/dist/services/users/iam.users.definitions.js.map +0 -1
- package/dist/services/users/iam.users.service.d.ts +0 -16
- package/dist/services/users/iam.users.service.js +0 -93
- package/dist/services/users/iam.users.service.js.map +0 -1
- package/dist/services/users/index.d.ts +0 -2
- package/dist/services/users/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.tokenManager.definitions.js","sourceRoot":"","sources":["../../../src/services/tokenManager/iam.tokenManager.definitions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"iam.tokenManager.definitions.js","sourceRoot":"","sources":["../../../src/services/tokenManager/iam.tokenManager.definitions.ts"],"names":[],"mappings":";;;AAkCA,IAAY,SAKX;AALD,WAAY,SAAS;IAEnB,8BAAiB,CAAA;IAEjB,gCAAmB,CAAA;AACrB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB"}
|
|
@@ -1,14 +1,28 @@
|
|
|
1
|
-
import { ConfigProviderService, DomainCreateResult, DomainEntityService
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { ConfigProviderService, DataEntityService, DomainCreateResult, DomainEntityService } from '@node-c/core';
|
|
2
|
+
import { TokenEntity, TokenManagerCreateData, TokenManagerCreateOptions, TokenManagerVerifyResult, VerifyAccessTokenOptions, VerifyAccessTokenReturnData } from './iam.tokenManager.definitions';
|
|
3
|
+
import { IAMAuthenticationService, IAMAuthenticationType } from '../authentication';
|
|
4
|
+
import { IAMAuthenticationOAuth2Service } from '../authenticationOAuth2';
|
|
5
|
+
import { IAMAuthenticationUserLocalService } from '../authenticationUserLocal';
|
|
6
|
+
export declare class IAMTokenManagerService<TokenEntityFields extends object> {
|
|
7
|
+
protected authServices: {
|
|
8
|
+
[IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service<object, object>;
|
|
9
|
+
[IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService<object, object>;
|
|
10
|
+
} & {
|
|
11
|
+
[serviceName: string]: IAMAuthenticationService<object, object>;
|
|
12
|
+
};
|
|
4
13
|
protected configProvider: ConfigProviderService;
|
|
14
|
+
protected domainTokensEntityService: DomainEntityService<TokenEntity<TokenEntityFields>, DataEntityService<TokenEntity<TokenEntityFields>>>;
|
|
5
15
|
protected moduleName: string;
|
|
6
|
-
|
|
7
|
-
|
|
16
|
+
constructor(authServices: {
|
|
17
|
+
[IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service<object, object>;
|
|
18
|
+
[IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService<object, object>;
|
|
19
|
+
} & {
|
|
20
|
+
[serviceName: string]: IAMAuthenticationService<object, object>;
|
|
21
|
+
}, configProvider: ConfigProviderService, domainTokensEntityService: DomainEntityService<TokenEntity<TokenEntityFields>, DataEntityService<TokenEntity<TokenEntityFields>>>, moduleName: string);
|
|
8
22
|
create(data: TokenManagerCreateData<TokenEntityFields>, options: TokenManagerCreateOptions): Promise<DomainCreateResult<TokenEntity<TokenEntityFields>>>;
|
|
9
23
|
verifyAccessToken(token: string, options?: VerifyAccessTokenOptions): Promise<VerifyAccessTokenReturnData<TokenEntityFields>>;
|
|
10
|
-
protected verify(token: string, secret: string
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
24
|
+
protected verify(token: string, secret: string, options?: {
|
|
25
|
+
forceVerifyExternal?: boolean;
|
|
26
|
+
verifyExternal?: boolean;
|
|
27
|
+
}): Promise<TokenManagerVerifyResult<TokenEntityFields>>;
|
|
14
28
|
}
|
|
@@ -52,28 +52,30 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
52
52
|
}
|
|
53
53
|
return t;
|
|
54
54
|
};
|
|
55
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
56
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
57
|
+
};
|
|
55
58
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
59
|
exports.IAMTokenManagerService = void 0;
|
|
57
60
|
const core_1 = require("@node-c/core");
|
|
58
|
-
const general_tools_1 = require("@ramster/general-tools");
|
|
59
61
|
const jwt = __importStar(require("jsonwebtoken"));
|
|
62
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
60
63
|
const iam_tokenManager_definitions_1 = require("./iam.tokenManager.definitions");
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
const definitions_1 = require("../../common/definitions");
|
|
65
|
+
const authentication_1 = require("../authentication");
|
|
66
|
+
class IAMTokenManagerService {
|
|
67
|
+
constructor(authServices, configProvider, domainTokensEntityService, moduleName) {
|
|
68
|
+
this.authServices = authServices;
|
|
64
69
|
this.configProvider = configProvider;
|
|
70
|
+
this.domainTokensEntityService = domainTokensEntityService;
|
|
65
71
|
this.moduleName = moduleName;
|
|
66
|
-
this.persistanceEntityService = persistanceEntityService;
|
|
67
72
|
}
|
|
68
73
|
create(data, options) {
|
|
69
|
-
const _super = Object.create(null, {
|
|
70
|
-
create: { get: () => super.create }
|
|
71
|
-
});
|
|
72
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
const { configProvider, moduleName,
|
|
75
|
+
const { configProvider, moduleName, domainTokensEntityService } = this;
|
|
74
76
|
const moduleConfig = configProvider.config.domain[moduleName];
|
|
75
77
|
const { type } = data, tokenData = __rest(data, ["type"]);
|
|
76
|
-
const { expiresInMinutes, identifierDataField, persist,
|
|
78
|
+
const { expiresInMinutes, identifierDataField, persist, purgeOldFromData, tokenContentOnlyFields } = options;
|
|
77
79
|
const signOptions = {};
|
|
78
80
|
let secret;
|
|
79
81
|
if (type === iam_tokenManager_definitions_1.TokenType.Access) {
|
|
@@ -108,85 +110,137 @@ class IAMTokenManagerService extends core_1.DomainEntityService {
|
|
|
108
110
|
});
|
|
109
111
|
});
|
|
110
112
|
const objectToSave = Object.assign(Object.assign({}, tokenData), { token, type });
|
|
111
|
-
if (
|
|
112
|
-
|
|
113
|
-
|
|
113
|
+
if (tokenContentOnlyFields === null || tokenContentOnlyFields === void 0 ? void 0 : tokenContentOnlyFields.length) {
|
|
114
|
+
tokenContentOnlyFields.forEach(fieldName => (0, core_1.setNested)(objectToSave, fieldName, undefined, { removeNestedFieldEscapeSign: true }));
|
|
115
|
+
}
|
|
116
|
+
if (persist) {
|
|
117
|
+
if (purgeOldFromData && identifierDataField) {
|
|
118
|
+
const identifierValue = lodash_1.default.get(data, identifierDataField);
|
|
114
119
|
if (typeof identifierValue !== 'undefined' && typeof identifierValue !== 'object') {
|
|
115
|
-
yield
|
|
116
|
-
filters: { [identifierDataField]: identifierValue }
|
|
117
|
-
});
|
|
120
|
+
yield domainTokensEntityService.delete({
|
|
121
|
+
filters: { [identifierDataField]: identifierValue, type }
|
|
122
|
+
}, { requirePrimaryKeys: true });
|
|
118
123
|
}
|
|
119
124
|
}
|
|
120
|
-
yield
|
|
125
|
+
yield domainTokensEntityService.create(objectToSave, { ttl: signOptions.expiresIn });
|
|
121
126
|
}
|
|
122
127
|
return { result: objectToSave };
|
|
123
128
|
});
|
|
124
129
|
}
|
|
125
130
|
verifyAccessToken(token, options) {
|
|
126
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
-
|
|
132
|
+
var _a;
|
|
133
|
+
const { configProvider, moduleName, domainTokensEntityService } = this;
|
|
128
134
|
const moduleConfig = configProvider.config.domain[moduleName];
|
|
129
135
|
const { deleteFromStoreIfExpired, identifierDataField, newTokenExpiresInMinutes, persistNewToken, purgeStoreOnRenew, refreshToken, refreshTokenAccessTokenIdentifierDataField } = options || {};
|
|
130
|
-
const { content, error } = yield this.verify(token, moduleConfig.jwtAccessSecret
|
|
131
|
-
|
|
136
|
+
const { content, error, externalTokenData } = yield this.verify(token, moduleConfig.jwtAccessSecret, {
|
|
137
|
+
verifyExternal: true
|
|
138
|
+
});
|
|
139
|
+
const externalAccessTokenExpired = !!(externalTokenData === null || externalTokenData === void 0 ? void 0 : externalTokenData.error);
|
|
140
|
+
const internalAccessTokenExpired = error === definitions_1.Constants.TOKEN_EXPIRED_ERROR;
|
|
141
|
+
let errorMessageToLog;
|
|
142
|
+
let externalRenewEnabled = false;
|
|
132
143
|
let newToken;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
144
|
+
let refreshTokenContent;
|
|
145
|
+
let renewEnabled = false;
|
|
146
|
+
let throwError = true;
|
|
147
|
+
if (internalAccessTokenExpired || externalAccessTokenExpired) {
|
|
148
|
+
if (identifierDataField && (content === null || content === void 0 ? void 0 : content.data)) {
|
|
137
149
|
if (refreshToken && refreshTokenAccessTokenIdentifierDataField) {
|
|
138
|
-
const { content:
|
|
139
|
-
|
|
140
|
-
errorToThrow = refreshTokenError;
|
|
141
|
-
}
|
|
150
|
+
const { content: rtc, error: refreshTokenError } = yield this.verify(refreshToken, moduleConfig.jwtRefreshSecret);
|
|
151
|
+
refreshTokenContent = rtc;
|
|
142
152
|
if (!refreshTokenContent) {
|
|
143
|
-
|
|
153
|
+
errorMessageToLog = '[IAMTokenManagerService.verifyAccessToken]: Empty internal refresh token.';
|
|
154
|
+
}
|
|
155
|
+
else if (refreshTokenError) {
|
|
156
|
+
errorMessageToLog = refreshTokenError;
|
|
157
|
+
if (deleteFromStoreIfExpired && refreshTokenContent.data) {
|
|
158
|
+
const identifierValue = lodash_1.default.get(refreshTokenContent.data, refreshTokenAccessTokenIdentifierDataField);
|
|
159
|
+
if (typeof identifierValue !== 'undefined' && typeof identifierValue !== 'object') {
|
|
160
|
+
yield domainTokensEntityService.delete({
|
|
161
|
+
filters: { [refreshTokenAccessTokenIdentifierDataField]: identifierValue, token: refreshToken }
|
|
162
|
+
}, { requirePrimaryKeys: true });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
144
165
|
}
|
|
145
166
|
else {
|
|
146
|
-
const refreshTokenCheckValue =
|
|
167
|
+
const refreshTokenCheckValue = lodash_1.default.get(content.data, refreshTokenAccessTokenIdentifierDataField);
|
|
147
168
|
if (refreshTokenCheckValue !== refreshToken) {
|
|
148
|
-
|
|
169
|
+
errorMessageToLog = '[IAMTokenManagerService.verifyAccessToken]: Mismatched internal refresh token.';
|
|
149
170
|
}
|
|
150
171
|
else {
|
|
151
|
-
|
|
172
|
+
renewEnabled = true;
|
|
152
173
|
throwError = false;
|
|
153
174
|
}
|
|
154
175
|
}
|
|
176
|
+
if (externalAccessTokenExpired) {
|
|
177
|
+
if ((_a = refreshTokenContent === null || refreshTokenContent === void 0 ? void 0 : refreshTokenContent.data) === null || _a === void 0 ? void 0 : _a.externalToken) {
|
|
178
|
+
externalRenewEnabled = true;
|
|
179
|
+
renewEnabled = true;
|
|
180
|
+
throwError = false;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
errorMessageToLog = '[IAMTokenManagerService.verifyAccessToken]: Missing external refresh token.';
|
|
184
|
+
}
|
|
185
|
+
}
|
|
155
186
|
}
|
|
156
187
|
else {
|
|
188
|
+
errorMessageToLog =
|
|
189
|
+
'[IAMTokenManagerService.verifyAccessToken]: Access token expired & no refresh token data present or configured.';
|
|
157
190
|
if (deleteFromStoreIfExpired) {
|
|
158
|
-
const identifierValue =
|
|
191
|
+
const identifierValue = lodash_1.default.get(content.data, identifierDataField);
|
|
159
192
|
if (typeof identifierValue !== 'undefined' && typeof identifierValue !== 'object') {
|
|
160
|
-
yield
|
|
161
|
-
filters: { [identifierDataField]: identifierValue }
|
|
162
|
-
});
|
|
193
|
+
yield domainTokensEntityService.delete({
|
|
194
|
+
filters: { [identifierDataField]: identifierValue, token }
|
|
195
|
+
}, { requirePrimaryKeys: true });
|
|
163
196
|
}
|
|
164
197
|
}
|
|
165
|
-
errorToThrow = new core_1.ApplicationError('Expired access token.');
|
|
166
198
|
}
|
|
167
199
|
}
|
|
168
|
-
|
|
169
|
-
|
|
200
|
+
else {
|
|
201
|
+
errorMessageToLog = '[IAMTokenManagerService.verify]: Internal access token expired.';
|
|
170
202
|
}
|
|
171
203
|
}
|
|
172
|
-
|
|
204
|
+
else {
|
|
205
|
+
throwError = false;
|
|
206
|
+
}
|
|
207
|
+
if (throwError) {
|
|
208
|
+
console.error(errorMessageToLog);
|
|
209
|
+
throw new core_1.ApplicationError('Expired access token.');
|
|
210
|
+
}
|
|
211
|
+
if ((content === null || content === void 0 ? void 0 : content.data) && renewEnabled) {
|
|
173
212
|
const tokenData = Object.assign(Object.assign({}, content.data), { type: iam_tokenManager_definitions_1.TokenType.Access });
|
|
174
213
|
if (refreshToken && refreshTokenAccessTokenIdentifierDataField) {
|
|
175
214
|
tokenData[refreshTokenAccessTokenIdentifierDataField] = refreshToken;
|
|
176
215
|
}
|
|
216
|
+
if (externalRenewEnabled) {
|
|
217
|
+
const externalAccessTokenRenewalResult = yield this.authServices[refreshTokenContent.data.externalTokenAuthService].refreshExternalAccessToken({
|
|
218
|
+
accessToken: content.data.externalToken,
|
|
219
|
+
refreshToken: refreshTokenContent.data.externalToken
|
|
220
|
+
});
|
|
221
|
+
if (externalAccessTokenRenewalResult.error) {
|
|
222
|
+
console.error(errorMessageToLog);
|
|
223
|
+
throw new core_1.ApplicationError('Expired access token.');
|
|
224
|
+
}
|
|
225
|
+
tokenData.externalToken = externalAccessTokenRenewalResult.newAccessToken;
|
|
226
|
+
}
|
|
177
227
|
const { result } = yield this.create(tokenData, {
|
|
178
228
|
expiresInMinutes: newTokenExpiresInMinutes,
|
|
179
229
|
identifierDataField,
|
|
180
230
|
persist: persistNewToken,
|
|
181
|
-
|
|
231
|
+
purgeOldFromData: purgeStoreOnRenew
|
|
182
232
|
});
|
|
183
233
|
newToken = result.token;
|
|
184
234
|
}
|
|
185
235
|
return { content, newToken };
|
|
186
236
|
});
|
|
187
237
|
}
|
|
188
|
-
verify(token, secret) {
|
|
238
|
+
verify(token, secret, options) {
|
|
189
239
|
return __awaiter(this, void 0, void 0, function* () {
|
|
240
|
+
var _a, _b;
|
|
241
|
+
const { configProvider, moduleName } = this;
|
|
242
|
+
const moduleConfig = configProvider.config.domain[moduleName];
|
|
243
|
+
const { forceVerifyExternal, verifyExternal } = options || {};
|
|
190
244
|
const data = yield new Promise(resolve => {
|
|
191
245
|
jwt.verify(token, secret, (err, decoded) => {
|
|
192
246
|
if (err) {
|
|
@@ -195,7 +249,21 @@ class IAMTokenManagerService extends core_1.DomainEntityService {
|
|
|
195
249
|
resolve({ content: decoded });
|
|
196
250
|
});
|
|
197
251
|
});
|
|
198
|
-
|
|
252
|
+
const returnData = Object.assign({}, data);
|
|
253
|
+
const tokenPayload = (_a = data.content) === null || _a === void 0 ? void 0 : _a.data;
|
|
254
|
+
if (verifyExternal && (tokenPayload === null || tokenPayload === void 0 ? void 0 : tokenPayload.externalToken) && (tokenPayload === null || tokenPayload === void 0 ? void 0 : tokenPayload.externalTokenAuthService)) {
|
|
255
|
+
const authServiceConfig = (_b = moduleConfig.authServiceSettings) === null || _b === void 0 ? void 0 : _b[tokenPayload === null || tokenPayload === void 0 ? void 0 : tokenPayload.externalTokenAuthService];
|
|
256
|
+
if ((authServiceConfig === null || authServiceConfig === void 0 ? void 0 : authServiceConfig.processExternalTokensOnVerify) || forceVerifyExternal) {
|
|
257
|
+
const authService = this.authServices[tokenPayload === null || tokenPayload === void 0 ? void 0 : tokenPayload.externalTokenAuthService];
|
|
258
|
+
if (!authService) {
|
|
259
|
+
throw new core_1.ApplicationError(`[IAMTokenManagerService.verify]: Auth service ${tokenPayload === null || tokenPayload === void 0 ? void 0 : tokenPayload.externalTokenAuthService} not configured.`);
|
|
260
|
+
}
|
|
261
|
+
returnData.externalTokenData = yield authService.verifyExternalAccessToken({
|
|
262
|
+
accessToken: tokenPayload === null || tokenPayload === void 0 ? void 0 : tokenPayload.externalToken
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
return returnData;
|
|
199
267
|
});
|
|
200
268
|
}
|
|
201
269
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.tokenManager.service.js","sourceRoot":"","sources":["../../../src/services/tokenManager/iam.tokenManager.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"iam.tokenManager.service.js","sourceRoot":"","sources":["../../../src/services/tokenManager/iam.tokenManager.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings, AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings, AppConfigDomainIAMAuthenticationStep, DomainFindOnePrivateOptions, GenericObject } from '@node-c/core';
|
|
2
|
+
import { IAMAuthenticationCompleteResult, IAMAuthenticationInitiateResult, IAMAuthenticationService, IAMAuthenticationType } from '../authentication';
|
|
3
|
+
import { AuthorizationUser } from '../authorization';
|
|
4
|
+
import { IAMMFAType } from '../mfa';
|
|
5
|
+
export interface IAMUserManagerCreateAccessTokenOptions<AuthData = unknown> {
|
|
6
|
+
auth: {
|
|
7
|
+
mfaType?: IAMMFAType;
|
|
8
|
+
type: IAMAuthenticationType | string;
|
|
9
|
+
} & AuthData;
|
|
10
|
+
filters?: GenericObject;
|
|
11
|
+
mainFilterField: string;
|
|
12
|
+
rememberUser?: boolean;
|
|
13
|
+
step?: AppConfigDomainIAMAuthenticationStep;
|
|
14
|
+
}
|
|
15
|
+
export type IAMUserManagerCreateAccessTokenReturnData<UserData> = {
|
|
16
|
+
accessToken: string;
|
|
17
|
+
refreshToken?: string;
|
|
18
|
+
user: UserData;
|
|
19
|
+
} | {
|
|
20
|
+
nextStepsRequired: boolean;
|
|
21
|
+
};
|
|
22
|
+
export type IAMUserManagerExecuteStepData<AuthData = unknown> = Omit<IAMUserManagerCreateAccessTokenOptions<AuthData>, 'rememberUser' | 'step'>;
|
|
23
|
+
export interface IAMUserManagerExecuteStepOptions<User extends object> {
|
|
24
|
+
authService: IAMAuthenticationService<User, User>;
|
|
25
|
+
name: AppConfigDomainIAMAuthenticationStep;
|
|
26
|
+
stepConfig: AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings | AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings;
|
|
27
|
+
}
|
|
28
|
+
export interface IAMUserManagerExecuteStepResult<User extends object> {
|
|
29
|
+
stepResult: IAMAuthenticationCompleteResult | IAMAuthenticationInitiateResult;
|
|
30
|
+
user: IAMUserManagerUserWithPermissionsData<User, unknown> | null;
|
|
31
|
+
userFilterField?: string | undefined;
|
|
32
|
+
userFilterValue?: unknown | undefined;
|
|
33
|
+
}
|
|
34
|
+
export interface IAMUserManagerGetUserWithPermissionsDataOptions extends DomainFindOnePrivateOptions {
|
|
35
|
+
keepPassword?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export type IAMUserManagerUserWithPermissionsData<UserData, AuthorizationPointId> = AuthorizationUser<AuthorizationPointId> & UserData;
|
|
38
|
+
export interface IAMUserManagerUserTokenEnityFields<UserId = unknown> {
|
|
39
|
+
refreshToken?: string;
|
|
40
|
+
userId: UserId;
|
|
41
|
+
user?: IAMUserManagerUserWithPermissionsData<object, unknown>;
|
|
42
|
+
}
|
|
43
|
+
export declare enum IAMUserManagerUserTokenUserIdentifier {
|
|
44
|
+
FieldName = "userId"
|
|
45
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IAMUserManagerUserTokenUserIdentifier = void 0;
|
|
4
|
+
var IAMUserManagerUserTokenUserIdentifier;
|
|
5
|
+
(function (IAMUserManagerUserTokenUserIdentifier) {
|
|
6
|
+
IAMUserManagerUserTokenUserIdentifier["FieldName"] = "userId";
|
|
7
|
+
})(IAMUserManagerUserTokenUserIdentifier || (exports.IAMUserManagerUserTokenUserIdentifier = IAMUserManagerUserTokenUserIdentifier = {}));
|
|
8
|
+
//# sourceMappingURL=iam.userManager.definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iam.userManager.definitions.js","sourceRoot":"","sources":["../../../src/services/userManager/iam.userManager.definitions.ts"],"names":[],"mappings":";;;AAqEA,IAAY,qCAGX;AAHD,WAAY,qCAAqC;IAE/C,6DAAoB,CAAA;AACtB,CAAC,EAHW,qCAAqC,qDAArC,qCAAqC,QAGhD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ConfigProviderService, DataDefaultData, DataEntityService, DataFindOneOptions, DomainEntityService, DomainEntityServiceDefaultData, GenericObject } from '@node-c/core';
|
|
2
|
+
import { IAMUserManagerCreateAccessTokenOptions, IAMUserManagerCreateAccessTokenReturnData, IAMUserManagerGetUserWithPermissionsDataOptions, IAMUserManagerUserTokenEnityFields, IAMUserManagerUserWithPermissionsData } from './iam.userManager.definitions';
|
|
3
|
+
import { IAMAuthenticationService, IAMAuthenticationType } from '../authentication';
|
|
4
|
+
import { IAMAuthenticationOAuth2Service } from '../authenticationOAuth2';
|
|
5
|
+
import { IAMAuthenticationUserLocalService } from '../authenticationUserLocal';
|
|
6
|
+
import { IAMTokenManagerService } from '../tokenManager';
|
|
7
|
+
export declare class IAMUserManagerService<User extends object, Data extends DomainEntityServiceDefaultData<Partial<User>> = DomainEntityServiceDefaultData<Partial<User>>, DataEntityServiceData extends DataDefaultData<Partial<User>> = DataDefaultData<Partial<User>>> {
|
|
8
|
+
protected authServices: {
|
|
9
|
+
[IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service<object, object>;
|
|
10
|
+
[IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService<object, object>;
|
|
11
|
+
} & {
|
|
12
|
+
[serviceName: string]: IAMAuthenticationService<object, object>;
|
|
13
|
+
};
|
|
14
|
+
protected configProvider: ConfigProviderService;
|
|
15
|
+
protected dataUsersAuthCacheService: DataEntityService<GenericObject>;
|
|
16
|
+
protected domainUsersEntityService: DomainEntityService<User, DataEntityService<User, DataEntityServiceData>, Data, Record<string, DataEntityService<Partial<User>, DataDefaultData<object>>> | undefined>;
|
|
17
|
+
protected moduleName: string;
|
|
18
|
+
protected tokenManager: IAMTokenManagerService<IAMUserManagerUserTokenEnityFields>;
|
|
19
|
+
constructor(authServices: {
|
|
20
|
+
[IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service<object, object>;
|
|
21
|
+
[IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService<object, object>;
|
|
22
|
+
} & {
|
|
23
|
+
[serviceName: string]: IAMAuthenticationService<object, object>;
|
|
24
|
+
}, configProvider: ConfigProviderService, dataUsersAuthCacheService: DataEntityService<GenericObject>, domainUsersEntityService: DomainEntityService<User, DataEntityService<User, DataEntityServiceData>, Data, Record<string, DataEntityService<Partial<User>, DataDefaultData<object>>> | undefined>, moduleName: string, tokenManager: IAMTokenManagerService<IAMUserManagerUserTokenEnityFields>);
|
|
25
|
+
createAccessToken<AuthData = unknown>(options: IAMUserManagerCreateAccessTokenOptions<AuthData>): Promise<IAMUserManagerCreateAccessTokenReturnData<User>>;
|
|
26
|
+
private executeStep;
|
|
27
|
+
protected getUserForStepExecution(options: {
|
|
28
|
+
filters: GenericObject;
|
|
29
|
+
mainFilterField: string;
|
|
30
|
+
}): Promise<IAMUserManagerUserWithPermissionsData<User, unknown> | null>;
|
|
31
|
+
getUserWithPermissionsData(_options: DataFindOneOptions, _privateOptions?: IAMUserManagerGetUserWithPermissionsDataOptions): Promise<IAMUserManagerUserWithPermissionsData<User, unknown> | null>;
|
|
32
|
+
}
|