@equinor/fusion-framework-module-msal 10.0.1 → 11.0.0-next.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 (118) hide show
  1. package/CHANGELOG.md +173 -0
  2. package/README.md +17 -368
  3. package/dist/esm/MsalClient.js +9 -0
  4. package/dist/esm/MsalClient.js.map +1 -1
  5. package/dist/esm/MsalConfigurator.js +178 -88
  6. package/dist/esm/MsalConfigurator.js.map +1 -1
  7. package/dist/esm/MsalProvider.js +20 -1
  8. package/dist/esm/MsalProvider.js.map +1 -1
  9. package/dist/esm/__tests__/MsalConfigurator.test.js +75 -0
  10. package/dist/esm/__tests__/MsalConfigurator.test.js.map +1 -1
  11. package/dist/esm/__tests__/create-proxy-provider.test.js +53 -0
  12. package/dist/esm/__tests__/create-proxy-provider.test.js.map +1 -0
  13. package/dist/esm/__tests__/mock/msal-mock.test.js +399 -0
  14. package/dist/esm/__tests__/mock/msal-mock.test.js.map +1 -0
  15. package/dist/esm/create-client-log-callback.js +1 -0
  16. package/dist/esm/create-client-log-callback.js.map +1 -1
  17. package/dist/esm/create-proxy-provider.js +5 -0
  18. package/dist/esm/create-proxy-provider.js.map +1 -1
  19. package/dist/esm/index.js +5 -0
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/mock/MsalMockClient.js +467 -0
  22. package/dist/esm/mock/MsalMockClient.js.map +1 -0
  23. package/dist/esm/mock/MsalMockConfigurator.js +187 -0
  24. package/dist/esm/mock/MsalMockConfigurator.js.map +1 -0
  25. package/dist/esm/mock/create-mock-token.js +60 -0
  26. package/dist/esm/mock/create-mock-token.js.map +1 -0
  27. package/dist/esm/mock/create-msal-mock-client.js +20 -0
  28. package/dist/esm/mock/create-msal-mock-client.js.map +1 -0
  29. package/dist/esm/mock/decode-jwt-segment.js +22 -0
  30. package/dist/esm/mock/decode-jwt-segment.js.map +1 -0
  31. package/dist/esm/mock/index.js +30 -0
  32. package/dist/esm/mock/index.js.map +1 -0
  33. package/dist/esm/mock/module.js +38 -0
  34. package/dist/esm/mock/module.js.map +1 -0
  35. package/dist/esm/module.js +3 -2
  36. package/dist/esm/module.js.map +1 -1
  37. package/dist/esm/msal-config-schema.js +37 -0
  38. package/dist/esm/msal-config-schema.js.map +1 -0
  39. package/dist/esm/telemetry-config-schema.js +16 -0
  40. package/dist/esm/telemetry-config-schema.js.map +1 -0
  41. package/dist/esm/util/normalize-uri.js.map +1 -1
  42. package/dist/esm/v2/Logger.js +173 -0
  43. package/dist/esm/v2/Logger.js.map +1 -0
  44. package/dist/esm/v2/create-proxy-client.js +6 -0
  45. package/dist/esm/v2/create-proxy-client.js.map +1 -1
  46. package/dist/esm/v2/create-proxy-provider.js +4 -0
  47. package/dist/esm/v2/create-proxy-provider.js.map +1 -1
  48. package/dist/esm/v2/types.js +3 -124
  49. package/dist/esm/v2/types.js.map +1 -1
  50. package/dist/esm/v4/create-proxy-provider.js +1 -0
  51. package/dist/esm/v4/create-proxy-provider.js.map +1 -1
  52. package/dist/esm/v4/types.js.map +1 -1
  53. package/dist/esm/version.js +1 -1
  54. package/dist/esm/version.js.map +1 -1
  55. package/dist/esm/versioning/VersionError.js.map +1 -1
  56. package/dist/esm/versioning/resolve-version.js +4 -1
  57. package/dist/esm/versioning/resolve-version.js.map +1 -1
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/dist/types/MsalClient.d.ts +4 -0
  60. package/dist/types/MsalConfigurator.d.ts +97 -20
  61. package/dist/types/MsalProvider.d.ts +13 -0
  62. package/dist/types/__tests__/create-proxy-provider.test.d.ts +1 -0
  63. package/dist/types/__tests__/mock/msal-mock.test.d.ts +1 -0
  64. package/dist/types/create-proxy-provider.d.ts +3 -0
  65. package/dist/types/index.d.ts +5 -0
  66. package/dist/types/mock/MsalMockClient.d.ts +270 -0
  67. package/dist/types/mock/MsalMockConfigurator.d.ts +156 -0
  68. package/dist/types/mock/create-mock-token.d.ts +54 -0
  69. package/dist/types/mock/create-msal-mock-client.d.ts +14 -0
  70. package/dist/types/mock/decode-jwt-segment.d.ts +13 -0
  71. package/dist/types/mock/index.d.ts +29 -0
  72. package/dist/types/mock/module.d.ts +35 -0
  73. package/dist/types/msal-config-schema.d.ts +64 -0
  74. package/dist/types/static.d.ts +1 -1
  75. package/dist/types/telemetry-config-schema.d.ts +8 -0
  76. package/dist/types/v2/IAuthClient.interface.d.ts +2 -2
  77. package/dist/types/v2/Logger.d.ts +92 -0
  78. package/dist/types/v2/MsalProvider.interface.d.ts +1 -1
  79. package/dist/types/v2/types.d.ts +3 -49
  80. package/dist/types/v4/types.d.ts +1 -3
  81. package/dist/types/version.d.ts +1 -1
  82. package/docs/api-reference.md +85 -0
  83. package/docs/auth-code-flow.md +86 -0
  84. package/docs/migration-v2-to-v4.md +115 -0
  85. package/docs/testing.md +167 -0
  86. package/docs/troubleshooting.md +17 -0
  87. package/docs/version-management.md +67 -0
  88. package/package.json +14 -7
  89. package/src/MsalClient.ts +9 -0
  90. package/src/MsalConfigurator.ts +204 -115
  91. package/src/MsalProvider.ts +20 -1
  92. package/src/__tests__/MsalConfigurator.test.ts +106 -0
  93. package/src/__tests__/create-proxy-provider.test.ts +77 -0
  94. package/src/__tests__/mock/msal-mock.test.ts +544 -0
  95. package/src/create-client-log-callback.ts +1 -0
  96. package/src/create-proxy-provider.ts +5 -0
  97. package/src/index.ts +6 -0
  98. package/src/mock/MsalMockClient.ts +599 -0
  99. package/src/mock/MsalMockConfigurator.ts +241 -0
  100. package/src/mock/create-mock-token.ts +92 -0
  101. package/src/mock/create-msal-mock-client.ts +25 -0
  102. package/src/mock/decode-jwt-segment.ts +22 -0
  103. package/src/mock/index.ts +29 -0
  104. package/src/mock/module.ts +54 -0
  105. package/src/module.ts +3 -2
  106. package/src/msal-config-schema.ts +81 -0
  107. package/src/telemetry-config-schema.ts +25 -0
  108. package/src/v2/IAuthClient.interface.ts +2 -2
  109. package/src/v2/Logger.ts +204 -0
  110. package/src/v2/MsalProvider.interface.ts +1 -1
  111. package/src/v2/create-proxy-client.ts +6 -0
  112. package/src/v2/create-proxy-provider.ts +4 -0
  113. package/src/v2/types.ts +8 -158
  114. package/src/v4/create-proxy-provider.ts +1 -0
  115. package/src/v4/types.ts +3 -3
  116. package/src/version.ts +1 -1
  117. package/src/versioning/resolve-version.ts +4 -1
  118. package/vitest.config.ts +1 -1
