@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.
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
@@ -8,15 +8,23 @@ var MJMSALProvider_1;
8
8
  import { Injectable } from '@angular/core';
9
9
  import { RegisterClass } from '@memberjunction/global';
10
10
  import { MJAuthBase } from '../mjexplorer-auth-base.service';
11
- import { BehaviorSubject, Subject, catchError, filter, from, map, of, throwError, takeUntil } from 'rxjs';
11
+ import { BehaviorSubject, Subject, filter, takeUntil } from 'rxjs';
12
12
  import { MsalBroadcastService, MsalService, MSAL_INSTANCE, MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG, MsalGuard } from '@azure/msal-angular';
13
- import { CacheLookupPolicy, InteractionRequiredAuthError, InteractionStatus, PublicClientApplication, InteractionType } from '@azure/msal-browser';
13
+ import { CacheLookupPolicy, InteractionRequiredAuthError, InteractionStatus, PublicClientApplication, InteractionType, BrowserAuthError } from '@azure/msal-browser';
14
14
  import { LogError } from '@memberjunction/core';
15
+ import { AuthErrorType } from '../auth-types';
15
16
  import * as i0 from "@angular/core";
16
17
  import * as i1 from "@azure/msal-angular";
17
18
  // Prevent tree-shaking by explicitly referencing the class
18
19
  export function LoadMJMSALProvider() {
19
20
  }
