@node-c/domain-iam 1.0.0-beta7 → 1.0.0-beta8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/definitions/common.constants.d.ts +13 -9
- package/dist/common/definitions/common.constants.js +13 -10
- package/dist/common/definitions/common.constants.js.map +1 -1
- package/dist/services/authentication/iam.authentication.definitions.d.ts +11 -2
- package/dist/services/authentication/iam.authentication.definitions.js +1 -1
- package/dist/services/authentication/iam.authentication.service.d.ts +9 -4
- package/dist/services/authentication/iam.authentication.service.js +95 -4
- package/dist/services/authentication/iam.authentication.service.js.map +1 -1
- package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.d.ts +15 -0
- package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.js +3 -0
- package/dist/services/authenticationConsumer/iam.authenticationConsumer.definitions.js.map +1 -0
- package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.d.ts +12 -0
- package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.js +135 -0
- package/dist/services/authenticationConsumer/iam.authenticationConsumer.service.js.map +1 -0
- package/dist/services/authenticationConsumer/index.d.ts +2 -0
- package/dist/services/authenticationConsumer/index.js +19 -0
- package/dist/services/authenticationConsumer/index.js.map +1 -0
- package/dist/services/{userManager/iam.userManager.definitions.d.ts → authenticationManager/iam.authenticationManager.definitions.d.ts} +11 -15
- package/dist/services/authenticationManager/iam.authenticationManager.definitions.js +8 -0
- package/dist/services/authenticationManager/iam.authenticationManager.definitions.js.map +1 -0
- package/dist/services/authenticationManager/iam.authenticationManager.service.d.ts +33 -0
- package/dist/services/{userManager/iam.userManager.service.js → authenticationManager/iam.authenticationManager.service.js} +140 -72
- package/dist/services/authenticationManager/iam.authenticationManager.service.js.map +1 -0
- package/dist/services/authenticationManager/index.d.ts +2 -0
- package/dist/services/authenticationManager/index.js +19 -0
- package/dist/services/authenticationManager/index.js.map +1 -0
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.d.ts +5 -2
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.d.ts +2 -14
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js +53 -95
- package/dist/services/authenticationOAuth2/iam.authenticationOAuth2.service.js.map +1 -1
- package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.d.ts +19 -0
- package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.js +3 -0
- package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.js.map +1 -0
- package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.d.ts +11 -0
- package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.js +69 -0
- package/dist/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.js.map +1 -0
- package/dist/services/authenticationOAuth2Consumer/index.d.ts +2 -0
- package/dist/services/authenticationOAuth2Consumer/index.js +19 -0
- package/dist/services/authenticationOAuth2Consumer/index.js.map +1 -0
- package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.d.ts +14 -0
- package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.js +3 -0
- package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.js.map +1 -0
- package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.d.ts +9 -0
- package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.js +70 -0
- package/dist/services/authenticationPassthrough/iam.authenticationPassthrough.service.js.map +1 -0
- package/dist/services/authenticationPassthrough/index.d.ts +2 -0
- package/dist/services/authenticationPassthrough/index.js +19 -0
- package/dist/services/authenticationPassthrough/index.js.map +1 -0
- package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.d.ts +18 -0
- package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.js +3 -0
- package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.js.map +1 -0
- package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.d.ts +10 -0
- package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.js +68 -0
- package/dist/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.js.map +1 -0
- package/dist/services/authenticationPassthroughConsumer/index.d.ts +2 -0
- package/dist/services/authenticationPassthroughConsumer/index.js +19 -0
- package/dist/services/authenticationPassthroughConsumer/index.js.map +1 -0
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.d.ts +2 -2
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.d.ts +2 -6
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js +4 -8
- package/dist/services/authenticationUserLocal/iam.authenticationUserLocal.service.js.map +1 -1
- package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.d.ts +8 -0
- package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.js +3 -0
- package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.js.map +1 -0
- package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.d.ts +8 -0
- package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.js +36 -0
- package/dist/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.js.map +1 -0
- package/dist/services/authenticationUserLocalConsumer/index.d.ts +2 -0
- package/dist/services/authenticationUserLocalConsumer/index.js +19 -0
- package/dist/services/authenticationUserLocalConsumer/index.js.map +1 -0
- package/dist/services/authorization/iam.authorization.definitions.d.ts +24 -24
- package/dist/services/authorization/iam.authorization.definitions.js +7 -7
- package/dist/services/authorization/iam.authorization.definitions.js.map +1 -1
- package/dist/services/authorization/iam.authorization.service.d.ts +8 -11
- package/dist/services/authorization/iam.authorization.service.js +26 -30
- package/dist/services/authorization/iam.authorization.service.js.map +1 -1
- package/dist/services/index.d.ts +7 -1
- package/dist/services/index.js +7 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/tokenManager/iam.tokenManager.definitions.d.ts +4 -1
- package/dist/services/tokenManager/iam.tokenManager.definitions.js.map +1 -1
- package/dist/services/tokenManager/iam.tokenManager.service.d.ts +2 -2
- package/dist/services/tokenManager/iam.tokenManager.service.js +73 -35
- package/dist/services/tokenManager/iam.tokenManager.service.js.map +1 -1
- package/dist/services/users/index.d.ts +2 -0
- package/dist/services/{userManager → users}/index.js +2 -2
- package/dist/services/users/index.js.map +1 -0
- package/dist/services/users/users.definitions.d.ts +7 -0
- package/dist/services/users/users.definitions.js +3 -0
- package/dist/services/users/users.definitions.js.map +1 -0
- package/dist/services/users/users.service.d.ts +6 -0
- package/dist/services/users/users.service.js +39 -0
- package/dist/services/users/users.service.js.map +1 -0
- package/package.json +2 -2
- package/src/common/definitions/common.constants.ts +13 -16
- package/src/services/authentication/iam.authentication.definitions.ts +11 -4
- package/src/services/authentication/iam.authentication.service.ts +79 -15
- package/src/services/authenticationConsumer/iam.authenticationConsumer.definitions.ts +43 -0
- package/src/services/authenticationConsumer/iam.authenticationConsumer.service.ts +192 -0
- package/src/services/authenticationConsumer/index.ts +2 -0
- package/src/services/{userManager/iam.userManager.definitions.ts → authenticationManager/iam.authenticationManager.definitions.ts} +11 -19
- package/src/services/{userManager/iam.userManager.service.ts → authenticationManager/iam.authenticationManager.service.ts} +174 -111
- package/src/services/authenticationManager/index.ts +2 -0
- package/src/services/authenticationOAuth2/iam.authenticationOAuth2.definitions.ts +6 -3
- package/src/services/authenticationOAuth2/iam.authenticationOAuth2.service.ts +97 -85
- package/src/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.definitions.ts +56 -0
- package/src/services/authenticationOAuth2Consumer/iam.authenticationOAuth2Consumer.service.ts +93 -0
- package/src/services/authenticationOAuth2Consumer/index.ts +2 -0
- package/src/services/authenticationPassthrough/iam.authenticationPassthrough.definitions.ts +32 -0
- package/src/services/authenticationPassthrough/iam.authenticationPassthrough.service.ts +100 -0
- package/src/services/authenticationPassthrough/index.ts +2 -0
- package/src/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.definitions.ts +52 -0
- package/src/services/authenticationPassthroughConsumer/iam.authenticationPassthroughConsumer.service.ts +96 -0
- package/src/services/authenticationPassthroughConsumer/index.ts +2 -0
- package/src/services/authenticationUserLocal/iam.authenticationUserLocal.definitions.ts +3 -3
- package/src/services/authenticationUserLocal/iam.authenticationUserLocal.service.ts +17 -12
- package/src/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.definitions.ts +29 -0
- package/src/services/authenticationUserLocalConsumer/iam.authenticationUserLocalConsumer.service.ts +40 -0
- package/src/services/authenticationUserLocalConsumer/index.ts +2 -0
- package/src/services/authorization/iam.authorization.definitions.ts +26 -27
- package/src/services/authorization/iam.authorization.service.ts +40 -65
- package/src/services/index.ts +7 -1
- package/src/services/tokenManager/iam.tokenManager.definitions.ts +4 -1
- package/src/services/tokenManager/iam.tokenManager.service.ts +98 -45
- package/src/services/users/index.ts +2 -0
- package/src/services/users/users.definitions.ts +11 -0
- package/src/services/users/users.service.ts +46 -0
- package/dist/services/userManager/iam.userManager.definitions.js +0 -8
- package/dist/services/userManager/iam.userManager.definitions.js.map +0 -1
- package/dist/services/userManager/iam.userManager.service.d.ts +0 -33
- package/dist/services/userManager/iam.userManager.service.js.map +0 -1
- package/dist/services/userManager/index.d.ts +0 -2
- package/dist/services/userManager/index.js.map +0 -1
- package/src/services/userManager/index.ts +0 -2
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
ACCESS_CONTROL_MODULE_NAME
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
export declare const Constants: {
|
|
2
|
+
ACCESS_CONTROL_MODULE_NAME: string;
|
|
3
|
+
DEFAULT_ACCESS_TOKEN_EXPIRY_TIME_IN_HOURS: number;
|
|
4
|
+
DEFAULT_ACCESS_TOKEN_STORAGE_TTL_MULTIPLIER: number;
|
|
5
|
+
DEFAULT_REFRESH_TOKEN_EXPIRY_TIME_IN_HOURS: number;
|
|
6
|
+
DEFAULT_REFRESH_TOKEN_STORAGE_TTL_MULTIPLIER: number;
|
|
7
|
+
DOMAIN_MODULE_NAME: string;
|
|
8
|
+
OAUTH2_CODE_VERIFIER_LENGTH: string;
|
|
9
|
+
OAUTH2_PKCE_CHALLENGE_HASH_METHOD: string;
|
|
10
|
+
TOKEN_EXPIRED_ERROR: string;
|
|
11
|
+
TOKEN_MISMATCHED_AUDIENCES_ERROR: string;
|
|
12
|
+
TOKEN_MISMATCHED_ISSUER_ERROR: string;
|
|
13
|
+
};
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Constants = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
exports.Constants = {
|
|
5
|
+
ACCESS_CONTROL_MODULE_NAME: 'ACCESS_CONTROL_MODULE_NAME',
|
|
6
|
+
DEFAULT_ACCESS_TOKEN_EXPIRY_TIME_IN_HOURS: 24,
|
|
7
|
+
DEFAULT_ACCESS_TOKEN_STORAGE_TTL_MULTIPLIER: 1,
|
|
8
|
+
DEFAULT_REFRESH_TOKEN_EXPIRY_TIME_IN_HOURS: 24,
|
|
9
|
+
DEFAULT_REFRESH_TOKEN_STORAGE_TTL_MULTIPLIER: 1,
|
|
10
|
+
DOMAIN_MODULE_NAME: 'DOMAIN_MODULE_NAME',
|
|
11
|
+
OAUTH2_CODE_VERIFIER_LENGTH: '128',
|
|
12
|
+
OAUTH2_PKCE_CHALLENGE_HASH_METHOD: 'SHA-256',
|
|
13
|
+
TOKEN_EXPIRED_ERROR: 'jwt expired',
|
|
14
|
+
TOKEN_MISMATCHED_AUDIENCES_ERROR: 'Mismatched audiences',
|
|
15
|
+
TOKEN_MISMATCHED_ISSUER_ERROR: 'Mismatched issuer'
|
|
16
|
+
};
|
|
14
17
|
//# sourceMappingURL=common.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACvB,0BAA0B,EAAE,4BAA4B;IACxD,yCAAyC,EAAE,EAAE;IAC7C,2CAA2C,EAAE,CAAC;IAC9C,0CAA0C,EAAE,EAAE;IAC9C,4CAA4C,EAAE,CAAC;IAC/C,kBAAkB,EAAE,oBAAoB;IACxC,2BAA2B,EAAE,KAAK;IAClC,iCAAiC,EAAE,SAAS;IAC5C,mBAAmB,EAAE,aAAa;IAClC,gCAAgC,EAAE,sBAAsB;IACxD,6BAA6B,EAAE,mBAAmB;CACnD,CAAC"}
|
|
@@ -10,7 +10,7 @@ export interface IAMAuthenticationCompleteOptions<Context> {
|
|
|
10
10
|
mfaOptions?: unknown;
|
|
11
11
|
}
|
|
12
12
|
export declare enum IAMAuthenticationType {
|
|
13
|
-
OAuth2 = "
|
|
13
|
+
OAuth2 = "oauth2",
|
|
14
14
|
UserLocal = "userLocal"
|
|
15
15
|
}
|
|
16
16
|
export interface IAMAuthenticationCompleteResult {
|
|
@@ -23,7 +23,7 @@ export interface IAMAuthenticationCompleteResult {
|
|
|
23
23
|
refreshTokenExpiresIn?: number;
|
|
24
24
|
valid: boolean;
|
|
25
25
|
}
|
|
26
|
-
export type
|
|
26
|
+
export type IAMAuthenticationGetUserAuthenticationConfigResult = AppConfigCommonDomainIAMAuthServiceConfigStepSettings;
|
|
27
27
|
export interface IAMAuthenticationGetPayloadsFromExternalTokensData {
|
|
28
28
|
accessToken?: string;
|
|
29
29
|
idToken?: string;
|
|
@@ -39,6 +39,10 @@ export interface IAMAuthenticationGetUserDataFromExternalTokenPayloadsData {
|
|
|
39
39
|
idTokenPayload?: {
|
|
40
40
|
email: string;
|
|
41
41
|
name: string;
|
|
42
|
+
} & {
|
|
43
|
+
data?: {
|
|
44
|
+
user?: GenericObject;
|
|
45
|
+
} & GenericObject;
|
|
42
46
|
} & GenericObject;
|
|
43
47
|
refreshTokenPayload?: GenericObject;
|
|
44
48
|
}
|
|
@@ -81,3 +85,8 @@ export interface IAMAuthenticationVerifyExternalAccessTokenResult {
|
|
|
81
85
|
newRefreshToken?: string;
|
|
82
86
|
refreshTokenPayload?: unknown;
|
|
83
87
|
}
|
|
88
|
+
export interface IAMAuthenticationVerifyTokenOptions {
|
|
89
|
+
audiences?: string[];
|
|
90
|
+
issuer?: string;
|
|
91
|
+
secret?: string;
|
|
92
|
+
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.IAMAuthenticationType = void 0;
|
|
4
4
|
var IAMAuthenticationType;
|
|
5
5
|
(function (IAMAuthenticationType) {
|
|
6
|
-
IAMAuthenticationType["OAuth2"] = "
|
|
6
|
+
IAMAuthenticationType["OAuth2"] = "oauth2";
|
|
7
7
|
IAMAuthenticationType["UserLocal"] = "userLocal";
|
|
8
8
|
})(IAMAuthenticationType || (exports.IAMAuthenticationType = IAMAuthenticationType = {}));
|
|
9
9
|
//# sourceMappingURL=iam.authentication.definitions.js.map
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { ConfigProviderService, LoggerService } from '@node-c/core';
|
|
2
|
-
import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetPayloadsFromExternalTokensData, IAMAuthenticationGetPayloadsFromExternalTokensResult,
|
|
2
|
+
import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetPayloadsFromExternalTokensData, IAMAuthenticationGetPayloadsFromExternalTokensResult, IAMAuthenticationGetUserAuthenticationConfigResult, IAMAuthenticationGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult, IAMAuthenticationRefreshExternalAccessTokenData, IAMAuthenticationRefreshExternalAccessTokenResult, IAMAuthenticationVerifyExternalAccessTokenData, IAMAuthenticationVerifyExternalAccessTokenResult, IAMAuthenticationVerifyTokenOptions } from './iam.authentication.definitions';
|
|
3
3
|
export declare class IAMAuthenticationService<CompleteContext extends object, InitiateContext extends object> {
|
|
4
4
|
protected configProvider: ConfigProviderService;
|
|
5
5
|
protected logger: LoggerService;
|
|
6
6
|
protected moduleName: string;
|
|
7
|
+
protected serviceName: string;
|
|
7
8
|
protected isLocal: boolean;
|
|
8
|
-
constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string);
|
|
9
|
+
constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, serviceName: string);
|
|
9
10
|
complete(_data: IAMAuthenticationCompleteData, _options: IAMAuthenticationCompleteOptions<CompleteContext>): Promise<IAMAuthenticationCompleteResult>;
|
|
10
|
-
|
|
11
|
-
getPayloadsFromExternalTokens(
|
|
11
|
+
getUserAuthenticationConfig(): IAMAuthenticationGetUserAuthenticationConfigResult;
|
|
12
|
+
getPayloadsFromExternalTokens(data: IAMAuthenticationGetPayloadsFromExternalTokensData): Promise<IAMAuthenticationGetPayloadsFromExternalTokensResult>;
|
|
12
13
|
getUserDataFromExternalTokenPayloads(_data: IAMAuthenticationGetUserDataFromExternalTokenPayloadsData): Promise<IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult | null>;
|
|
13
14
|
initiate(_data: IAMAuthenticationInitiateData, _options: IAMAuthenticationInitiateOptions<InitiateContext>): Promise<IAMAuthenticationInitiateResult>;
|
|
14
15
|
refreshExternalAccessToken(_data: IAMAuthenticationRefreshExternalAccessTokenData): Promise<IAMAuthenticationRefreshExternalAccessTokenResult>;
|
|
15
16
|
verifyExternalAccessToken(_data: IAMAuthenticationVerifyExternalAccessTokenData): Promise<IAMAuthenticationVerifyExternalAccessTokenResult>;
|
|
17
|
+
verifyToken<DecodedTokenContent = unknown>(token: string, options?: IAMAuthenticationVerifyTokenOptions): Promise<{
|
|
18
|
+
content?: DecodedTokenContent;
|
|
19
|
+
error?: unknown;
|
|
20
|
+
}>;
|
|
16
21
|
}
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -11,23 +44,41 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
45
|
exports.IAMAuthenticationService = void 0;
|
|
13
46
|
const core_1 = require("@node-c/core");
|
|
47
|
+
const jwt = __importStar(require("jsonwebtoken"));
|
|
48
|
+
const definitions_1 = require("../../common/definitions");
|
|
14
49
|
class IAMAuthenticationService {
|
|
15
|
-
constructor(configProvider, logger, moduleName) {
|
|
50
|
+
constructor(configProvider, logger, moduleName, serviceName) {
|
|
16
51
|
this.configProvider = configProvider;
|
|
17
52
|
this.logger = logger;
|
|
18
53
|
this.moduleName = moduleName;
|
|
54
|
+
this.serviceName = serviceName;
|
|
19
55
|
}
|
|
20
56
|
complete(_data, _options) {
|
|
21
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
58
|
throw new core_1.ApplicationError(`[${this.moduleName}][IAMAuthenticationService]: Method "complete" not implemented.`);
|
|
23
59
|
});
|
|
24
60
|
}
|
|
25
|
-
|
|
61
|
+
getUserAuthenticationConfig() {
|
|
26
62
|
throw new core_1.ApplicationError(`[${this.moduleName}][IAMAuthenticationService]: Method "getUserAccessTokenConfig" not implemented.`);
|
|
27
63
|
}
|
|
28
|
-
getPayloadsFromExternalTokens(
|
|
64
|
+
getPayloadsFromExternalTokens(data) {
|
|
29
65
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
|
|
66
|
+
const { logger, moduleName, serviceName } = this;
|
|
67
|
+
const { accessToken, idToken } = data;
|
|
68
|
+
const returnData = {};
|
|
69
|
+
if (accessToken) {
|
|
70
|
+
const { content: accessTokenPayload, error } = yield this.verifyToken(accessToken);
|
|
71
|
+
if (error) {
|
|
72
|
+
logger.error(`[${moduleName}][${serviceName}]: Method "getPayloadsFromExternalTokens" has produced an error:`, error);
|
|
73
|
+
throw new core_1.ApplicationError(`[${moduleName}][${serviceName}]: Error getting data from external tokens.`);
|
|
74
|
+
}
|
|
75
|
+
returnData.accessTokenPayload = accessTokenPayload;
|
|
76
|
+
}
|
|
77
|
+
if (idToken) {
|
|
78
|
+
const idTokenData = yield this.verifyToken(idToken);
|
|
79
|
+
returnData.idTokenPayload = idTokenData.content;
|
|
80
|
+
}
|
|
81
|
+
return returnData;
|
|
31
82
|
});
|
|
32
83
|
}
|
|
33
84
|
getUserDataFromExternalTokenPayloads(_data) {
|
|
@@ -50,6 +101,46 @@ class IAMAuthenticationService {
|
|
|
50
101
|
throw new core_1.ApplicationError(`[${this.moduleName}][IAMAuthenticationService]: Method "verifyExternalAccessToken" not implemented.`);
|
|
51
102
|
});
|
|
52
103
|
}
|
|
104
|
+
verifyToken(token, options) {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
const { audiences, issuer, secret } = options || {};
|
|
107
|
+
let returnData = {};
|
|
108
|
+
if (secret) {
|
|
109
|
+
returnData = yield new Promise(resolve => {
|
|
110
|
+
jwt.verify(token, secret, (err, decoded) => {
|
|
111
|
+
if (err) {
|
|
112
|
+
resolve({ content: decoded, error: err });
|
|
113
|
+
}
|
|
114
|
+
resolve({ content: decoded });
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const tokenContent = jwt.decode(token);
|
|
120
|
+
if (tokenContent.exp) {
|
|
121
|
+
let currentTimeStamp = `${new Date().valueOf()}`;
|
|
122
|
+
let expString = `${tokenContent.exp}`;
|
|
123
|
+
if (expString.length < currentTimeStamp.length) {
|
|
124
|
+
currentTimeStamp = currentTimeStamp.substring(0, expString.length);
|
|
125
|
+
}
|
|
126
|
+
else if (expString.length > currentTimeStamp.length) {
|
|
127
|
+
expString = expString.substring(0, currentTimeStamp.length);
|
|
128
|
+
}
|
|
129
|
+
if (parseInt(expString, 10) < parseInt(currentTimeStamp, 10)) {
|
|
130
|
+
returnData.error = definitions_1.Constants.TOKEN_EXPIRED_ERROR;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (tokenContent.aud && audiences && !audiences.includes(tokenContent.aud)) {
|
|
134
|
+
returnData.error = definitions_1.Constants.TOKEN_MISMATCHED_AUDIENCES_ERROR;
|
|
135
|
+
}
|
|
136
|
+
if (tokenContent.iss && issuer && issuer !== tokenContent.iss) {
|
|
137
|
+
returnData.error = definitions_1.Constants.TOKEN_MISMATCHED_ISSUER_ERROR;
|
|
138
|
+
}
|
|
139
|
+
returnData.content = tokenContent;
|
|
140
|
+
}
|
|
141
|
+
return returnData;
|
|
142
|
+
});
|
|
143
|
+
}
|
|
53
144
|
}
|
|
54
145
|
exports.IAMAuthenticationService = IAMAuthenticationService;
|
|
55
146
|
//# sourceMappingURL=iam.authentication.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.authentication.service.js","sourceRoot":"","sources":["../../../src/services/authentication/iam.authentication.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"iam.authentication.service.js","sourceRoot":"","sources":["../../../src/services/authentication/iam.authentication.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IAMAuthenticationCompleteData, IAMAuthenticationCompleteOptions, IAMAuthenticationCompleteResult, IAMAuthenticationGetUserAuthenticationConfigResult, IAMAuthenticationGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationInitiateData, IAMAuthenticationInitiateOptions, IAMAuthenticationInitiateResult, IAMAuthenticationRefreshExternalAccessTokenData, IAMAuthenticationRefreshExternalAccessTokenResult } from '../authentication';
|
|
2
|
+
export type IAMAuthenticationConsumerCompleteData = IAMAuthenticationCompleteData;
|
|
3
|
+
export type IAMAuthenticationConsumerCompleteOptions<Context extends object> = IAMAuthenticationCompleteOptions<Context>;
|
|
4
|
+
export interface IAMAuthenticationConsumerCompleteResult extends IAMAuthenticationCompleteResult {
|
|
5
|
+
idToken?: string;
|
|
6
|
+
refreshToken?: string;
|
|
7
|
+
}
|
|
8
|
+
export type IAMAuthenticationConsumerGetUserAuthenticationConfigResult = IAMAuthenticationGetUserAuthenticationConfigResult;
|
|
9
|
+
export type IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsData = IAMAuthenticationGetUserDataFromExternalTokenPayloadsData;
|
|
10
|
+
export type IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsResult = IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult;
|
|
11
|
+
export type IAMAuthenticationConsumerInitiateData = IAMAuthenticationInitiateData;
|
|
12
|
+
export type IAMAuthenticationConsumerInitiateOptions<Context extends object> = IAMAuthenticationInitiateOptions<Context>;
|
|
13
|
+
export type IAMAuthenticationConsumerInitiateResult = IAMAuthenticationInitiateResult;
|
|
14
|
+
export type IAMAuthenticationConsumerRefreshExternalAccessTokenData = IAMAuthenticationRefreshExternalAccessTokenData;
|
|
15
|
+
export type IAMAuthenticationConsumerRefreshExternalAccessTokenResult = IAMAuthenticationRefreshExternalAccessTokenResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iam.authenticationConsumer.definitions.js","sourceRoot":"","sources":["../../../src/services/authenticationConsumer/iam.authenticationConsumer.definitions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppConfigDomainIAMAuthenticationStep, ConfigProviderService, GenericObject, LoggerService } from '@node-c/core';
|
|
2
|
+
import { IAMAuthenticationConsumerCompleteData, IAMAuthenticationConsumerCompleteOptions, IAMAuthenticationConsumerCompleteResult, IAMAuthenticationConsumerGetUserAuthenticationConfigResult, IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationConsumerInitiateData, IAMAuthenticationConsumerInitiateOptions, IAMAuthenticationConsumerInitiateResult, IAMAuthenticationConsumerRefreshExternalAccessTokenData, IAMAuthenticationConsumerRefreshExternalAccessTokenResult } from './iam.authenticationConsumer.definitions';
|
|
3
|
+
import { IAMAuthenticationService } from '../authentication';
|
|
4
|
+
export declare class IAMAuthenticationConsumerService<CompleteContext extends object, InitiateContext extends object> extends IAMAuthenticationService<CompleteContext, InitiateContext> {
|
|
5
|
+
constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, serviceName: string);
|
|
6
|
+
complete(data: IAMAuthenticationConsumerCompleteData, options: IAMAuthenticationConsumerCompleteOptions<CompleteContext>): Promise<IAMAuthenticationConsumerCompleteResult>;
|
|
7
|
+
getUserAuthenticationConfig(): IAMAuthenticationConsumerGetUserAuthenticationConfigResult;
|
|
8
|
+
getUserDataFromExternalTokenPayloads(data: IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsData): Promise<IAMAuthenticationConsumerGetUserDataFromExternalTokenPayloadsResult | null>;
|
|
9
|
+
initiate(data: IAMAuthenticationConsumerInitiateData, options: IAMAuthenticationConsumerInitiateOptions<InitiateContext>): Promise<IAMAuthenticationConsumerInitiateResult>;
|
|
10
|
+
protected runRequest<ReturnData>(endpoint: AppConfigDomainIAMAuthenticationStep | 'refreshExternalAccessToken', data: GenericObject): Promise<ReturnData>;
|
|
11
|
+
refreshExternalAccessToken(data: IAMAuthenticationConsumerRefreshExternalAccessTokenData): Promise<IAMAuthenticationConsumerRefreshExternalAccessTokenResult>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.IAMAuthenticationConsumerService = void 0;
|
|
27
|
+
const core_1 = require("@node-c/core");
|
|
28
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
29
|
+
const authentication_1 = require("../authentication");
|
|
30
|
+
class IAMAuthenticationConsumerService extends authentication_1.IAMAuthenticationService {
|
|
31
|
+
constructor(configProvider, logger, moduleName, serviceName) {
|
|
32
|
+
super(configProvider, logger, moduleName, serviceName);
|
|
33
|
+
this.isLocal = false;
|
|
34
|
+
}
|
|
35
|
+
complete(data, options) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
var _a;
|
|
38
|
+
const responseData = yield this.runRequest(core_1.AppConfigDomainIAMAuthenticationStep.Complete, Object.assign({ auth: Object.assign(Object.assign({}, data), { type: this.serviceName }), step: core_1.AppConfigDomainIAMAuthenticationStep.Complete }, ((options === null || options === void 0 ? void 0 : options.contextIdentifierField)
|
|
39
|
+
? {
|
|
40
|
+
filters: {
|
|
41
|
+
[options.contextIdentifierField]: options.context[options.contextIdentifierField]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
: {})));
|
|
45
|
+
return Object.assign(Object.assign({}, responseData), { valid: typeof responseData.valid !== 'undefined' ? responseData.valid : !!((_a = responseData.accessToken) === null || _a === void 0 ? void 0 : _a.length) });
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getUserAuthenticationConfig() {
|
|
49
|
+
const { configProvider, moduleName, serviceName } = this;
|
|
50
|
+
const moduleConfig = configProvider.config.domain[moduleName];
|
|
51
|
+
const { steps } = moduleConfig.authServiceSettings[serviceName];
|
|
52
|
+
const defaultConfig = {
|
|
53
|
+
[core_1.AppConfigDomainIAMAuthenticationStep.Complete]: {
|
|
54
|
+
authReturnsTokens: true,
|
|
55
|
+
decodeReturnedTokens: true,
|
|
56
|
+
findUser: true,
|
|
57
|
+
findUserBeforeAuth: false,
|
|
58
|
+
findUserInExternalTokenPayloads: true,
|
|
59
|
+
useReturnedTokens: true,
|
|
60
|
+
useReturnedTokensAsLocal: true,
|
|
61
|
+
validWithoutUser: false
|
|
62
|
+
},
|
|
63
|
+
[core_1.AppConfigDomainIAMAuthenticationStep.Initiate]: {
|
|
64
|
+
findUser: false,
|
|
65
|
+
validWithoutUser: true
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
return lodash_1.default.merge(defaultConfig, steps || {});
|
|
69
|
+
}
|
|
70
|
+
getUserDataFromExternalTokenPayloads(data) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
var _a;
|
|
73
|
+
const { idTokenPayload } = data;
|
|
74
|
+
if (!((_a = idTokenPayload === null || idTokenPayload === void 0 ? void 0 : idTokenPayload.data) === null || _a === void 0 ? void 0 : _a.user)) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
return idTokenPayload.data.user;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
initiate(data, options) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
var _a;
|
|
83
|
+
const responseData = yield this.runRequest(core_1.AppConfigDomainIAMAuthenticationStep.Initiate, Object.assign({ auth: Object.assign(Object.assign({}, data), { type: this.serviceName }), step: core_1.AppConfigDomainIAMAuthenticationStep.Initiate }, ((options === null || options === void 0 ? void 0 : options.contextIdentifierField)
|
|
84
|
+
? {
|
|
85
|
+
filters: {
|
|
86
|
+
[options.contextIdentifierField]: options.context[options.contextIdentifierField]
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
: {})));
|
|
90
|
+
return Object.assign(Object.assign(Object.assign({}, responseData), { valid: typeof responseData.valid !== 'undefined'
|
|
91
|
+
? responseData.valid
|
|
92
|
+
: 'accessToken' in responseData && !!((_a = responseData.accessToken) === null || _a === void 0 ? void 0 : _a.length) }), ('nextStepsRequired' in responseData && responseData.nextStepsRequired
|
|
93
|
+
? { mfaUsed: true, mfaValid: true }
|
|
94
|
+
: { mfaUsed: false }));
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
runRequest(endpoint, data) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
const { configProvider, logger, moduleName, serviceName } = this;
|
|
100
|
+
const moduleConfig = configProvider.config.domain[moduleName];
|
|
101
|
+
const _a = moduleConfig.authServiceSettings[serviceName].nodeC, { apiKey, apiSecret, apiSecretHashingAlgorithm, baseUrl } = _a, configData = __rest(_a, ["apiKey", "apiSecret", "apiSecretHashingAlgorithm", "baseUrl"]);
|
|
102
|
+
const endpointMethod = configData[`${endpoint}EndpointMethod`];
|
|
103
|
+
const endpointUri = configData[`${endpoint}Endpoint`];
|
|
104
|
+
if (!baseUrl) {
|
|
105
|
+
logger.error(`[${moduleName}][${serviceName}]: Base URL not configured.`);
|
|
106
|
+
throw new core_1.ApplicationError('Authentication failed.');
|
|
107
|
+
}
|
|
108
|
+
if (!endpointUri) {
|
|
109
|
+
logger.error(`[${moduleName}][${serviceName}]: Endpoint URI for "${endpoint}" not configured.`);
|
|
110
|
+
throw new core_1.ApplicationError('Authentication failed.');
|
|
111
|
+
}
|
|
112
|
+
if (!endpointMethod) {
|
|
113
|
+
logger.error(`[${moduleName}][${serviceName}]: Endpoint method for "${endpoint}" not configured.`);
|
|
114
|
+
throw new core_1.ApplicationError('Authentication failed.');
|
|
115
|
+
}
|
|
116
|
+
const { data: responseData, hasError } = yield (0, core_1.httpRequest)(`${baseUrl}${endpointUri}`, Object.assign({ apiKey,
|
|
117
|
+
apiSecret,
|
|
118
|
+
apiSecretHashingAlgorithm, isJSON: true, method: endpointMethod }, (endpointMethod === core_1.HttpMethod.GET ? { query: data } : { body: data })));
|
|
119
|
+
if (hasError || !responseData) {
|
|
120
|
+
logger.error(`[${moduleName}][${serviceName}]: Endpoint ${endpointUri} failed.`, responseData);
|
|
121
|
+
throw new core_1.ApplicationError('Authentication failed.');
|
|
122
|
+
}
|
|
123
|
+
return responseData;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
refreshExternalAccessToken(data) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
return yield this.runRequest('refreshExternalAccessToken', {
|
|
129
|
+
data
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.IAMAuthenticationConsumerService = IAMAuthenticationConsumerService;
|
|
135
|
+
//# sourceMappingURL=iam.authenticationConsumer.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iam.authenticationConsumer.service.js","sourceRoot":"","sources":["../../../src/services/authenticationConsumer/iam.authenticationConsumer.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./iam.authenticationConsumer.definitions"), exports);
|
|
18
|
+
__exportStar(require("./iam.authenticationConsumer.service"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/authenticationConsumer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2EAAyD;AACzD,uEAAqD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings, AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings, AppConfigDomainIAMAuthenticationStep,
|
|
1
|
+
import { AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings, AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings, AppConfigDomainIAMAuthenticationStep, GenericObject } from '@node-c/core';
|
|
2
2
|
import { IAMAuthenticationCompleteResult, IAMAuthenticationInitiateResult, IAMAuthenticationService, IAMAuthenticationType } from '../authentication';
|
|
3
|
-
import { AuthorizationUser } from '../authorization';
|
|
4
3
|
import { IAMMFAType } from '../mfa';
|
|
5
|
-
|
|
4
|
+
import { IAMUserWithPermissionsData } from '../users';
|
|
5
|
+
export interface IAMAuthenticationManagerAuthenticateOptions<AuthData = unknown> {
|
|
6
6
|
auth: {
|
|
7
7
|
mfaType?: IAMMFAType;
|
|
8
8
|
type: IAMAuthenticationType | string;
|
|
@@ -12,7 +12,7 @@ export interface IAMUserManagerCreateAccessTokenOptions<AuthData = unknown> {
|
|
|
12
12
|
rememberUser?: boolean;
|
|
13
13
|
step?: AppConfigDomainIAMAuthenticationStep;
|
|
14
14
|
}
|
|
15
|
-
export type
|
|
15
|
+
export type IAMAuthenticationManagerAuthenticateReturnData<UserData> = {
|
|
16
16
|
accessToken: string;
|
|
17
17
|
idToken: string;
|
|
18
18
|
refreshToken?: string;
|
|
@@ -20,28 +20,24 @@ export type IAMUserManagerCreateAccessTokenReturnData<UserData> = {
|
|
|
20
20
|
} | {
|
|
21
21
|
nextStepsRequired: boolean;
|
|
22
22
|
};
|
|
23
|
-
export type
|
|
24
|
-
export interface
|
|
23
|
+
export type IAMAuthenticationManagerExecuteStepData<AuthData = unknown> = Omit<IAMAuthenticationManagerAuthenticateOptions<AuthData>, 'rememberUser' | 'step'>;
|
|
24
|
+
export interface IAMAuthenticationManagerExecuteStepOptions<User extends object> {
|
|
25
25
|
authService: IAMAuthenticationService<User, User>;
|
|
26
26
|
name: AppConfigDomainIAMAuthenticationStep;
|
|
27
27
|
stepConfig: AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings | AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings;
|
|
28
28
|
}
|
|
29
|
-
export interface
|
|
29
|
+
export interface IAMAuthenticationManagerExecuteStepResult<User extends object> {
|
|
30
30
|
stepResult: IAMAuthenticationCompleteResult | IAMAuthenticationInitiateResult;
|
|
31
|
-
user:
|
|
31
|
+
user: IAMUserWithPermissionsData<User, unknown> | null;
|
|
32
32
|
userFilterField?: string | undefined;
|
|
33
33
|
userFilterValue?: unknown | undefined;
|
|
34
34
|
}
|
|
35
|
-
export interface
|
|
36
|
-
keepPassword?: boolean;
|
|
37
|
-
}
|
|
38
|
-
export type IAMUserManagerUserWithPermissionsData<UserData, AuthorizationPointId> = AuthorizationUser<AuthorizationPointId> & UserData;
|
|
39
|
-
export interface IAMUserManagerUserTokenEnityFields<UserId = unknown> {
|
|
35
|
+
export interface IAMAuthenticationManagerUserTokenEnityFields<UserId = unknown> {
|
|
40
36
|
accessToken?: string;
|
|
41
37
|
refreshToken?: string;
|
|
42
38
|
userId: UserId;
|
|
43
|
-
user?:
|
|
39
|
+
user?: IAMUserWithPermissionsData<object, unknown>;
|
|
44
40
|
}
|
|
45
|
-
export declare enum
|
|
41
|
+
export declare enum IAMAuthenticationManagerUserTokenUserIdentifier {
|
|
46
42
|
FieldName = "userId"
|
|
47
43
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IAMAuthenticationManagerUserTokenUserIdentifier = void 0;
|
|
4
|
+
var IAMAuthenticationManagerUserTokenUserIdentifier;
|
|
5
|
+
(function (IAMAuthenticationManagerUserTokenUserIdentifier) {
|
|
6
|
+
IAMAuthenticationManagerUserTokenUserIdentifier["FieldName"] = "userId";
|
|
7
|
+
})(IAMAuthenticationManagerUserTokenUserIdentifier || (exports.IAMAuthenticationManagerUserTokenUserIdentifier = IAMAuthenticationManagerUserTokenUserIdentifier = {}));
|
|
8
|
+
//# sourceMappingURL=iam.authenticationManager.definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iam.authenticationManager.definitions.js","sourceRoot":"","sources":["../../../src/services/authenticationManager/iam.authenticationManager.definitions.ts"],"names":[],"mappings":";;;AA+DA,IAAY,+CAGX;AAHD,WAAY,+CAA+C;IAEzD,uEAAoB,CAAA;AACtB,CAAC,EAHW,+CAA+C,+DAA/C,+CAA+C,QAG1D"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ConfigProviderService, DataDefaultData, DataEntityService, DomainEntityServiceDefaultData, GenericObject, LoggerService } from '@node-c/core';
|
|
2
|
+
import { IAMAuthenticationManagerAuthenticateOptions, IAMAuthenticationManagerAuthenticateReturnData, IAMAuthenticationManagerUserTokenEnityFields } from './iam.authenticationManager.definitions';
|
|
3
|
+
import { IAMAuthenticationService, IAMAuthenticationType } from '../authentication';
|
|
4
|
+
import { IAMAuthenticationOAuth2Service } from '../authenticationOAuth2';
|
|
5
|
+
import { IAMAuthenticationUserLocalService } from '../authenticationUserLocal';
|
|
6
|
+
import { IAMTokenManagerService } from '../tokenManager';
|
|
7
|
+
import { IAMUserWithPermissionsData, IAMUsersService } from '../users';
|
|
8
|
+
export declare class IAMAuthenticationManagerService<User extends object = object, Data extends DomainEntityServiceDefaultData<Partial<User>> = DomainEntityServiceDefaultData<Partial<User>>, DataEntityServiceData extends DataDefaultData<Partial<User>> = DataDefaultData<Partial<User>>> {
|
|
9
|
+
protected authServices: {
|
|
10
|
+
[IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service<object, object>;
|
|
11
|
+
[IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService<object, object>;
|
|
12
|
+
} & {
|
|
13
|
+
[serviceName: string]: IAMAuthenticationService<object, object>;
|
|
14
|
+
};
|
|
15
|
+
protected configProvider: ConfigProviderService;
|
|
16
|
+
protected logger: LoggerService;
|
|
17
|
+
protected moduleName: string;
|
|
18
|
+
protected dataUsersAuthCacheService?: DataEntityService<GenericObject> | undefined;
|
|
19
|
+
domainUsersEntityService?: IAMUsersService<User, DataEntityService<User, DataEntityServiceData>, Data, Record<string, DataEntityService<Partial<User>, DataDefaultData<object>>> | undefined> | undefined;
|
|
20
|
+
protected tokenManager?: IAMTokenManagerService<IAMAuthenticationManagerUserTokenEnityFields> | undefined;
|
|
21
|
+
constructor(authServices: {
|
|
22
|
+
[IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service<object, object>;
|
|
23
|
+
[IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService<object, object>;
|
|
24
|
+
} & {
|
|
25
|
+
[serviceName: string]: IAMAuthenticationService<object, object>;
|
|
26
|
+
}, configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, dataUsersAuthCacheService?: DataEntityService<GenericObject> | undefined, domainUsersEntityService?: IAMUsersService<User, DataEntityService<User, DataEntityServiceData>, Data, Record<string, DataEntityService<Partial<User>, DataDefaultData<object>>> | undefined> | undefined, tokenManager?: IAMTokenManagerService<IAMAuthenticationManagerUserTokenEnityFields> | undefined);
|
|
27
|
+
authenticate<AuthData = unknown>(options: IAMAuthenticationManagerAuthenticateOptions<AuthData>): Promise<IAMAuthenticationManagerAuthenticateReturnData<User>>;
|
|
28
|
+
private executeStep;
|
|
29
|
+
protected getUserForStepExecution(options: {
|
|
30
|
+
filters: GenericObject;
|
|
31
|
+
mainFilterField: string;
|
|
32
|
+
}): Promise<IAMUserWithPermissionsData<User, unknown> | null>;
|
|
33
|
+
}
|