@@ -1,43 +1,12 @@
1
- import z from 'zod';
2
- import { BaseConfigBuilder } from '@equinor/fusion-framework-module';
3
- import semver from 'semver';
4
- import { TelemetryLevel, } from '@equinor/fusion-framework-module-telemetry';
1
+ import { BaseConfigBuilder, } from '@equinor/fusion-framework-module';
2
+ import { TelemetryLevel } from '@equinor/fusion-framework-module-telemetry';
3
+ import { CacheLookupPolicy, LogLevel } from '@azure/msal-browser';
5
4
  import { MsalClient } from './MsalClient';
6
5
  import { createClientLogCallback } from './create-client-log-callback';
7
- import { CacheLookupPolicy, LogLevel } from '@azure/msal-browser';
8
6
  import { version } from './version';
9
- /**
10
- * Zod schema for telemetry configuration validation.
11
- *
12
- * @internal
13
- */
14
- const TelemetryConfigSchema = z.object({
15
- provider: z.custom().optional(),
16
- metadata: z.record(z.string(), z.unknown()).optional().default({
17
- module: 'msal',
18
- version,
19
- }),
20
- scope: z.array(z.string()).optional().default(['framework', 'authentication']),
21
- });
22
- /**
23
- * Zod schema for MSAL module configuration validation.
24
- *
25
- * @internal
26
- */
27
- const MsalConfigSchema = z.object({
28
- client: z.custom().optional(),
29
- provider: z.custom().optional(),
30
- requiresAuth: z.boolean().optional(),
31
- redirectUri: z.string().optional(),
32
- loginHint: z.string().optional(),
33
- authCode: z.string().optional(),
34
- cacheLookupPolicy: z
35
- .custom((val) => typeof val === 'number' &&
36
- Object.values(CacheLookupPolicy).includes(val))
37
- .optional(),
38
- version: z.string().transform((x) => String(semver.coerce(x))),
39
- telemetry: TelemetryConfigSchema,
40
- });
7
+ import { MsalConfigSchema } from './msal-config-schema';
8
+ export { MsalConfigSchema, } from './msal-config-schema';
9
+ export { TelemetryConfigSchema } from './telemetry-config-schema';
41
10
  /**
42
11
  * Configuration builder for MSAL v4 authentication module.
43
12
  *
@@ -53,10 +22,12 @@ const MsalConfigSchema = z.object({
53
22
  */
