@memberjunction/ng-auth-services 2.129.0 → 2.130.0
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/lib/IAuthProvider.d.ts +177 -17
- package/dist/lib/IAuthProvider.d.ts.map +1 -1
- package/dist/lib/auth-types.d.ts +351 -0
- package/dist/lib/auth-types.d.ts.map +1 -0
- package/dist/lib/auth-types.js +98 -0
- package/dist/lib/auth-types.js.map +1 -0
- package/dist/lib/mjexplorer-auth-base.service.d.ts +204 -49
- package/dist/lib/mjexplorer-auth-base.service.d.ts.map +1 -1
- package/dist/lib/mjexplorer-auth-base.service.js +173 -67
- package/dist/lib/mjexplorer-auth-base.service.js.map +1 -1
- package/dist/lib/providers/mjexplorer-auth0-provider.service.d.ts +61 -17
- package/dist/lib/providers/mjexplorer-auth0-provider.service.d.ts.map +1 -1
- package/dist/lib/providers/mjexplorer-auth0-provider.service.js +245 -76
- package/dist/lib/providers/mjexplorer-auth0-provider.service.js.map +1 -1
- package/dist/lib/providers/mjexplorer-msal-provider.service.d.ts +57 -16
- package/dist/lib/providers/mjexplorer-msal-provider.service.d.ts.map +1 -1
- package/dist/lib/providers/mjexplorer-msal-provider.service.js +311 -114
- package/dist/lib/providers/mjexplorer-msal-provider.service.js.map +1 -1
- package/dist/lib/providers/mjexplorer-okta-provider.service.d.ts +55 -30
- package/dist/lib/providers/mjexplorer-okta-provider.service.d.ts.map +1 -1
- package/dist/lib/providers/mjexplorer-okta-provider.service.js +263 -235
- package/dist/lib/providers/mjexplorer-okta-provider.service.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +2 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,61 +1,86 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
1
|
import { MJAuthBase } from '../mjexplorer-auth-base.service';
|
|
3
2
|
import { OktaAuthOptions } from '@okta/okta-auth-js';
|
|
3
|
+
import { StandardUserInfo, StandardAuthToken, StandardAuthError, TokenRefreshResult } from '../auth-types';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare function LoadMJOktaProvider(): void;
|
|
6
6
|
/**
|
|
7
|
-
* Okta authentication provider
|
|
7
|
+
* Okta authentication provider implementation - v3.0.0
|
|
8
|
+
*
|
|
9
|
+
* Implements the abstract methods from MJAuthBase to hide Okta-specific details.
|
|
10
|
+
* The key abstraction is that Okta stores the JWT in IDToken.idToken,
|
|
11
|
+
* but consumers never need to know this detail.
|
|
8
12
|
*/
|
|
9
13
|
export declare class MJOktaProvider extends MJAuthBase {
|
|
10
14
|
private oktaConfig;
|
|
11
15
|
static readonly PROVIDER_TYPE = "okta";
|
|
12
|
-
type
|
|
16
|
+
readonly type = "okta";
|
|
13
17
|
private oktaAuth;
|
|
14
|
-
private userClaims$;
|
|
15
18
|
private isRefreshing;
|
|
16
19
|
/**
|
|
17
20
|
* Factory function to provide Angular dependencies required by Okta
|
|
18
21
|
* Stored as a static property for the factory to access without instantiation
|
|
19
22
|
*/
|
|
20
|
-
static angularProviderFactory: (environment:
|
|
23
|
+
static angularProviderFactory: (environment: Record<string, unknown>) => {
|
|
21
24
|
provide: string;
|
|
22
25
|
useValue: {
|
|
23
|
-
clientId:
|
|
24
|
-
domain:
|
|
25
|
-
issuer:
|
|
26
|
-
redirectUri:
|
|
27
|
-
scopes:
|
|
26
|
+
clientId: unknown;
|
|
27
|
+
domain: unknown;
|
|
28
|
+
issuer: {};
|
|
29
|
+
redirectUri: {};
|
|
30
|
+
scopes: {};
|
|
28
31
|
};
|
|
29
32
|
}[];
|
|
30
33
|
constructor(oktaConfig: OktaAuthOptions & {
|
|
31
34
|
domain?: string;
|
|
32
35
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
logout(): Promise<any>;
|
|
37
|
-
refresh(): Promise<Observable<any>>;
|
|
38
|
-
isAuthenticated(): Observable<boolean>;
|
|
39
|
-
getUser(): Promise<any>;
|
|
40
|
-
getUserClaims(): Promise<Observable<any>>;
|
|
41
|
-
checkExpiredTokenError(error: string): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Handle callback after redirect from Okta
|
|
44
|
-
*/
|
|
36
|
+
initialize(): Promise<void>;
|
|
37
|
+
protected loginInternal(options?: Record<string, unknown>): Promise<void>;
|
|
38
|
+
logout(): Promise<void>;
|
|
45
39
|
handleCallback(): Promise<void>;
|
|
46
40
|
/**
|
|
47
|
-
*
|
|
41
|
+
* Extract ID token from Okta's storage
|
|
42
|
+
*
|
|
43
|
+
* Okta stores the JWT in IDToken.idToken
|
|
44
|
+
* This is the key abstraction - consumers never need to know about Okta's structure!
|
|
48
45
|
*/
|
|
49
|
-
|
|
46
|
+
protected extractIdTokenInternal(): Promise<string | null>;
|
|
50
47
|
/**
|
|
51
|
-
*
|
|
48
|
+
* Extract complete token info from Okta
|
|
49
|
+
*
|
|
50
|
+
* Maps Okta's token structure to StandardAuthToken
|
|
52
51
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
protected extractTokenInfoInternal(): Promise<StandardAuthToken | null>;
|
|
53
|
+
/**
|
|
54
|
+
* Extract user info from Okta claims
|
|
55
|
+
*
|
|
56
|
+
* Maps Okta's IDToken structure to StandardUserInfo
|
|
57
|
+
*/
|
|
58
|
+
protected extractUserInfoInternal(): Promise<StandardUserInfo | null>;
|
|
59
|
+
/**
|
|
60
|
+
* Refresh token using Okta's token renewal
|
|
61
|
+
*
|
|
62
|
+
* Uses renewTokens() to get new tokens silently
|
|
63
|
+
*/
|
|
64
|
+
protected refreshTokenInternal(): Promise<TokenRefreshResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Classify Okta-specific errors into semantic types
|
|
67
|
+
*
|
|
68
|
+
* Maps Okta error patterns to AuthErrorType enum
|
|
69
|
+
*/
|
|
70
|
+
protected classifyErrorInternal(error: unknown): StandardAuthError;
|
|
71
|
+
/**
|
|
72
|
+
* Map Okta IDToken to StandardUserInfo
|
|
73
|
+
*/
|
|
74
|
+
private mapOktaTokenToStandard;
|
|
75
|
+
/**
|
|
76
|
+
* Get profile picture URL from Okta
|
|
77
|
+
*
|
|
78
|
+
* Okta may include picture URL in user claims, similar to Auth0.
|
|
79
|
+
* If available, we can also fetch from Okta's /userinfo endpoint.
|
|
80
|
+
*/
|
|
81
|
+
protected getProfilePictureUrlInternal(): Promise<string | null>;
|
|
57
82
|
getRequiredConfig(): string[];
|
|
58
|
-
validateConfig(
|
|
83
|
+
validateConfig(config: Record<string, unknown>): boolean;
|
|
59
84
|
static ɵfac: i0.ɵɵFactoryDeclaration<MJOktaProvider, never>;
|
|
60
85
|
static ɵprov: i0.ɵɵInjectableDeclaration<MJOktaProvider>;
|
|
61
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mjexplorer-okta-provider.service.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/mjexplorer-okta-provider.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mjexplorer-okta-provider.service.d.ts","sourceRoot":"","sources":["../../../src/lib/providers/mjexplorer-okta-provider.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAiB,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AACrF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAEjB,kBAAkB,EACnB,MAAM,eAAe,CAAC;;AAGvB,wBAAgB,kBAAkB,SACjC;AAED;;;;;;GAMG;AACH,qBAIa,cAAe,SAAQ,UAAU;IAuBV,OAAO,CAAC,UAAU;IAtBpD,MAAM,CAAC,QAAQ,CAAC,aAAa,UAAU;IACvC,QAAQ,CAAC,IAAI,UAAgC;IAC7C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAS;IAE7B;;;OAGG;IACH,MAAM,CAAC,sBAAsB,gBAAiB,OAAO,MAAM,EAAE,OAAO,CAAC;;;;;;;;;QAWnE;gBAEwC,UAAU,EAAE,eAAe,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAyCrF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cA2DjB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBvB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBrC;;;;;OAKG;cACa,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWhE;;;;OAIG;cACa,wBAAwB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAqB7E;;;;OAIG;cACa,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAc3E;;;;OAIG;cACa,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAwFnE;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB;IAgElE;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;;;;OAKG;cACa,4BAA4B,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0B7D,iBAAiB,IAAI,MAAM,EAAE;IAI7B,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;yCAldtD,cAAc;6CAAd,cAAc;CAqd1B"}
|