@node-c/domain-iam-okta 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/services/authenticationOkta/iam.authenticationOkta.definitions.d.ts +2 -2
- package/dist/services/authenticationOkta/iam.authenticationOkta.service.d.ts +2 -6
- package/dist/services/authenticationOkta/iam.authenticationOkta.service.js +5 -6
- package/dist/services/authenticationOkta/iam.authenticationOkta.service.js.map +1 -1
- package/package.json +3 -3
- package/src/services/authenticationOkta/iam.authenticationOkta.definitions.ts +3 -3
- package/src/services/authenticationOkta/iam.authenticationOkta.service.ts +9 -11
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { IAMAuthenticationGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationOAuth2CompleteData, IAMAuthenticationOAuth2CompleteOptions, IAMAuthenticationOAuth2CompleteResult,
|
|
1
|
+
import { IAMAuthenticationGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationOAuth2CompleteData, IAMAuthenticationOAuth2CompleteOptions, IAMAuthenticationOAuth2CompleteResult, IAMAuthenticationOAuth2GetUserAuthenticationConfigResult, IAMAuthenticationOAuth2InitiateData, IAMAuthenticationOAuth2InitiateOptions, IAMAuthenticationOAuth2InitiateResult, IAMAuthenticationRefreshExternalAccessTokenData, IAMAuthenticationRefreshExternalAccessTokenResult } from '@node-c/domain-iam';
|
|
2
2
|
export type IAMAuthenticationOktaCompleteData = IAMAuthenticationOAuth2CompleteData;
|
|
3
3
|
export type IAMAuthenticationOktaCompleteOptions<Context extends object> = IAMAuthenticationOAuth2CompleteOptions<Context>;
|
|
4
4
|
export interface IAMAuthenticationOktaCompleteResult extends IAMAuthenticationOAuth2CompleteResult {
|
|
5
5
|
idToken: string;
|
|
6
6
|
refreshToken: string;
|
|
7
7
|
}
|
|
8
|
-
export type
|
|
8
|
+
export type IAMAuthenticationOktaGetUserAuthenticationConfigResult = IAMAuthenticationOAuth2GetUserAuthenticationConfigResult;
|
|
9
9
|
export type IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsData = IAMAuthenticationGetUserDataFromExternalTokenPayloadsData;
|
|
10
10
|
export type IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsResult = IAMAuthenticationGetUserDataFromExternalTokenPayloadsResult;
|
|
11
11
|
export interface IAMAuthenticationOktaInitiateData extends IAMAuthenticationOAuth2InitiateData {
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { ConfigProviderService, LoggerService } from '@node-c/core';
|
|
2
2
|
import { IAMAuthenticationOAuth2Service } from '@node-c/domain-iam';
|
|
3
|
-
import { IAMAuthenticationOktaCompleteData, IAMAuthenticationOktaCompleteOptions, IAMAuthenticationOktaCompleteResult,
|
|
3
|
+
import { IAMAuthenticationOktaCompleteData, IAMAuthenticationOktaCompleteOptions, IAMAuthenticationOktaCompleteResult, IAMAuthenticationOktaGetUserAuthenticationConfigResult, IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsData, IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsResult, IAMAuthenticationOktaInitiateData, IAMAuthenticationOktaInitiateOptions, IAMAuthenticationOktaInitiateResult, IAMAuthenticationOktaRefreshExternalAccessTokenData, IAMAuthenticationOktaRefreshExternalAccessTokenResult } from './iam.authenticationOkta.definitions';
|
|
4
4
|
export declare class IAMAuthenticationOktaService<CompleteContext extends object, InitiateContext extends object> extends IAMAuthenticationOAuth2Service<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: IAMAuthenticationOktaCompleteData, options: IAMAuthenticationOktaCompleteOptions<CompleteContext>): Promise<IAMAuthenticationOktaCompleteResult>;
|
|
11
7
|
getUserDataFromExternalTokenPayloads(data: IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsData): Promise<IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsResult | null>;
|
|
12
|
-
|
|
8
|
+
getUserAuthenticationConfig(): IAMAuthenticationOktaGetUserAuthenticationConfigResult;
|
|
13
9
|
initiate(data: IAMAuthenticationOktaInitiateData, options: IAMAuthenticationOktaInitiateOptions<InitiateContext>): Promise<IAMAuthenticationOktaInitiateResult>;
|
|
14
10
|
refreshExternalAccessToken(_data: IAMAuthenticationOktaRefreshExternalAccessTokenData): Promise<IAMAuthenticationOktaRefreshExternalAccessTokenResult>;
|
|
15
11
|
}
|
|
@@ -19,10 +19,6 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
|
19
19
|
class IAMAuthenticationOktaService extends domain_iam_1.IAMAuthenticationOAuth2Service {
|
|
20
20
|
constructor(configProvider, logger, moduleName, serviceName) {
|
|
21
21
|
super(configProvider, logger, moduleName, serviceName);
|
|
22
|
-
this.configProvider = configProvider;
|
|
23
|
-
this.logger = logger;
|
|
24
|
-
this.moduleName = moduleName;
|
|
25
|
-
this.serviceName = serviceName;
|
|
26
22
|
}
|
|
27
23
|
complete(data, options) {
|
|
28
24
|
const _super = Object.create(null, {
|
|
@@ -42,7 +38,7 @@ class IAMAuthenticationOktaService extends domain_iam_1.IAMAuthenticationOAuth2S
|
|
|
42
38
|
return { email: idTokenPayload.email, firstName: nameData[0], lastName: nameData[nameData.length - 1] };
|
|
43
39
|
});
|
|
44
40
|
}
|
|
45
|
-
|
|
41
|
+
getUserAuthenticationConfig() {
|
|
46
42
|
const { configProvider, moduleName, serviceName } = this;
|
|
47
43
|
const moduleConfig = configProvider.config.domain[moduleName];
|
|
48
44
|
const { steps } = moduleConfig.authServiceSettings[serviceName];
|
|
@@ -72,7 +68,10 @@ class IAMAuthenticationOktaService extends domain_iam_1.IAMAuthenticationOAuth2S
|
|
|
72
68
|
[core_1.AppConfigDomainIAMAuthenticationStep.Initiate]: {
|
|
73
69
|
cache: {
|
|
74
70
|
populate: {
|
|
75
|
-
data: [
|
|
71
|
+
data: [
|
|
72
|
+
{ cacheFieldName: 'codeVerifier', inputFieldName: 'result.codeVerifier' },
|
|
73
|
+
{ cacheFieldName: 'redirectUri', inputFieldName: 'result.redirectUri' }
|
|
74
|
+
]
|
|
76
75
|
},
|
|
77
76
|
settings: {
|
|
78
77
|
cacheFieldName: 'state',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.authenticationOkta.service.js","sourceRoot":"","sources":["../../../src/services/authenticationOkta/iam.authenticationOkta.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAMsB;AACtB,mDAAoE;AAEpE,oDAAwB;AAmBxB,MAAa,4BAGX,SAAQ,2CAAgE;IACxE,
|
|
1
|
+
{"version":3,"file":"iam.authenticationOkta.service.js","sourceRoot":"","sources":["../../../src/services/authenticationOkta/iam.authenticationOkta.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAMsB;AACtB,mDAAoE;AAEpE,oDAAwB;AAmBxB,MAAa,4BAGX,SAAQ,2CAAgE;IACxE,YAAY,cAAqC,EAAE,MAAqB,EAAE,UAAkB,EAAE,WAAmB;QAC/G,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEK,QAAQ,CACZ,IAAuC,EACvC,OAA8D;;;;;YAE9D,OAAO,OAAM,QAAQ,YAAC,IAAI,EAAE,OAAO,CAAiD,CAAC;QACvF,CAAC;KAAA;IAEK,oCAAoC,CACxC,IAAmE;;YAEnE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1G,CAAC;KAAA;IAGD,2BAA2B;QACzB,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACzD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAuB,CAAC;QACpF,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,mBAAoB,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,aAAa,GAA2D;YAC5E,CAAC,2CAAoC,CAAC,QAAQ,CAAC,EAAE;gBAC/C,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE;oBACL,QAAQ,EAAE;wBACR,cAAc,EAAE,OAAO;wBACvB,cAAc,EAAE,YAAY;qBAC7B;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;qBACrC;iBACF;gBACD,UAAU,EAAE,IAAI;gBAChB,oBAAoB,EAAE,IAAI;gBAC1B,QAAQ,EAAE,IAAI;gBACd,kBAAkB,EAAE,KAAK;gBACzB,sBAAsB,EAAE;oBACtB,aAAa,EAAE,OAAO;oBACtB,eAAe,EAAE,sBAAsB;iBACxC;gBACD,iBAAiB,EAAE,IAAI;gBACvB,gBAAgB,EAAE,KAAK;aACxB;YACD,CAAC,2CAAoC,CAAC,QAAQ,CAAC,EAAE;gBAC/C,KAAK,EAAE;oBACL,QAAQ,EAAE;wBACR,IAAI,EAAE;4BACJ,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE;4BACzE,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAE;yBACxE;qBACF;oBACD,QAAQ,EAAE;wBACR,cAAc,EAAE,OAAO;wBACvB,cAAc,EAAE,cAAc;qBAC/B;iBACF;gBACD,QAAQ,EAAE,KAAK;gBACf,sBAAsB,EAAE,CAAC,6BAA6B,CAAC;gBACvD,gBAAgB,EAAE,IAAI;aACvB;SACF,CAAC;QACF,OAAO,gBAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAEK,QAAQ,CACZ,IAAuC,EACvC,OAA8D;;;;;YAE9D,OAAO,OAAM,QAAQ,YAAC,IAAI,kCACrB,OAAO,KACV,aAAa,EAAE,IAAI,EACnB,QAAQ,EAAE,IAAI,IACkC,CAAC;QACrD,CAAC;KAAA;IAGK,0BAA0B,CAE9B,KAA0D;;YAE1D,MAAM,IAAI,uBAAgB,CACxB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,0DAA0D,CACnG,CAAC;QACJ,CAAC;KAAA;CACF;AA/FD,oEA+FC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-c/domain-iam-okta",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-beta8",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@nestjs/common": "^11.1.16",
|
|
19
|
-
"@node-c/core": "^1.0.0-
|
|
20
|
-
"@node-c/domain-iam": "^1.0.0-
|
|
19
|
+
"@node-c/core": "^1.0.0-beta8",
|
|
20
|
+
"@node-c/domain-iam": "^1.0.0-beta8"
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
IAMAuthenticationOAuth2CompleteData,
|
|
5
5
|
IAMAuthenticationOAuth2CompleteOptions,
|
|
6
6
|
IAMAuthenticationOAuth2CompleteResult,
|
|
7
|
-
|
|
7
|
+
IAMAuthenticationOAuth2GetUserAuthenticationConfigResult,
|
|
8
8
|
IAMAuthenticationOAuth2InitiateData,
|
|
9
9
|
IAMAuthenticationOAuth2InitiateOptions,
|
|
10
10
|
IAMAuthenticationOAuth2InitiateResult,
|
|
@@ -22,8 +22,8 @@ export interface IAMAuthenticationOktaCompleteResult extends IAMAuthenticationOA
|
|
|
22
22
|
refreshToken: string;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
export type
|
|
26
|
-
|
|
25
|
+
export type IAMAuthenticationOktaGetUserAuthenticationConfigResult =
|
|
26
|
+
IAMAuthenticationOAuth2GetUserAuthenticationConfigResult;
|
|
27
27
|
|
|
28
28
|
export type IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsData =
|
|
29
29
|
IAMAuthenticationGetUserDataFromExternalTokenPayloadsData;
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
IAMAuthenticationOktaCompleteData,
|
|
14
14
|
IAMAuthenticationOktaCompleteOptions,
|
|
15
15
|
IAMAuthenticationOktaCompleteResult,
|
|
16
|
-
|
|
16
|
+
IAMAuthenticationOktaGetUserAuthenticationConfigResult,
|
|
17
17
|
IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsData,
|
|
18
18
|
IAMAuthenticationOktaGetUserDataFromExternalTokenPayloadsResult,
|
|
19
19
|
IAMAuthenticationOktaInitiateData,
|
|
@@ -23,19 +23,14 @@ import {
|
|
|
23
23
|
IAMAuthenticationOktaRefreshExternalAccessTokenResult
|
|
24
24
|
} from './iam.authenticationOkta.definitions';
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
27
|
* A service for integrating Okta OIDC auth. It extends the Domain-IAM-OAuth2.
|
|
28
28
|
*/
|
|
29
29
|
export class IAMAuthenticationOktaService<
|
|
30
30
|
CompleteContext extends object,
|
|
31
31
|
InitiateContext extends object
|
|
32
32
|
> extends IAMAuthenticationOAuth2Service<CompleteContext, InitiateContext> {
|
|
33
|
-
constructor(
|
|
34
|
-
protected configProvider: ConfigProviderService,
|
|
35
|
-
protected logger: LoggerService,
|
|
36
|
-
protected moduleName: string,
|
|
37
|
-
protected serviceName: string
|
|
38
|
-
) {
|
|
33
|
+
constructor(configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, serviceName: string) {
|
|
39
34
|
super(configProvider, logger, moduleName, serviceName);
|
|
40
35
|
}
|
|
41
36
|
|
|
@@ -58,11 +53,11 @@ export class IAMAuthenticationOktaService<
|
|
|
58
53
|
}
|
|
59
54
|
|
|
60
55
|
// Okta Auth via OIDC
|
|
61
|
-
|
|
56
|
+
getUserAuthenticationConfig(): IAMAuthenticationOktaGetUserAuthenticationConfigResult {
|
|
62
57
|
const { configProvider, moduleName, serviceName } = this;
|
|
63
58
|
const moduleConfig = configProvider.config.domain[moduleName] as AppConfigDomainIAM;
|
|
64
59
|
const { steps } = moduleConfig.authServiceSettings![serviceName];
|
|
65
|
-
const defaultConfig:
|
|
60
|
+
const defaultConfig: IAMAuthenticationOktaGetUserAuthenticationConfigResult = {
|
|
66
61
|
[AppConfigDomainIAMAuthenticationStep.Complete]: {
|
|
67
62
|
authReturnsTokens: true,
|
|
68
63
|
cache: {
|
|
@@ -88,7 +83,10 @@ export class IAMAuthenticationOktaService<
|
|
|
88
83
|
[AppConfigDomainIAMAuthenticationStep.Initiate]: {
|
|
89
84
|
cache: {
|
|
90
85
|
populate: {
|
|
91
|
-
data: [
|
|
86
|
+
data: [
|
|
87
|
+
{ cacheFieldName: 'codeVerifier', inputFieldName: 'result.codeVerifier' },
|
|
88
|
+
{ cacheFieldName: 'redirectUri', inputFieldName: 'result.redirectUri' }
|
|
89
|
+
]
|
|
92
90
|
},
|
|
93
91
|
settings: {
|
|
94
92
|
cacheFieldName: 'state',
|