54
23
  export class MsalConfigurator extends BaseConfigBuilder {
55
24
  #msalConfig;
25
+ #client;
56
26
  /**
57
27
  * The MSAL module version being configured.
58
28
  *
59
29
  * @default Latest
30
+ * @returns The configured MSAL module version.
60
31
  */
61
32
  get version() {
62
33
  return version;
@@ -72,11 +43,15 @@ export class MsalConfigurator extends BaseConfigBuilder {
72
43
  this._set('version', async () => this.version);
73
44
  // Auto-detect and integrate telemetry module if available
74
45
  this._set('telemetry.provider', async (args) => {
46
+ // Only resolve the telemetry instance when the telemetry module is registered
75
47
  if (args.hasModule('telemetry')) {
76
48
  const telemetry = await args.requireInstance('telemetry');
77
49
  return telemetry;
78
50
  }
79
51
  });
52
+ // Always resolve the configured client instance through the builder.
53
+ // This keeps the client getter live and avoids re-registering the same config key.
54
+ this._set('client', async () => this.#client);
80
55
  // Default cache lookup policy to AccessTokenAndRefreshToken to avoid iframe fallback delays
81
56
  this._set('cacheLookupPolicy', async () => CacheLookupPolicy.AccessTokenAndRefreshToken);
82
57
  }
@@ -104,6 +79,22 @@ export class MsalConfigurator extends BaseConfigBuilder {
104
79
  this.#msalConfig = config;
105
80
  return this;
106
81
  }
82
+ /**
83
+ * Returns the client configuration declared through
84
+ * {@link MsalConfigurator.setClientConfig | setClientConfig}, if any.
85
+ *
86
+ * @remarks
87
+ * This is the configuration as declared, not the resolved one a client is
88
+ * built from — see
89
+ * {@link MsalConfigurator._createClientConfig | _createClientConfig} for that.
90
+ * Reading it is how a subclass can tell "nothing was declared" apart from
91
+ * "declared, and here it is", without re-deriving that from a resolved value.
92
+ *
93
+ * @returns The declared client configuration, or `undefined` when none was declared.
94
+ */
95
+ getClientConfig() {
96
+ return this.#msalConfig;
97
+ }
107
98
  /**
108
99
  * Sets the cache lookup policy used for every silent token acquisition.
109
100
  *
@@ -237,9 +228,21 @@ export class MsalConfigurator extends BaseConfigBuilder {
237
228
  * ```
238
229
  */
239
230
  setClient(client) {
240
- this._set('client', async () => client);
231
+ this.#client = client;
241
232
  return this;
242
233
  }
234
+ /**
235
+ * Returns the currently configured MSAL client, if one has been set.
236
+ *
237
+ * @remarks
238
+ * This is useful in tests when a mock client has been provided and the test
239
+ * wants to adjust its state after it has been assigned to the configurator.
240
+ *
241
+ * @returns The configured client, or `undefined` when none has been set.
242
+ */
243
+ getClient() {
244
+ return this.#client;
245
+ }
243
246
  /**
244
247
  * Sets telemetry provider for MSAL authentication events.
245
248
  *
@@ -287,64 +290,151 @@ export class MsalConfigurator extends BaseConfigBuilder {
287
290
  /**
288
291
  * Processes and validates the configuration.
289
292
  *
290
- * @param config - Raw configuration object
293
+ * @param rawConfig - Raw configuration object
294
+ * @param init - The builder arguments, carrying the host reference when hoisted
291
295
  * @returns Processed and validated configuration
292
296
  */
293
- async _processConfig(rawConfig) {
297
+ async _processConfig(rawConfig, init) {
294
298
  // Validate and coerce configuration using Zod schema
295
299
  const config = await MsalConfigSchema.parseAsync(rawConfig);
296
- // Auto-create client if config provided but no client instance
300
+ // Auto-create client if no client instance was supplied
297
301
  // This allows users to provide configuration without manually instantiating the client
298
- if (!config.client && !!this.#msalConfig) {
299
- const clientConfig = this.#msalConfig;
300
- config.telemetry.provider?.trackEvent({
301
- name: 'module-msal.configurator._processConfig.creating-client',
302
+ // A hoisted module authenticates through the host's provider, so any client built here
303
+ // would be discarded — gate it here rather than in `_createClient`, so a substituted
304
+ // client (see `MsalMockConfigurator`) cannot shadow the host's signed-in user
305
+ if (!config.client && !this._isHoisted(init)) {
306
+ config.client = await this._createClient(config, init);
307
+ }
308
+ return config;
309
+ }
310
+ /**
311
+ * Creates the client to authenticate through, when none was supplied.
312
+ *
313
+ * @remarks
314
+ * Called by {@link MsalConfigurator._processConfig | _processConfig} only when
315
+ * no client was set, so a client supplied through
316
+ * {@link MsalConfigurator.setClient | setClient} always wins. It is likewise
317
+ * not called when the module is hoisted onto a host application's provider —
318
+ * see {@link MsalConfigurator._isHoisted | _isHoisted}.
319
+ *
320
+ * This is the seam for authenticating through something other than Entra ID.
321
+ * Overriding it replaces only the client, leaving the builder, the schema
322
+ * validation and `MsalProvider` untouched — which is how
323
+ * `MsalMockConfigurator` substitutes an in-process client for tests.
324
+ *
325
+ * An override normally builds from
326
+ * {@link MsalConfigurator._createClientConfig | _createClientConfig}, so it
327
+ * receives the same fully-resolved {@link MsalClientConfig} the real client is
328
+ * built from rather than re-deriving it.
329
+ *
330
+ * Returning `undefined` is legitimate and means "there is nothing to build a
331
+ * client from", which leaves the module without one.
332
+ *
333
+ * @param config - The validated configuration the client is built from.
334
+ * @param init - The builder arguments, carrying the host reference when hoisted.
335
+ * @returns The client, or `undefined` when there is nothing to build one from.
336
+ */
337
+ async _createClient(config, _init) {
338
+ const clientConfig = this._createClientConfig(config);
339
+ // A client can be omitted for a hoisted module or an intentionally incomplete setup.
340
+ if (!clientConfig) {
341
+ return undefined;
342
+ }
343
+ // Instantiate MSAL client with fully configured options
344
+ return new MsalClient(clientConfig);
345
+ }
346
+ /**
347
+ * Whether this module is hoisted onto a host application's authentication.
348
+ *
349
+ * @remarks
350
+ * When an application runs inside a host — a portal loading an app, or an app
351
+ * loading a widget — the module initializer returns a proxy of the host's
352
+ * provider instead of building its own (see the host-provider branch of the
353
+ * module initializer). A client built during configuration would therefore be
354
+ * constructed and immediately discarded.
355
+ *
356
+ * Detecting this during configuration lets the configurator skip building a
357
+ * client entirely, which matters most for substituted clients: a mock client
358
+ * built here would otherwise silently shadow the host's real signed-in user.
359
+ *
360
+ * @param init - The builder arguments, carrying the host reference when hoisted.
361
+ * @returns `true` when a host provider will be used instead of a locally built client.
362
+ */
363
+ _isHoisted(init) {
364
+ return !!init?.ref?.auth;
365
+ }
366
+ /**
367
+ * Resolves the full MSAL client configuration to build a client from.
368
+ *
369
+ * @remarks
370
+ * Applies the defaults a client is expected to be built with — authority
371
+ * derived from the tenant, cache location, telemetry-backed logging and the
372
+ * configured cache lookup policy.
373
+ *
374
+ * Kept separate from {@link MsalConfigurator._createClient | _createClient} so
375
+ * that substituting the client does not also mean re-implementing this
376
+ * resolution. `MsalMockConfigurator` relies on it to hand its mock client the
377
+ * very same configuration the real client would have received.
378
+ *
379
+ * @param config - The validated configuration.
380
+ * @returns The client configuration, or `undefined` when none was declared.
381
+ */
382
+ _createClientConfig(config) {
383
+ const declared = this.#msalConfig;
384
+ // Do not construct a client when configuration has not supplied client settings.
385
+ if (!declared) {
386
+ return undefined;
387
+ }
388
+ config.telemetry.provider?.trackEvent({
389
+ name: 'module-msal.configurator._processConfig.creating-client',
390
+ level: TelemetryLevel.Debug,
391
+ scope: config.telemetry.scope,
392
+ metadata: { ...config.telemetry.metadata, clientConfig: declared },
393
+ });
394
+ // Copied rather than enriched in place, so the object a caller passed to
395
+ // `setClientConfig` is never rewritten behind its back — a caller may well
396
+ // be reusing or asserting on it
397
+ const clientConfig = {
398
+ ...declared,
399
+ auth: { ...declared.auth },
400
+ // Default to localStorage: MSAL supports sessionStorage too, but
401
+ // localStorage is the standard for persistent auth in browsers
402
+ cache: declared.cache ?? { cacheLocation: 'localStorage' },
403
+ };
404
+ // Auto-generate authority URL from tenant ID if not explicitly provided
405
+ // This simplifies configuration for most common cases
406
+ if (!clientConfig.auth.authority && clientConfig.auth.tenantId) {
407
+ clientConfig.auth.authority = `https://login.microsoftonline.com/${clientConfig.auth.tenantId}`;
408
+ }
409
+ // Integrate framework telemetry with MSAL logging system
410
+ // This allows MSAL events to flow through the framework's telemetry pipeline
411
+ if (!clientConfig.system?.loggerOptions && config.telemetry?.provider) {
412
+ const { provider, metadata, scope } = config.telemetry;
413
+ provider.trackEvent({
414
+ name: 'module-msal.configurator._processConfig.client-telemetry-connected',
302
415
  level: TelemetryLevel.Debug,
303
- scope: config.telemetry.scope,
304
- metadata: { ...config.telemetry.metadata, clientConfig },
416
+ scope,
417
+ metadata,
305
418
  });
306
- // Auto-generate authority URL from tenant ID if not explicitly provided
307
- // This simplifies configuration for most common cases
308
- if (!clientConfig.auth.authority && clientConfig.auth.tenantId) {
309
- clientConfig.auth.authority = `https://login.microsoftonline.com/${clientConfig.auth.tenantId}`;
310
- }
311
- // Set default cache location to localStorage for browser environments
312
- // MSAL supports sessionStorage as well, but localStorage is the standard for persistent auth
313
- if (!clientConfig.cache) {
314
- clientConfig.cache = { cacheLocation: 'localStorage' };
315
- }
316
- // Integrate framework telemetry with MSAL logging system
317
- // This allows MSAL events to flow through the framework's telemetry pipeline
318
- if (!clientConfig.system?.loggerOptions && config.telemetry?.provider) {
319
- const { provider, metadata, scope } = config.telemetry;
320
- provider.trackEvent({
321
- name: 'module-msal.configurator._processConfig.client-telemetry-connected',
322
- level: TelemetryLevel.Debug,
323
- scope,
324
- metadata,
325
- });
326
- clientConfig.system = {
327
- ...clientConfig.system,
328
- loggerOptions: {
329
- // Only log PII in development to protect user privacy in production
330
- piiLoggingEnabled: process.env.NODE_ENV === 'development',
331
- // Bridge MSAL log events to framework telemetry system
332
- loggerCallback: createClientLogCallback(provider, metadata, [...scope, '3rd-party']),
333
- // Use Warning level by default - captures errors and warnings without being verbose
334
- logLevel: LogLevel.Warning,
335
- // Preserve any user-provided logger options (allows customization)
336
- ...clientConfig.system?.loggerOptions,
337
- },
338
- };
339
- }
340
- // Apply silent cache lookup policy if configured
341
- if (config.cacheLookupPolicy !== undefined) {
342
- clientConfig.cacheLookupPolicy = config.cacheLookupPolicy;
343
- }
344
- // Instantiate MSAL client with fully configured options
345
- config.client = new MsalClient(clientConfig);
419
+ clientConfig.system = {
420
+ ...clientConfig.system,
421
+ loggerOptions: {
422
+ // Only log PII in development to protect user privacy in production
423
+ piiLoggingEnabled: process.env.NODE_ENV === 'development',
424
+ // Bridge MSAL log events to framework telemetry system
425
+ loggerCallback: createClientLogCallback(provider, metadata, [...scope, '3rd-party']),
426
+ // Use Warning level by default - captures errors and warnings without being verbose
427
+ logLevel: LogLevel.Warning,
428
+ // Preserve any user-provided logger options (allows customization)
429
+ ...clientConfig.system?.loggerOptions,
430
+ },
431
+ };
346
432
  }
347
- return config;
433
+ // Apply silent cache lookup policy if configured
434
+ if (config.cacheLookupPolicy !== undefined) {
435
+ clientConfig.cacheLookupPolicy = config.cacheLookupPolicy;
436
+ }
437
+ return clientConfig;
348
438
  }
349
439
  }
350
440
  //# sourceMappingURL=MsalConfigurator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MsalConfigurator.js","sourceRoot":"","sources":["../../src/MsalConfigurator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MsalConfigurator.js","sourceRoot":"","sources":["../../src/MsalConfigurator.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,8 @@ export class MsalProvider extends BaseModuleProvider {
37
37
  * Default OAuth scopes used when the caller provides no scopes.
38
38
  *
39
39
  * Resolves to the app's Entra ID configured permissions via the `/.default` scope.
40
+ *
41
+ * @returns The default OAuth scopes derived from the configured client ID.
40
42
  */
41
43
  get defaultScopes() {
42
44
  const clientId = this.#client.clientId;
@@ -59,6 +61,8 @@ export class MsalProvider extends BaseModuleProvider {
59
61
  *
60
62
  * Provides access to the underlying MSAL PublicClientApplication for advanced use cases.
61
63
  * Prefer using provider methods for standard authentication operations.
64
+ *
65
+ * @returns The underlying MSAL client instance.
62
66
  */
63
67
  get client() {
64
68
  return this.#client;
@@ -68,6 +72,8 @@ export class MsalProvider extends BaseModuleProvider {
68
72
  *
69
73
  * Returns the active account if a user is authenticated, or null if no user is logged in.
70
74
  * This is a shorthand for `client.getActiveAccount()`.
75
+ *
76
+ * @returns The currently authenticated account, or `null` if no user is logged in.
71
77
  */
72
78
  get account() {
73
79
  return this.#client.getActiveAccount();
@@ -131,6 +137,8 @@ export class MsalProvider extends BaseModuleProvider {
131
137
  *
132
138
  * The provider will attempt automatic login with empty scopes if requiresAuth is true.
133
139
  * Apps should call acquireToken with actual scopes after initialization completes.
140
+ *
141
+ * @throws {Error} If auth code exchange requires a client ID but none is configured.
134
142
  */
135
143
  async initialize() {
136
144
  // Guard: skip authentication when running inside MSAL's hidden iframe.
@@ -157,6 +165,7 @@ export class MsalProvider extends BaseModuleProvider {
157
165
  // Use MSAL's acquireTokenByCode to exchange backend auth code for tokens
158
166
  // This follows Microsoft's standard SPA Auth Code Flow pattern
159
167
  const clientId = this.#client.clientId;
168
+ // A client ID is required to build the default scope used for the auth code exchange
160
169
  if (!clientId) {
161
170
  throw new Error('Client ID is required for auth code exchange');
162
171
  }
@@ -200,6 +209,7 @@ export class MsalProvider extends BaseModuleProvider {
200
209
  // Priority 1: Check if returning from redirect-based authentication
201
210
  // This handles cases where user just completed a login/acquireToken via redirect
202
211
  const handleRedirectResult = await this.handleRedirect();
212
+ // A returned account means the user just completed a redirect-based login
203
213
  if (handleRedirectResult?.account) {
204
214
  // Successfully authenticated via redirect - set as active account
205
215
  // This means the user was redirected to Microsoft and came back authenticated
@@ -216,6 +226,7 @@ export class MsalProvider extends BaseModuleProvider {
216
226
  // Note: Using default scopes here as we don't know what scopes the app needs yet
217
227
  // App should call acquireToken with actual scopes after initialization
218
228
  const loginResult = await this.login({ request: { scopes: this.defaultScopes } });
229
+ // Only set the active account when the automatic login actually returned one
219
230
  if (loginResult?.account) {
220
231
  // Automatic login successful - set as active account
221
232
  this.#client.setActiveAccount(loginResult.account);
@@ -264,6 +275,8 @@ export class MsalProvider extends BaseModuleProvider {
264
275
  * @remark Empty scopes are currently tracked as telemetry exceptions but execution continues for monitoring purposes.
265
276
  * This behavior will be changed to throw exceptions once sufficient metrics are collected.
266
277
  *
278
+ * @throws {Error} Re-throws any error encountered during token acquisition after tracking it via telemetry.
279
+ *
267
280
  * @example
268
281
  * ```typescript
269
282
  * // Modern API format
@@ -306,6 +319,7 @@ export class MsalProvider extends BaseModuleProvider {
306
319
  }
307
320
  // Handle empty scopes - currently monitoring for telemetry, will throw in future
308
321
  if (candidateScopes.length === 0) {
322
+ // Fall back to the client-id-derived default scope when one is available
309
323
  if (defaultScopes.length > 0) {
310
324
  this._trackEvent('acquireToken.missing-scope.defaulted', TelemetryLevel.Warning, {
311
325
  properties: { ...telemetryProperties, defaultScopes },
@@ -317,7 +331,7 @@ export class MsalProvider extends BaseModuleProvider {
317
331
  exception,
318
332
  properties: telemetryProperties,
319
333
  });
320
- // TODO: throw exception when sufficient metrics are collected
334
+ // TODO(#5113): throw exception when sufficient metrics are collected
321
335
  // This allows us to monitor how often empty scopes are provided before enforcing validation
322
336
  }
323
337
  }
@@ -444,6 +458,7 @@ export class MsalProvider extends BaseModuleProvider {
444
458
  // Fall through to interactive authentication
445
459
  }
446
460
  }
461
+ // Perform interactive authentication based on specified behavior
447
462
  switch (behavior) {
448
463
  case 'popup':
449
464
  return await this.#client.loginPopup(request);
@@ -525,6 +540,7 @@ export class MsalProvider extends BaseModuleProvider {
525
540
  async handleRedirect() {
526
541
  // Process any pending redirect from authentication flow
527
542
  const result = await this.client.handleRedirectPromise();
543
+ // Only track/log when a redirect result is actually returned
528
544
  if (result) {
529
545
  // Track successful redirect completion for monitoring
530
546
  this._trackEvent('handleRedirect.success', TelemetryLevel.Information, {
@@ -550,6 +566,9 @@ export class MsalProvider extends BaseModuleProvider {
550
566
  * - Version compatibility is tracked via telemetry
551
567
  * - Throws error if unsupported version is requested
552
568
  *
569
+ * @template T - The provider interface type expected by the target version.
570
+ * @throws {Error} If the requested version cannot be resolved or the proxy fails to create.
571
+ *
553
572
  * @example
554
573
  * ```typescript
555
574
  * // Create v2-compatible proxy
@@ -1 +1 @@
1
- {"version":3,"file":"MsalProvider.js","sourceRoot":"","sources":["../../src/MsalProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MsalProvider.js","sourceRoot":"","sources":["../../src/MsalProvider.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,16 @@ const createInitialConfig = () => ({
14
14
  },
15
15
  });
16
16
  describe('MsalConfigurator', () => {
17
+ it('enriches a copy, leaving the declared client configuration untouched', async () => {
18
+ // A caller may reuse or assert on the object it passed, and the defaults
19
+ // applied here are derived — rewriting it behind their back is not ours to do
20
+ const declared = { auth: { clientId: 'my-app', tenantId: 'my-tenant' } };
21
+ const configurator = new MsalConfigurator();
22
+ configurator.setClientConfig(declared);
23
+ const config = await configurator.createConfigAsync(createConfigCallbackArgs(), createInitialConfig());
24
+ expect(declared).toEqual({ auth: { clientId: 'my-app', tenantId: 'my-tenant' } });
25
+ expect(config.client?.tenantId).toBe('my-tenant');
26
+ });
17
27
  it('setAuthCode should normalize surrounding whitespace', async () => {
18
28
  const configurator = new MsalConfigurator();
19
29
  configurator.setClient(createClient());
@@ -41,6 +51,71 @@ describe('MsalConfigurator', () => {
41
51
  const config = await configurator.createConfigAsync(createConfigCallbackArgs(), createInitialConfig());
42
52
  expect(config.client).toBeUndefined();
43
53
  });
54
+ describe('_createClient', () => {
55
+ it('builds from the same resolved client config the real client would get', async () => {
56
+ // The mock relies on this: substituting the client must not also mean
57
+ // re-implementing authority, cache and telemetry resolution
58
+ const received = [];
59
+ class CustomConfigurator extends MsalConfigurator {
60
+ async _createClient(config) {
61
+ received.push(this._createClientConfig(config));
62
+ return createClient();
63
+ }
64
+ }
65
+ const configurator = new CustomConfigurator();
66
+ configurator.setClientConfig({ auth: { clientId: 'client-id', tenantId: 'tenant-id' } });
67
+ await configurator.createConfigAsync(createConfigCallbackArgs(), createInitialConfig());
68
+ expect(received).toEqual([
69
+ expect.objectContaining({
70
+ auth: expect.objectContaining({
71
+ clientId: 'client-id',
72
+ // derived by the configurator, not by the caller
73
+ authority: 'https://login.microsoftonline.com/tenant-id',
74
+ }),
75
+ cache: { cacheLocation: 'localStorage' },
76
+ }),
77
+ ]);
78
+ });
79
+ it('supplies the client when none was set', async () => {
80
+ const client = createClient();
81
+ class CustomConfigurator extends MsalConfigurator {
82
+ async _createClient() {
83
+ return client;
84
+ }
85
+ }
86
+ const config = await new CustomConfigurator().createConfigAsync(createConfigCallbackArgs(), createInitialConfig());
87
+ expect(config.client).toBe(client);
88
+ });
89
+ it('is not consulted when a client was set, so setClient always wins', async () => {
90
+ const own = createClient();
91
+ const createOther = vi.fn().mockResolvedValue(createClient());
92
+ class CustomConfigurator extends MsalConfigurator {
93
+ _createClient() {
94
+ return createOther();
95
+ }
96
+ }
97
+ const configurator = new CustomConfigurator();
98
+ configurator.setClient(own);
99
+ const config = await configurator.createConfigAsync(createConfigCallbackArgs(), createInitialConfig());
100
+ expect(config.client).toBe(own);
101
+ expect(createOther).not.toHaveBeenCalled();
102
+ });
103
+ it('is not consulted when hoisted, so a host provider is never shadowed', async () => {
104
+ // A hoisted module authenticates through the host's provider, so anything
105
+ // built here would be discarded — or worse, shadow the host's user
106
+ const createOther = vi.fn().mockResolvedValue(createClient());
107
+ class CustomConfigurator extends MsalConfigurator {
108
+ _createClient() {
109
+ return createOther();
110
+ }
111
+ }
112
+ const configurator = new CustomConfigurator();
113
+ configurator.setClientConfig({ auth: { clientId: 'client-id', tenantId: 'tenant-id' } });
114
+ const config = await configurator.createConfigAsync({ ...createConfigCallbackArgs(), ref: { auth: {} } }, createInitialConfig());
115
+ expect(config.client).toBeUndefined();
116
+ expect(createOther).not.toHaveBeenCalled();
117
+ });
118
+ });
44
119
  describe('cacheLookupPolicy', () => {
45
120
  it('defaults to CacheLookupPolicy.AccessTokenAndRefreshToken', async () => {
46
121
  const configurator = new MsalConfigurator();
@@ -1 +1 @@
1
- {"version":3,"file":"MsalConfigurator.test.js","sourceRoot":"","sources":["../../../src/__tests__/MsalConfigurator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MsalConfigurator.test.js","sourceRoot":"","sources":["../../../src/__tests__/MsalConfigurator.test.ts"],"names":[],"mappings":"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"}