@memberjunction/ng-auth-services 2.128.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.
Files changed (27) hide show
  1. package/dist/lib/IAuthProvider.d.ts +177 -17
  2. package/dist/lib/IAuthProvider.d.ts.map +1 -1
  3. package/dist/lib/auth-types.d.ts +351 -0
  4. package/dist/lib/auth-types.d.ts.map +1 -0
  5. package/dist/lib/auth-types.js +98 -0
  6. package/dist/lib/auth-types.js.map +1 -0
  7. package/dist/lib/mjexplorer-auth-base.service.d.ts +204 -49
  8. package/dist/lib/mjexplorer-auth-base.service.d.ts.map +1 -1
  9. package/dist/lib/mjexplorer-auth-base.service.js +173 -67
  10. package/dist/lib/mjexplorer-auth-base.service.js.map +1 -1
  11. package/dist/lib/providers/mjexplorer-auth0-provider.service.d.ts +61 -17
  12. package/dist/lib/providers/mjexplorer-auth0-provider.service.d.ts.map +1 -1
  13. package/dist/lib/providers/mjexplorer-auth0-provider.service.js +245 -76
  14. package/dist/lib/providers/mjexplorer-auth0-provider.service.js.map +1 -1
  15. package/dist/lib/providers/mjexplorer-msal-provider.service.d.ts +57 -16
  16. package/dist/lib/providers/mjexplorer-msal-provider.service.d.ts.map +1 -1
  17. package/dist/lib/providers/mjexplorer-msal-provider.service.js +311 -114
  18. package/dist/lib/providers/mjexplorer-msal-provider.service.js.map +1 -1
  19. package/dist/lib/providers/mjexplorer-okta-provider.service.d.ts +55 -30
  20. package/dist/lib/providers/mjexplorer-okta-provider.service.d.ts.map +1 -1
  21. package/dist/lib/providers/mjexplorer-okta-provider.service.js +263 -235
  22. package/dist/lib/providers/mjexplorer-okta-provider.service.js.map +1 -1
  23. package/dist/public-api.d.ts +1 -0
  24. package/dist/public-api.d.ts.map +1 -1
  25. package/dist/public-api.js +2 -0
  26. package/dist/public-api.js.map +1 -1
  27. 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 for MemberJunction Explorer
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: string;
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: any) => {
23
+ static angularProviderFactory: (environment: Record<string, unknown>) => {
21
24
  provide: string;
22
25
  useValue: {
23
- clientId: any;
24
- domain: any;
25
- issuer: any;
26
- redirectUri: any;
27
- scopes: any;
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
- private initializeOkta;
34
- login(options?: any): Observable<void>;
35
- private loginAsync;
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
- * Get the access token for API calls
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
- getAccessToken(): Promise<string | undefined>;
46
+ protected extractIdTokenInternal(): Promise<string | null>;
50
47
  /**
51
- * Get the ID token
48
+ * Extract complete token info from Okta
49
+ *
50
+ * Maps Okta's token structure to StandardAuthToken
52
51
  */
53
- getIdToken(): Promise<string | undefined>;
54
- initialize(): Promise<void>;
55
- protected loginInternal(options?: any): Promise<void>;
56
- getToken(): Promise<string | null>;
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(_config: any): boolean;
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":"AAEA,OAAO,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAiB,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;;AAGrF,wBAAgB,kBAAkB,SACjC;AAED;;GAEG;AACH,qBAIa,cAAe,SAAQ,UAAU;IAwBV,OAAO,CAAC,UAAU;IAvBpD,MAAM,CAAC,QAAQ,CAAC,aAAa,UAAU;IACvC,IAAI,SAAgC;IACpC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAAS;IAE7B;;;OAGG;IACH,MAAM,CAAC,sBAAsB,gBAAiB,GAAG;;;;;;;;;QAW/C;gBAEwC,UAAU,EAAE,eAAe,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;YAuC7E,cAAc;IAmFnB,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC;YAKjC,UAAU;IAmBlB,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAmCtB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IA8EhC,eAAe,IAAI,UAAU,CAAC,OAAO,CAAC;IAMzC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAgBvB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAyB/C,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAY9C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUnD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAWzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cA4BjB,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOxC,iBAAiB,IAAI,MAAM,EAAE;IAI7B,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;yCApb1B,cAAc;6CAAd,cAAc;CAwb1B"}
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"}