21
+ /**
22
+ * MSAL (Microsoft Authentication Library) provider implementation - v3.0.0
23
+ *
24
+ * Implements the abstract methods from MJAuthBase to hide MSAL-specific details.
25
+ * The key abstraction is that MSAL stores the JWT in AuthenticationResult.idToken,
26
+ * but consumers never need to know this detail.
27
+ */
20
28
  let MJMSALProvider = class MJMSALProvider extends MJAuthBase {
21
29
  static { MJMSALProvider_1 = this; }
22
30
  auth;
@@ -35,8 +43,8 @@ let MJMSALProvider = class MJMSALProvider extends MJAuthBase {
35
43
  provide: MSAL_INSTANCE,
36
44
  useValue: new PublicClientApplication({
37
45
  auth: {
38
- clientId: environment.CLIENT_ID,
39
- authority: environment.CLIENT_AUTHORITY,
46
+ clientId: environment['CLIENT_ID'],
47
+ authority: environment['CLIENT_AUTHORITY'],
40
48
  redirectUri: window.location.origin,
41
49
  },
42
50
  cache: {
@@ -73,11 +81,11 @@ let MJMSALProvider = class MJMSALProvider extends MJAuthBase {
73
81
  super(config);
74
82
  this.auth = auth;
75
83
  this.msalBroadcastService = msalBroadcastService;
76
- // Defer initialization to avoid blocking app startup
77
- // This will be called lazily when auth is actually needed
78
84
  }
79
- async initializeMSAL() {
80
- // Only initialize once
85
+ // ============================================================================
86
+ // LIFECYCLE METHODS
87
+ // ============================================================================
88
+ async initialize() {
81
89
  if (this._initPromise) {
82
90
  return this._initPromise;
83
91
  }
@@ -92,7 +100,9 @@ let MJMSALProvider = class MJMSALProvider extends MJAuthBase {
92
100
  // User just logged in via redirect
93
101
  this.auth.instance.setActiveAccount(redirectResponse.account);
94
102
  this.updateAuthState(true);
95
- this.authenticated = true;
103
+ // Update user info from account
104
+ const userInfo = this.mapMSALAccountToStandard(redirectResponse.account);
105
+ this.updateUserInfo(userInfo);
96
106
  this._initializationCompleted$.next(true);
97
107
  }
98
108
  else {
@@ -101,7 +111,9 @@ let MJMSALProvider = class MJMSALProvider extends MJAuthBase {
101
111
  if (accounts.length > 0) {
102
112
  this.auth.instance.setActiveAccount(accounts[0]);
103
113
  this.updateAuthState(true);
104
- this.authenticated = true;
114
+ // Update user info from cached account
115
+ const userInfo = this.mapMSALAccountToStandard(accounts[0]);
116
+ this.updateUserInfo(userInfo);
105
117
  this._initializationCompleted$.next(true);
106
118
  }
107
119
  }
@@ -109,41 +121,37 @@ let MJMSALProvider = class MJMSALProvider extends MJAuthBase {
109
121
  this.msalBroadcastService.inProgress$
110
122
  .pipe(filter((status) => status === InteractionStatus.None), takeUntil(this._destroying$))
111
123
  .subscribe(() => {
112
- const isAuth = this.auth.instance.getAllAccounts().length > 0;
124
+ const accounts = this.auth.instance.getAllAccounts();
125
+ const isAuth = accounts.length > 0;
113
126
  this.updateAuthState(isAuth);
114
- this.authenticated = isAuth;
115
127
  if (isAuth) {
116
- this.auth.instance.setActiveAccount(this.auth.instance.getAllAccounts()[0]);
128
+ this.auth.instance.setActiveAccount(accounts[0]);
129
+ const userInfo = this.mapMSALAccountToStandard(accounts[0]);
130
+ this.updateUserInfo(userInfo);
131
+ }
132
+ else {
133
+ this.updateUserInfo(null);
117
134
  }
118
135
  this._initializationCompleted$.next(true);
119
136
  });
120
137
  }
121
- // Ensure methods wait for initialization
122
- async ensureInitialized() {
123
- // Trigger lazy initialization if not started
124
- if (!this._initPromise) {
125
- await this.initializeMSAL();
126
- }
127
- else if (!this._initializationCompleted$.value) {
128
- // Waiting for existing initialization to complete...
129
- await this._initPromise;
130
- }
131
- }
132
- login(options) {
138
+ async loginInternal(options) {
139
+ await this.ensureInitialized();
133
140
  const silentRequest = {
134
141
  scopes: ['User.Read', 'email', 'profile'],
135
142
  ...options
136
143
  };
137
- this.auth.loginRedirect(silentRequest).subscribe({
138
- next: () => {
139
- this.auth.instance.setActiveAccount(this.auth.instance.getAllAccounts()[0] || null);
140
- // Don't reload here - let the redirect handler manage the flow
141
- },
142
- error: (error) => {
143
- LogError(error);
144
- }
144
+ return new Promise((resolve, reject) => {
145
+ this.auth.loginRedirect(silentRequest).subscribe({
146
+ next: () => {
147
+ resolve();
148
+ },
149
+ error: (error) => {
150
+ LogError(error);
151
+ reject(error);
152
+ }
153
+ });
145
154
  });
146
- return of(void 0);
147
155
  }
148
156
  async logout() {
149
157
  await this.ensureInitialized();
@@ -151,106 +159,298 @@ let MJMSALProvider = class MJMSALProvider extends MJAuthBase {
151
159
  // Logout will trigger a redirect
152
160
  });
153
161
  }
154
- async refresh() {
162
+ async handleCallback() {
163
+ // MSAL Angular handles callbacks internally through its broadcast service
164
+ // The handleRedirectPromise is called in initialize()
155
165
  await this.ensureInitialized();
156
- const silentRequest = {
157
- scopes: ['User.Read', 'email', 'profile'],
158
- cacheLookupPolicy: CacheLookupPolicy.RefreshTokenAndNetwork,
159
- };
160
- return from(this.auth.instance.acquireTokenSilent(silentRequest));
161
166
  }
162
- async getUser() {
163
- await this.ensureInitialized();
164
- return this.auth.instance.getActiveAccount();
167
+ // ============================================================================
168
+ // ABSTRACT METHOD IMPLEMENTATIONS (v3.0.0)
169
+ // ============================================================================
170
+ /**
171
+ * Extract ID token from MSAL's storage
172
+ *
173
+ * MSAL stores the JWT in AuthenticationResult.idToken
174
+ * This is the key abstraction - consumers never need to know about MSAL's structure!
175
+ */
176
+ async extractIdTokenInternal() {
177
+ try {
178
+ await this.ensureInitialized();
179
+ const account = this.auth.instance.getActiveAccount();
180
+ if (!account) {
181
+ return null;
182
+ }
183
+ // First try to get cached token from account
184
+ // This avoids unnecessary iframe calls that can timeout
185
+ if (account.idToken) {
186
+ return account.idToken;
187
+ }
188
+ // If not in account, try silent token acquisition
189
+ // Match original getUserClaims: account parameter + no offline_access
190
+ const response = await this.auth.instance.acquireTokenSilent({
191
+ scopes: ['User.Read', 'email', 'profile'],
192
+ account: account,
193
+ cacheLookupPolicy: CacheLookupPolicy.RefreshTokenAndNetwork
194
+ });
195
+ // MSAL-specific detail: JWT is in idToken property
196
+ return response.idToken || null;
197
+ }
198
+ catch (error) {
199
+ console.error('[MSAL] Error extracting ID token:', error);
200
+ return null;
201
+ }
165
202
  }
166
- isAuthenticated() {
167
- // Return the base class observable which is being updated in initializeMSAL
168
- return this.isAuthenticated$.asObservable();
203
+ /**
204
+ * Extract complete token info from MSAL
205
+ *
206
+ * Maps MSAL's AuthenticationResult to StandardAuthToken
207
+ */
208
+ async extractTokenInfoInternal() {
209
+ try {
210
+ await this.ensureInitialized();
211
+ const account = this.auth.instance.getActiveAccount();
212
+ if (!account) {
213
+ return null;
214
+ }
215
+ // Match original getUserClaims: account parameter + no offline_access
216
+ const response = await this.auth.instance.acquireTokenSilent({
217
+ scopes: ['User.Read', 'email', 'profile'],
218
+ account: account,
219
+ cacheLookupPolicy: CacheLookupPolicy.RefreshTokenAndNetwork
220
+ });
221
+ if (!response.idToken) {
222
+ return null;
223
+ }
224
+ return {
225
+ idToken: response.idToken,
226
+ accessToken: response.accessToken,
227
+ expiresAt: response.expiresOn ? response.expiresOn.getTime() : 0,
228
+ scopes: response.scopes
229
+ };
230
+ }
231
+ catch (error) {
232
+ // If acquireTokenSilent fails (e.g., iframe timeout), try to use cached account data
233
+ console.error('[MSAL] Error extracting token info:', error);
234
+ const account = this.auth.instance.getActiveAccount();
235
+ if (account?.idToken) {
236
+ // Return basic token info from account if available
237
+ return {
238
+ idToken: account.idToken,
239
+ expiresAt: 0, // Unknown from account alone
240
+ scopes: []
241
+ };
242
+ }
243
+ return null;
244
+ }
169
245
  }
170
- async getUserClaims() {
171
- await this.ensureInitialized();
172
- const account = this.auth.instance.getActiveAccount();
173
- if (!account) {
174
- // No account, return null observable
175
- return of(null);
246
+ /**
247
+ * Extract user info from MSAL account
248
+ *
249
+ * Maps MSAL's AccountInfo structure to StandardUserInfo
250
+ */
251
+ async extractUserInfoInternal() {
252
+ try {
253
+ await this.ensureInitialized();
254
+ const account = this.auth.instance.getActiveAccount();
255
+ if (!account) {
256
+ return null;
257
+ }
258
+ return this.mapMSALAccountToStandard(account);
176
259
  }
177
- const silentRequest = {
178
- scopes: ['User.Read', 'email', 'profile'],
179
- account: account,
180
- cacheLookupPolicy: CacheLookupPolicy.RefreshTokenAndNetwork
181
- };
182
- return from(this.auth.instance.acquireTokenSilent(silentRequest)).pipe(map((response) => response), catchError((error) => {
183
- LogError(error);
184
- if (error instanceof InteractionRequiredAuthError) {
185
- // Try popup as fallback
186
- return from(this.auth.instance.acquireTokenPopup({
187
- scopes: ['User.Read', 'email', 'profile']
188
- }));
260
+ catch (error) {
261
+ console.error('[MSAL] Error extracting user info:', error);
262
+ return null;
263
+ }
264
+ }
265
+ /**
266
+ * Refresh token using MSAL's silent token acquisition
267
+ *
268
+ * Uses acquireTokenSilent with forceRefresh to get new tokens
269
+ */
270
+ async refreshTokenInternal() {
271
+ try {
272
+ await this.ensureInitialized();
273
+ const account = this.auth.instance.getActiveAccount();
274
+ if (!account) {
275
+ return {
276
+ success: false,
277
+ error: {
278
+ type: AuthErrorType.NO_ACTIVE_SESSION,
279
+ message: 'No active account found',
280
+ userMessage: 'You need to log in to continue.'
281
+ }
282
+ };
189
283
  }
190
- this.authenticated = false;
191
- return throwError(() => error);
192
- }));
284
+ // IMPORTANT: Match original code exactly - no account parameter, no offline_access
285
+ // This allows MSAL to find refresh tokens even without scope information
286
+ const response = await this.auth.instance.acquireTokenSilent({
287
+ scopes: ['User.Read', 'email', 'profile'],
288
+ cacheLookupPolicy: CacheLookupPolicy.RefreshTokenAndNetwork
289
+ // NOTE: Intentionally NOT passing account or offline_access to match original working code
290
+ });
291
+ if (!response.idToken) {
292
+ return {
293
+ success: false,
294
+ error: {
295
+ type: AuthErrorType.NO_ACTIVE_SESSION,
296
+ message: 'Token refresh succeeded but no ID token returned',
297
+ userMessage: 'Session refresh failed. Please log in again.'
298
+ }
299
+ };
300
+ }
301
+ const token = {
302
+ idToken: response.idToken,
303
+ accessToken: response.accessToken,
304
+ expiresAt: response.expiresOn ? response.expiresOn.getTime() : 0,
305
+ scopes: response.scopes
306
+ };
307
+ return {
308
+ success: true,
309
+ token
310
+ };
311
+ }
312
+ catch (error) {
313
+ console.error('[MSAL] Token refresh failed:', error);
314
+ return {
315
+ success: false,
316
+ error: this.classifyErrorInternal(error)
317
+ };
318
+ }
193
319
  }
194
- checkExpiredTokenError(error) {
195
- return error?.trim().toLowerCase().includes('you need to be authorized to perform');
320
+ /**
321
+ * Classify MSAL-specific errors into semantic types
322
+ *
323
+ * Maps MSAL error classes to AuthErrorType enum
324
+ */
325
+ classifyErrorInternal(error) {
326
+ const errorObj = error;
327
+ const message = errorObj?.['message'] || 'Unknown error';
328
+ const errorCode = errorObj?.['errorCode'] || '';
329
+ // Check for specific MSAL error types
330
+ if (error instanceof InteractionRequiredAuthError) {
331
+ return {
332
+ type: AuthErrorType.INTERACTION_REQUIRED,
333
+ message,
334
+ originalError: error,
335
+ userMessage: 'Additional authentication is required. Please log in again.'
336
+ };
337
+ }
338
+ if (error instanceof BrowserAuthError) {
339
+ // Check specific error codes
340
+ if (errorCode === 'user_cancelled' || message.includes('user cancelled')) {
341
+ return {
342
+ type: AuthErrorType.USER_CANCELLED,
343
+ message,
344
+ originalError: error,
345
+ userMessage: 'Login was cancelled.'
346
+ };
347
+ }
348
+ return {
349
+ type: AuthErrorType.NO_ACTIVE_SESSION,
350
+ message,
351
+ originalError: error,
352
+ userMessage: 'Authentication error. Please log in again.'
353
+ };
354
+ }
355
+ // Check message patterns
356
+ if (message.includes('token') && message.includes('expired')) {
357
+ return {
358
+ type: AuthErrorType.TOKEN_EXPIRED,
359
+ message,
360
+ originalError: error,
361
+ userMessage: 'Your session has expired. Please log in again.'
362
+ };
363
+ }
364
+ if (message.includes('network') || message.includes('fetch')) {
365
+ return {
366
+ type: AuthErrorType.NETWORK_ERROR,
367
+ message,
368
+ originalError: error,
369
+ userMessage: 'Network error. Please check your connection and try again.'
370
+ };
371
+ }
372
+ if (message.includes('you need to be authorized')) {
373
+ return {
374
+ type: AuthErrorType.TOKEN_EXPIRED,
375
+ message,
376
+ originalError: error,
377
+ userMessage: 'Your session has expired. Please log in again.'
378
+ };
379
+ }
380
+ // Default to unknown error
381
+ return {
382
+ type: AuthErrorType.UNKNOWN_ERROR,
383
+ message,
384
+ originalError: error,
385
+ userMessage: 'An unexpected error occurred. Please try again.'
386
+ };
196
387
  }
197
- // Required methods for the new interface
198
- async initialize() {
199
- await this.initializeMSAL();
388
+ // ============================================================================
389
+ // HELPER METHODS
390
+ // ============================================================================
391
+ async ensureInitialized() {
392
+ if (!this._initPromise) {
393
+ await this.initialize();
394
+ }
395
+ else if (!this._initializationCompleted$.value) {
396
+ await this._initPromise;
397
+ }
200
398
  }
201
- async loginInternal(options) {
202
- await this.ensureInitialized();
203
- const silentRequest = {
204
- scopes: ['User.Read', 'email', 'profile'],
205
- ...options
399
+ /**
400
+ * Map MSAL AccountInfo to StandardUserInfo
401
+ */
402
+ mapMSALAccountToStandard(account) {
403
+ return {
404
+ id: account.localAccountId || account.homeAccountId,
405
+ email: account.username || '',
406
+ name: account.name || account.username || '',
407
+ givenName: account.idTokenClaims?.['given_name'],
408
+ familyName: account.idTokenClaims?.['family_name'],
409
+ preferredUsername: account.username,
410
+ emailVerified: true // MSAL doesn't provide this, assume true
206
411
  };
207
- return new Promise((resolve, reject) => {
208
- this.auth.loginRedirect(silentRequest).subscribe({
209
- next: () => {
210
- resolve();
211
- },
212
- error: (error) => {
213
- LogError(error);
214
- reject(error);
215
- }
216
- });
217
- });
218
412
  }
219
- async getToken() {
220
- await this.ensureInitialized();
413
+ /**
414
+ * Get profile picture URL from Microsoft Graph API
415
+ *
416
+ * MSAL requires fetching the photo from Microsoft Graph.
417
+ * This is the key advantage of encapsulation - consumers don't need
418
+ * to know about Graph API, they just call getProfilePictureUrl()!
419
+ */
420
+ async getProfilePictureUrlInternal() {
221
421
  try {
422
+ await this.ensureInitialized();
222
423
  const account = this.auth.instance.getActiveAccount();
223
424
  if (!account) {
224
425
  return null;
225
426
  }
427
+ // Get access token for Microsoft Graph
226
428
  const response = await this.auth.instance.acquireTokenSilent({
227
429
  scopes: ['User.Read'],
228
430
  account: account,
229
431
  forceRefresh: false
230
432
  });
231
- return response.accessToken;
433
+ if (!response.accessToken) {
434
+ return null;
435
+ }
436
+ // Fetch photo from Microsoft Graph
437
+ const graphResponse = await fetch('https://graph.microsoft.com/v1.0/me/photo/$value', {
438
+ headers: { 'Authorization': `Bearer ${response.accessToken}` }
439
+ });
440
+ if (graphResponse.ok) {
441
+ const blob = await graphResponse.blob();
442
+ return URL.createObjectURL(blob);
443
+ }
444
+ return null;
232
445
  }
233
446
  catch (error) {
234
- if (error instanceof InteractionRequiredAuthError) {
235
- // Try interactive login if silent acquisition fails
236
- try {
237
- const response = await this.auth.instance.acquireTokenPopup({
238
- scopes: ['User.Read']
239
- });
240
- return response.accessToken;
241
- }
242
- catch (popupError) {
243
- console.error('Failed to acquire token via popup:', popupError);
244
- }
245
- }
447
+ console.error('[MSAL] Error getting profile picture:', error);
246
448
  return null;
247
449
  }
248
450
  }
249
- async handleCallback() {
250
- // MSAL Angular handles callbacks internally through its broadcast service
251
- // The handleRedirectPromise is called in initializeMSAL
252
- await this.ensureInitialized();
253
- }
451
+ // ============================================================================
452
+ // CONFIGURATION
453
+ // ============================================================================
254
454
  getRequiredConfig() {
255
455
  return ['clientId', 'tenantId'];
256
456
  }
@@ -258,17 +458,14 @@ let MJMSALProvider = class MJMSALProvider extends MJAuthBase {
258
458
  // MSAL configuration is handled by Angular module providers
259
459
  return true;
260
460
  }
461
+ // ============================================================================
462
+ // CLEANUP
463
+ // ============================================================================
261
464
  ngOnDestroy() {
262
- // Complete the destroying subject to clean up subscriptions
263
465
  this._destroying$.next();
264
466
  this._destroying$.complete();
265
- // Clear any cached promises
266
467
  this._initPromise = null;
267
- // Complete behavior subjects
268
468
  this._initializationCompleted$.complete();
269
- this.isAuthenticated$.complete();
270
- this.userProfile$.complete();
271
- this.userEmail$.complete();
272
469
  }
273
470
  static ɵfac = function MJMSALProvider_Factory(t) { return new (t || MJMSALProvider)(i0.ɵɵinject(i1.MsalService), i0.ɵɵinject(i1.MsalBroadcastService)); };
274
471
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MJMSALProvider, factory: MJMSALProvider.ɵfac, providedIn: 'root' });
@@ -1 +1 @@
1
- {"version":3,"file":"mjexplorer-msal-provider.service.js","sourceRoot":"","sources":["../../../src/lib/providers/mjexplorer-msal-provider.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mjexplorer-msal-provider.service.js","sourceRoot":"","sources":["../../../src/lib/providers/mjexplorer-msal-provider.service.ts"],"names":[],"mappings":"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"}