@equinor/fusion-framework-module-msal 7.0.0-next.0 → 7.1.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 (44) hide show
  1. package/CHANGELOG.md +85 -5
  2. package/README.md +77 -0
  3. package/dist/esm/MsalClient.js +12 -7
  4. package/dist/esm/MsalClient.js.map +1 -1
  5. package/dist/esm/MsalConfigurator.js +32 -0
  6. package/dist/esm/MsalConfigurator.js.map +1 -1
  7. package/dist/esm/MsalProvider.js +55 -0
  8. package/dist/esm/MsalProvider.js.map +1 -1
  9. package/dist/esm/create-proxy-provider.js +5 -2
  10. package/dist/esm/create-proxy-provider.js.map +1 -1
  11. package/dist/esm/static.js +8 -7
  12. package/dist/esm/static.js.map +1 -1
  13. package/dist/esm/v4/create-proxy-provider.js +73 -0
  14. package/dist/esm/v4/create-proxy-provider.js.map +1 -0
  15. package/dist/esm/v4/index.js +12 -0
  16. package/dist/esm/v4/index.js.map +1 -0
  17. package/dist/esm/v4/types.js +27 -0
  18. package/dist/esm/v4/types.js.map +1 -0
  19. package/dist/esm/version.js +1 -1
  20. package/dist/esm/version.js.map +1 -1
  21. package/dist/esm/versioning/resolve-version.js +17 -4
  22. package/dist/esm/versioning/resolve-version.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/types/MsalClient.interface.d.ts +17 -1
  25. package/dist/types/MsalConfigurator.d.ts +28 -0
  26. package/dist/types/MsalProvider.d.ts +5 -0
  27. package/dist/types/static.d.ts +9 -8
  28. package/dist/types/v4/create-proxy-provider.d.ts +20 -0
  29. package/dist/types/v4/index.d.ts +12 -0
  30. package/dist/types/v4/types.d.ts +587 -0
  31. package/dist/types/version.d.ts +1 -1
  32. package/package.json +13 -6
  33. package/src/MsalClient.interface.ts +18 -0
  34. package/src/MsalClient.ts +22 -3
  35. package/src/MsalConfigurator.ts +33 -0
  36. package/src/MsalProvider.ts +58 -0
  37. package/src/MsalProxyProvider.interface.ts +1 -0
  38. package/src/create-proxy-provider.ts +5 -2
  39. package/src/static.ts +8 -7
  40. package/src/v4/create-proxy-provider.ts +74 -0
  41. package/src/v4/index.ts +13 -0
  42. package/src/v4/types.ts +727 -0
  43. package/src/version.ts +1 -1
  44. package/src/versioning/resolve-version.ts +17 -4
package/CHANGELOG.md CHANGED
@@ -1,14 +1,77 @@
1
1
  # Change Log
2
2
 
3
- ## 7.0.0-next.0
3
+ ## 7.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#4000](https://github.com/equinor/fusion-framework/pull/4000) [`0b34d5d`](https://github.com/equinor/fusion-framework/commit/0b34d5d895c740a77fc995abeca910fdca1cf633) Thanks [@odinr](https://github.com/odinr)! - Add support for backend-issued auth code exchange in MSAL module
8
+
9
+ Enable automatic sign-in using a backend-issued SPA authorization code without requiring interactive MSAL login flows. This eliminates double-login issues and provides seamless user experience when backend pre-authenticates users.
10
+
11
+ **New API:**
12
+
13
+ - `MsalConfigurator.setAuthCode(authCode: string)` - Configure backend auth code for token exchange
14
+ - `IMsalClient.acquireTokenByCode(request)` - Exchange auth code for tokens (inherited from PublicClientApplication)
15
+
16
+ **How it works:**
17
+
18
+ 1. Backend authenticates user and generates short-lived SPA auth code
19
+ 2. Frontend calls `builder.setAuthCode(authCode)` during MSAL configuration
20
+ 3. During `initialize()`, auth code is exchanged for tokens before `requiresAuth` check
21
+ 4. Tokens are cached by MSAL - user is automatically signed in
22
+ 5. Falls back to standard MSAL flows if exchange fails
23
+
24
+ **Example:**
25
+
26
+ ```typescript
27
+ enableMSAL(configurator, (builder) => {
28
+ builder.setClientConfig({
29
+ auth: { clientId: "app-id", tenantId: "tenant-id" },
30
+ });
31
+
32
+ // Backend injects auth code as window.MSAL_AUTH_CODE during initial first page load
33
+ if (typeof window !== "undefined" && window.MSAL_AUTH_CODE) {
34
+ builder.setAuthCode(window.MSAL_AUTH_CODE);
35
+ delete (window as any).MSAL_AUTH_CODE; // Clear after consuming
36
+ }
37
+
38
+ builder.setRequiresAuth(true);
39
+ });
40
+ ```
41
+
42
+ Fixes: https://github.com/equinor/fusion-core-tasks/issues/271
43
+
44
+ ## 7.0.0
45
+
46
+ ### Major Changes
47
+
48
+ - [#3944](https://github.com/equinor/fusion-framework/pull/3944) [`cb37cae`](https://github.com/equinor/fusion-framework/commit/cb37cae45e06778e8d1ea20faed31b582e49fcae) Thanks [@dependabot](https://github.com/apps/dependabot)! - Upgrade @azure/msal-browser from v2.39.0 to v5.0.2
49
+
50
+ **Changes:**
51
+
52
+ - Updated MSAL browser dependency to v5.0.2
53
+ - Added V5 to MsalModuleVersion enum for version detection
54
+ - Updated version mapping logic to handle MSAL v5.x (maps to V5)
55
+ - Created v4 compatibility layer with frozen type snapshots from MSAL v5
56
+ - Fixed internal logger calls to include required correlationId parameter
57
+ - Added v4 export to package.json for consumers needing v4-compatible types
58
+
59
+ **Breaking changes:**
60
+ None - all changes are internal. Consumer API remains unchanged and fully backward compatible.
61
+
62
+ **Migration:**
63
+ No action required. The module automatically detects and uses MSAL v5 when available, while maintaining compatibility with existing code through version proxies.
64
+
65
+ ## 6.0.5
4
66
 
5
67
  ### Patch Changes
6
68
 
7
- - [#3820](https://github.com/equinor/fusion-framework/pull/3820) [`265bb76`](https://github.com/equinor/fusion-framework/commit/265bb767249989eeb1971e83f3fba94879e0813b) Thanks [@odinr](https://github.com/odinr)! - relase next
69
+ - [#3866](https://github.com/equinor/fusion-framework/pull/3866) [`f70d66f`](https://github.com/equinor/fusion-framework/commit/f70d66f1bc826e614140adb2c6ee052f98e3b3da) Thanks [@dependabot](https://github.com/apps/dependabot)! - Internal: Dedupe zod dependency to 4.3.5
70
+
71
+ Deduplicated zod dependency to version 4.3.5 across all packages using `pnpm dedupe`. This aligns all packages (AI plugins upgraded from v3.25.76, other packages consolidated from v4.1.8/v4.1.11) to use the same latest stable version, improving consistency and reducing bundle size. All builds, tests, and linting pass successfully.
8
72
 
9
- - Updated dependencies [[`265bb76`](https://github.com/equinor/fusion-framework/commit/265bb767249989eeb1971e83f3fba94879e0813b), [`d252b0d`](https://github.com/equinor/fusion-framework/commit/d252b0d442b7c8c1b50bf2768cf9ecbbb55a76f8)]:
10
- - @equinor/fusion-framework-module-telemetry@5.0.0-next.0
11
- - @equinor/fusion-framework-module@5.0.6-next.0
73
+ - Updated dependencies [[`f70d66f`](https://github.com/equinor/fusion-framework/commit/f70d66f1bc826e614140adb2c6ee052f98e3b3da)]:
74
+ - @equinor/fusion-framework-module-telemetry@4.6.1
12
75
 
13
76
  ## 6.0.4
14
77
 
@@ -72,6 +135,7 @@
72
135
  **🚀 Enhanced features available** - New v4 APIs provide better performance, security, and error handling.
73
136
 
74
137
  ## What You Get
138
+
75
139
  - **Better Security**: Latest MSAL v4 security improvements and vulnerability fixes
76
140
  - **Improved Performance**: Faster token acquisition and caching
77
141
  - **Enhanced Error Handling**: More robust error recovery and retry mechanisms
@@ -116,6 +180,7 @@
116
180
  - [#3714](https://github.com/equinor/fusion-framework/pull/3714) [`11fe961`](https://github.com/equinor/fusion-framework/commit/11fe961794e4960ccb987bc320268cc9b263f1f8) Thanks [@odinr](https://github.com/odinr)! - Add optional provider-level telemetry for MSAL flows and update interface methods.
117
181
 
118
182
  **BREAKING CHANGES:**
183
+
119
184
  - `acquireAccessToken(options: AcquireTokenOptions)` → `acquireAccessToken(options: AcquireTokenOptionsLegacy)`
120
185
  - `acquireToken(options: AcquireTokenOptions)` → `acquireToken(options: AcquireTokenOptionsLegacy)`
121
186
  - `logout(options?: LogoutOptions): Promise<void>` → `logout(options?: LogoutOptions): Promise<boolean>`
@@ -123,6 +188,7 @@
123
188
  - Added `initialize(): Promise<void>` method
124
189
 
125
190
  **New Features:**
191
+
126
192
  - Optional provider-level telemetry for MSAL flows (login, token acquisition, redirect handling)
127
193
  - Emits telemetry events and measurements via injected telemetry provider when available
128
194
  - Includes basic metadata (framework module version, clientId, tenantId) and authentication context
@@ -175,6 +241,7 @@
175
241
  ### Minor Changes
176
242
 
177
243
  - [#3573](https://github.com/equinor/fusion-framework/pull/3573) [`b42b116`](https://github.com/equinor/fusion-framework/commit/b42b11616487c534e8e01f2df126e2ad05ce6a8f) Thanks [@odinr](https://github.com/odinr)! - Refactored AuthProvider to use a cleaner `client` property instead of deprecated `defaultClient`.
244
+
178
245
  - Added `client` property to IAuthProvider interface
179
246
  - Replaced deprecated `defaultClient` getter with `client` getter
180
247
  - Updated internal references to use private `#client` field
@@ -183,12 +250,14 @@
183
250
  - [#3572](https://github.com/equinor/fusion-framework/pull/3572) [`2d90f8b`](https://github.com/equinor/fusion-framework/commit/2d90f8b3806aa3deec5ca60142d38118748b1d3e) Thanks [@odinr](https://github.com/odinr)! - Refactored MSAL versioning module to use warnings instead of errors for version incompatibilities.
184
251
 
185
252
  **Changes:**
253
+
186
254
  - Removed `create-version-message.ts` and `static.ts` utility files
187
255
  - Modified `resolveVersion()` to collect warnings for version mismatches instead of throwing errors
188
256
  - Simplified `VersionError` class by removing factory methods and type enum references
189
257
  - Updated tests to reflect new warning-based behavior
190
258
 
191
259
  **Breaking Changes:**
260
+
192
261
  - Version resolution now returns warnings for incompatible versions instead of throwing errors
193
262
  - This change is backward compatible as existing code will continue to work, but error handling behavior has changed
194
263
 
@@ -202,6 +271,7 @@
202
271
  - [#3442](https://github.com/equinor/fusion-framework/pull/3442) [`3b614f8`](https://github.com/equinor/fusion-framework/commit/3b614f87138f5a52f8ccc50ca8c6598ef3db37d6) Thanks [@asbjornhaland](https://github.com/asbjornhaland)! - Update biome to latest version
203
272
 
204
273
  - [#3428](https://github.com/equinor/fusion-framework/pull/3428) [`1700ca8`](https://github.com/equinor/fusion-framework/commit/1700ca8851fa108e55e9729fd24f595272766e63) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update zod from 4.1.9 to 4.1.11
274
+
205
275
  - **v4.1.10**: Fixed shape caching issue (#5263) improving validation performance for complex schemas
206
276
  - **v4.1.11**: Maintenance release with general improvements
207
277
 
@@ -219,6 +289,7 @@
219
289
  Updated source code to migrate from zod v3 to v4. Updated zod dependency from v3.25.76 to v4.1.8 and modified authentication configuration schemas in the MSAL module to be compatible with zod v4's stricter type checking and updated API.
220
290
 
221
291
  Key changes in source code:
292
+
222
293
  - Updated `AuthClientConfigSchema` and `AuthConfigSchema` for zod v4 compatibility
223
294
  - Enhanced version schema transformation to work with zod v4
224
295
  - Improved validation of client configuration (clientId, tenantId, redirectUri)
@@ -227,6 +298,7 @@
227
298
  Breaking changes: Schema validation behavior may differ due to zod v4's stricter type checking. Error message format has changed from zod v3 to v4 format. Function schema definitions now require explicit typing.
228
299
 
229
300
  Links:
301
+
230
302
  - [Zod v4 Migration Guide](https://github.com/colinhacks/zod/releases/tag/v4.0.0)
231
303
  - [Zod v4.1.8 Release Notes](https://github.com/colinhacks/zod/releases/tag/v4.1.8)
232
304
 
@@ -237,6 +309,7 @@
237
309
  - [#3376](https://github.com/equinor/fusion-framework/pull/3376) [`da373ad`](https://github.com/equinor/fusion-framework/commit/da373ade663898b2628e28529b6e3dea3b91ed43) Thanks [@odinr](https://github.com/odinr)! - Improved MSAL module version checking to be more permissive for minor and patch versions.
238
310
 
239
311
  Fixes: #3375
312
+
240
313
  - Refactored version checking logic into dedicated versioning module
241
314
  - Made version checking more permissive for minor and patch versions
242
315
  - Only major version incompatibilities will block execution
@@ -251,6 +324,7 @@
251
324
  ### Patch Changes
252
325
 
253
326
  - [#3343](https://github.com/equinor/fusion-framework/pull/3343) [`68dc22f`](https://github.com/equinor/fusion-framework/commit/68dc22f582bb68fbc94f29ad053122f81c049405) Thanks [@odinr](https://github.com/odinr)! - Enhanced documentation with comprehensive guides and improved developer experience.
327
+
254
328
  - **Complete documentation rewrite** with better structure and organization
255
329
  - **Added comprehensive API reference** with detailed interface documentation
256
330
  - **Enhanced configuration guide** with clear required/optional settings tables
@@ -261,6 +335,7 @@
261
335
  - **Added package description** for better npm package visibility
262
336
 
263
337
  **Key Improvements:**
338
+
264
339
  - Clear separation between required and optional configuration
265
340
  - Comprehensive API reference with TypeScript interfaces
266
341
  - Migration guidance for v4 breaking changes
@@ -281,6 +356,7 @@
281
356
  ### Patch Changes
282
357
 
283
358
  - [#3088](https://github.com/equinor/fusion-framework/pull/3088) [`7441b13`](https://github.com/equinor/fusion-framework/commit/7441b13aa50dd7362d1629086a27b6b4e571575d) Thanks [@eikeland](https://github.com/eikeland)! - chore: update package typesVersions
359
+
284
360
  - Updated package.json typesVersions.
285
361
  - Ensures backward compatibility with older node versions.
286
362
  - Ensured consistency with workspace and repository configuration.
@@ -346,6 +422,7 @@
346
422
  - [#2814](https://github.com/equinor/fusion-framework/pull/2814) [`ea4b522`](https://github.com/equinor/fusion-framework/commit/ea4b5221b30719289fc947b5dbb0acd3ea52ffaa) Thanks [@odinr](https://github.com/odinr)! - Rework of the MSAL module to support module hoisting. This means that sub modules instances will proxy the parent module instance. This means that the module instance will be shared between all instances of the module.
347
423
 
348
424
  **Highlights:**
425
+
349
426
  - Versioning module, config and provider.
350
427
  - Interfaces for MSAL versions
351
428
  - Proxy provider instances for sub modules.
@@ -353,6 +430,7 @@
353
430
  - Configurator using `BaseConfigBuilder` (aligned with other modules)
354
431
 
355
432
  **BREAKING CHANGES:**
433
+
356
434
  - `configureMsal` has changed parameter signature to `configureMsal(msalConfigurator: MsalConfigurator): void`
357
435
  - Added `enableMsal` with parameter signature to `enableMsal(configurator: IModulesConfigurator, configureMsal: (msalConfigurator: MsalConfigurator) => void): void`
358
436
 
@@ -411,6 +489,7 @@
411
489
  - [#2320](https://github.com/equinor/fusion-framework/pull/2320) [`1dd85f3`](https://github.com/equinor/fusion-framework/commit/1dd85f3a408a73df556d1812a5f280945cc100ee) Thanks [@odinr](https://github.com/odinr)! - Removed the `removeComments` option from the `tsconfig.base.json` file.
412
490
 
413
491
  Removing the `removeComments` option allows TypeScript to preserve comments in the compiled JavaScript output. This can be beneficial for several reasons:
492
+
414
493
  1. Improved debugging: Preserved comments can help developers understand the code better during debugging sessions.
415
494
  2. Documentation: JSDoc comments and other important code documentation will be retained in the compiled output.
416
495
  3. Source map accuracy: Keeping comments can lead to more accurate source maps, which is crucial for debugging and error tracking.
@@ -536,6 +615,7 @@
536
615
  ### Patch Changes
537
616
 
538
617
  - [#905](https://github.com/equinor/fusion-framework/pull/905) [`a7858a1c`](https://github.com/equinor/fusion-framework/commit/a7858a1c01542e2dc94370709f122b4b99c3219c) Thanks [@odinr](https://github.com/odinr)! - **🚧 Chore: dedupe packages**
618
+
539
619
  - align all versions of typescript
540
620
  - update types to build
541
621
  - a couple of typecasts did not [satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#satisfies-support-in-jsdoc) and was recasted as `unknwon`, marked with `TODO`, should be fixed in future
package/README.md CHANGED
@@ -78,6 +78,83 @@ try {
78
78
  > [!IMPORTANT]
79
79
  > The `@equinor/fusion-framework-app` enables this package by default, so applications using the app package do not need to enable this module manually.
80
80
 
81
+ ## Backend-Issued Auth Code Flow
82
+
83
+ Enable automatic sign-in using a backend-issued authorization code without interactive login prompts.
84
+
85
+ ### Overview
86
+
87
+ When your backend authenticates a user and generates a short-lived SPA auth code, the MSAL module can exchange it for tokens during initialization, eliminating double-login issues and providing seamless authentication.
88
+
89
+ ### Usage
90
+
91
+ ```typescript
92
+ import { enableMSAL } from '@equinor/fusion-framework-module-msal';
93
+
94
+ enableMSAL(configurator, (builder) => {
95
+ builder.setClientConfig({
96
+ auth: {
97
+ clientId: 'your-client-id',
98
+ tenantId: 'your-tenant-id'
99
+ }
100
+ });
101
+
102
+ // Backend injects auth code as window.MSAL_AUTH_CODE during initial first page load
103
+ // This is the most secure approach - only available on first render, cleared after use
104
+ if (typeof window !== 'undefined' && window.MSAL_AUTH_CODE) {
105
+ builder.setAuthCode(window.MSAL_AUTH_CODE);
106
+ delete (window as any).MSAL_AUTH_CODE; // Clear after consuming
107
+ }
108
+
109
+ builder.setRequiresAuth(true);
110
+ });
111
+ ```
112
+
113
+ ### How It Works
114
+
115
+ 1. Backend authenticates user and generates short-lived auth code
116
+ 2. Frontend passes auth code to MSAL: `builder.setAuthCode(authCode)`
117
+ 3. During `initialize()`: auth code exchanged for tokens (before `requiresAuth` check)
118
+ 4. Tokens cached by MSAL → user automatically signed in
119
+ 5. Falls back to standard MSAL flows on exchange failure
120
+
121
+ ### API: `setAuthCode(authCode: string)`
122
+
123
+ Sets backend-issued auth code for token exchange during initialization.
124
+
125
+ **Returns:** configurator instance (chainable)
126
+
127
+ **Behavior:**
128
+ - Exchange happens before `requiresAuth` check
129
+ - On success: user auto-authenticated, no login prompt
130
+ - On failure: falls back to standard MSAL login
131
+ - Auth code cleared after exchange (no reuse)
132
+
133
+ **Example:**
134
+
135
+ ```typescript
136
+ // Best practice: Backend injects auth code on initial page load as window.MSAL_AUTH_CODE
137
+ if (typeof window !== 'undefined' && window.MSAL_AUTH_CODE) {
138
+ builder.setAuthCode(window.MSAL_AUTH_CODE);
139
+ delete (window as any).MSAL_AUTH_CODE; // Clear after consuming to prevent reuse
140
+ }
141
+ ```
142
+
143
+ ### Security
144
+
145
+ - ✅ Auth codes: single-use, short-lived (5-10 min)
146
+ - ✅ MSAL validates tokens from Microsoft authority
147
+ - ✅ Tokens stored securely, refresh tokens auto-managed
148
+ - ⚠️ Pass codes securely: HTTPS, HTTP-only cookies, or encrypted channels
149
+
150
+ ### Troubleshooting
151
+
152
+ | Issue | Solution |
153
+ |-------|----------|
154
+ | Auth code not exchanged | Verify `setAuthCode()` called before init |
155
+ | Invalid auth code error | Confirm backend `WithSpaAuthCode` enabled, code is fresh |
156
+ | Still shows login prompt | Check auth code exchange completes before `requiresAuth` check |
157
+ | Exchange fails | Auth code may have expired; backend should generate fresh code per load |
81
158
 
82
159
  ## Configuration
83
160
 
@@ -1,4 +1,9 @@
1
1
  import { PublicClientApplication, } from '@azure/msal-browser';
2
+ /**
3
+ * Fallback correlation ID for logger calls when request doesn't provide one.
4
+ * Empty string indicates a non-request-specific log (validation, configuration warnings).
5
+ */
6
+ const FUSION_CORRELATION_ID = '';
2
7
  /**
3
8
  * MSAL v4 client implementation with extended properties and methods.
4
9
  *
@@ -83,14 +88,14 @@ export class MsalClient extends PublicClientApplication {
83
88
  // This provides better UX by avoiding unnecessary popups/redirects
84
89
  if (options.silent) {
85
90
  if (!options.request.account && !options.request.loginHint) {
86
- this.getLogger().warning('No account or login hint provided, please provide an account or login hint in the request');
91
+ this.getLogger().warning('No account or login hint provided, please provide an account or login hint in the request', options.request.correlationId || FUSION_CORRELATION_ID);
87
92
  }
88
93
  try {
89
94
  return await this.ssoSilent(options.request);
90
95
  }
91
96
  catch {
92
97
  // Silent login failed - continue to interactive flow
93
- this.getLogger().warning('Silent login failed, falling back to interactive');
98
+ this.getLogger().warning('Silent login failed, falling back to interactive', options.request.correlationId || FUSION_CORRELATION_ID);
94
99
  }
95
100
  }
96
101
  // Perform interactive authentication based on specified behavior
@@ -140,7 +145,7 @@ export class MsalClient extends PublicClientApplication {
140
145
  */
141
146
  async logout(options) {
142
147
  if (!options?.account) {
143
- this.getLogger().warning('No account available for logout, please provide an account in the options');
148
+ this.getLogger().warning('No account available for logout, please provide an account in the options', FUSION_CORRELATION_ID);
144
149
  }
145
150
  const logoutRequest = {
146
151
  account: options?.account,
@@ -177,23 +182,23 @@ export class MsalClient extends PublicClientApplication {
177
182
  throw new Error('No request provided, please provide a request in the options');
178
183
  }
179
184
  if (request.scopes.length === 0) {
180
- this.getLogger().warning('No scopes provided, please provide scopes in the request option, see options.request for more information.');
185
+ this.getLogger().warning('No scopes provided, please provide scopes in the request option, see options.request for more information.', request.correlationId || FUSION_CORRELATION_ID);
181
186
  }
182
187
  // Attempt silent token acquisition first
183
188
  // This fetches from cache or uses refresh token without user interaction
184
189
  if (silent) {
185
190
  if (request.account) {
186
191
  try {
187
- this.getLogger().verbose('Attempting to acquire token silently');
192
+ this.getLogger().verbose('Attempting to acquire token silently', request.correlationId || FUSION_CORRELATION_ID);
188
193
  return await this.acquireTokenSilent(request);
189
194
  }
190
195
  catch {
191
196
  // Silent acquisition failed - fall back to interactive
192
- this.getLogger().warning('Silent token acquisition failed, falling back to interactive');
197
+ this.getLogger().warning('Silent token acquisition failed, falling back to interactive', request.correlationId || FUSION_CORRELATION_ID);
193
198
  }
194
199
  }
195
200
  else {
196
- this.getLogger().warning('Cannot acquire token silently, no account provided, falling back to interactive.');
201
+ this.getLogger().warning('Cannot acquire token silently, no account provided, falling back to interactive.', request.correlationId || FUSION_CORRELATION_ID);
197
202
  }
198
203
  }
199
204
  // Perform interactive token acquisition
@@ -1 +1 @@
1
- {"version":3,"file":"MsalClient.js","sourceRoot":"","sources":["../../src/MsalClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MsalClient.js","sourceRoot":"","sources":["../../src/MsalClient.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ const MsalConfigSchema = z.object({
29
29
  provider: z.custom().optional(),
30
30
  requiresAuth: z.boolean().optional(),
31
31
  redirectUri: z.string().optional(),
32
+ authCode: z.string().optional(),
32
33
  version: z.string().transform((x) => String(semver.coerce(x))),
33
34
  telemetry: TelemetryConfigSchema,
34
35
  });
@@ -96,6 +97,37 @@ export class MsalConfigurator extends BaseConfigBuilder {
96
97
  this.#msalConfig = config;
97
98
  return this;
98
99
  }
100
+ /**
101
+ * Sets a backend-issued authorization code for token exchange.
102
+ *
103
+ * This enables the MSAL module to exchange a backend-generated auth code for tokens
104
+ * during initialization, allowing users to be automatically signed in without triggering
105
+ * an interactive MSAL login flow. The auth code is exchanged before the requiresAuth check,
106
+ * so tokens are cached and no login prompt appears.
107
+ *
108
+ * This follows Microsoft's standard SPA Auth Code Flow pattern and is compatible with
109
+ * MSAL Browser's acquireTokenByCode() method.
110
+ *
111
+ * @param authCode - The authorization code issued by the backend
112
+ * @returns The configurator instance for method chaining
113
+ *
114
+ * @example
115
+ * ```typescript
116
+ * // Backend provides auth code in HTML/config
117
+ * const config = { auth: { code: getAuthCodeFromBackend() } };
118
+ * configurator.setAuthCode(config.auth.code);
119
+ * ```
120
+ *
121
+ * @remarks
122
+ * - Auth codes are single-use and short-lived (typically 5-10 minutes)
123
+ * - The exchange happens during module initialization before requiresAuth check
124
+ * - If exchange fails, the provider falls back to standard MSAL authentication flows
125
+ * - Requires backend to be configured with SPA Auth Code support
126
+ */
127
+ setAuthCode(authCode) {
128
+ this._set('authCode', async () => authCode);
129
+ return this;
130
+ }
99
131
  /**
100
132
  * Sets whether authentication is required for the application.
101
133
  *
@@ -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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"}
@@ -31,6 +31,7 @@ export class MsalProvider extends BaseModuleProvider {
31
31
  #client;
32
32
  #telemetry;
33
33
  #requiresAuth;
34
+ #authCode;
34
35
  /**
35
36
  * The MSAL module version enum value indicating the API compatibility level.
36
37
  *
@@ -88,6 +89,9 @@ export class MsalProvider extends BaseModuleProvider {
88
89
  });
89
90
  this.#requiresAuth = config.requiresAuth;
90
91
  this.#telemetry = config.telemetry;
92
+ // Extract auth code from config if present
93
+ // This will be used during initialize to exchange for tokens
94
+ this.#authCode = config.authCode;
91
95
  // Validate required client configuration
92
96
  if (!config.client) {
93
97
  const error = new Error('Client is required, please provide a valid client in the configuration');
@@ -103,12 +107,17 @@ export class MsalProvider extends BaseModuleProvider {
103
107
  *
104
108
  * This method must be called before using any authentication operations. It performs:
105
109
  * - Client initialization
110
+ * - Auth code exchange (if backend-issued code provided)
106
111
  * - Redirect result handling (if returning from auth flow)
107
112
  * - Automatic login attempt if requiresAuth is enabled and no valid session exists
108
113
  *
109
114
  * @returns Promise that resolves when initialization is complete
110
115
  *
111
116
  * @remarks
117
+ * Auth code exchange happens before the requiresAuth check, allowing automatic sign-in
118
+ * without user interaction when a valid backend-issued code is provided. If exchange fails,
119
+ * the provider falls back to standard MSAL authentication flows.
120
+ *
112
121
  * The provider will attempt automatic login with empty scopes if requiresAuth is true.
113
122
  * Apps should call acquireToken with actual scopes after initialization completes.
114
123
  */
@@ -116,6 +125,52 @@ export class MsalProvider extends BaseModuleProvider {
116
125
  const measurement = this._trackMeasurement('initialize', TelemetryLevel.Debug);
117
126
  // Initialize the underlying MSAL client first
118
127
  await this.#client.initialize();
128
+ // Priority 0: Exchange auth code if provided by backend
129
+ // This must happen before the requiresAuth check so tokens are cached
130
+ if (this.#authCode) {
131
+ try {
132
+ this._trackEvent('initialize.exchanging-auth-code', TelemetryLevel.Information);
133
+ // Use MSAL's acquireTokenByCode to exchange backend auth code for tokens
134
+ // This follows Microsoft's standard SPA Auth Code Flow pattern
135
+ const clientId = this.#client.clientId;
136
+ if (!clientId) {
137
+ throw new Error('Client ID is required for auth code exchange');
138
+ }
139
+ // Exchange the auth code for tokens using the client ID's default scope.
140
+ // The `/.default` scope represents all permissions configured for this app in Entra ID,
141
+ // ensuring the exchanged tokens have the correct app-level permissions without requiring
142
+ // the caller to specify scopes. This follows MSAL's recommended SPA auth code pattern.
143
+ // This method is inherited from PublicClientApplication (MSAL Browser v4+)
144
+ const result = await this.#client.acquireTokenByCode({
145
+ code: this.#authCode,
146
+ scopes: [`${clientId}/.default`],
147
+ });
148
+ // Successfully exchanged auth code - set active account
149
+ if (result.account) {
150
+ this.#client.setActiveAccount(result.account);
151
+ this._trackEvent('initialize.auth-code-exchanged-account', TelemetryLevel.Information, {
152
+ properties: {
153
+ username: result.account.username,
154
+ },
155
+ });
156
+ }
157
+ }
158
+ catch (error) {
159
+ // Auth code exchange failed - log and fall back to standard flows
160
+ this._trackException('initialize.auth-code-exchange-failed', TelemetryLevel.Warning, {
161
+ exception: error instanceof Error ? error : new Error(String(error)),
162
+ properties: {
163
+ message: error instanceof Error ? error.message : String(error),
164
+ reason: 'Auth code exchange failed, falling back to standard authentication flows',
165
+ },
166
+ });
167
+ // Continue to requiresAuth check - will trigger standard login if needed
168
+ }
169
+ finally {
170
+ // Clear auth code to avoid repeated attempts
171
+ this.#authCode = undefined;
172
+ }
173
+ }
119
174
  // Only attempt authentication if this provider requires it
120
175
  if (this.#requiresAuth) {
121
176
  // Priority 1: Check if returning from redirect-based authentication
@@ -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":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAI/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAW9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,YAAa,SAAQ,kBAA8B;IAC9D,OAAO,CAAc;IACrB,UAAU,CAIR;IACF,aAAa,CAAW;IACxB,SAAS,CAAU;IAEnB;;;;;;;;OAQG;IACH,IAAI,WAAW;QACb,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,IAAI,cAAc;QAChB,IAAI,CAAC,eAAe,CAAC,uCAAuC,EAAE,cAAc,CAAC,OAAO,EAAE;YACpF,SAAS,EAAE,IAAI,KAAK,CAClB,oGAAoG,CACrG;YACD,UAAU,EAAE;gBACV,OAAO,EACL,oGAAoG;gBACtG,MAAM,EACJ,4HAA4H;aAC/H;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,YAAY,MAAkB;QAC5B,KAAK,CAAC;YACJ,OAAO;YACP,MAAM;SACP,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QAEnC,2CAA2C;QAC3C,6DAA6D;QAC7D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEjC,yCAAyC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,wEAAwE,CACzE,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,6BAA6B,EAAE,cAAc,CAAC,KAAK,EAAE;gBACxE,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/E,8CAA8C;QAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAEhC,wDAAwD;QACxD,sEAAsE;QACtE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,iCAAiC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;gBAEhF,yEAAyE;gBACzE,+DAA+D;gBAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;gBAED,yEAAyE;gBACzE,wFAAwF;gBACxF,yFAAyF;gBACzF,uFAAuF;gBACvF,2EAA2E;gBAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBACnD,IAAI,EAAE,IAAI,CAAC,SAAS;oBACpB,MAAM,EAAE,CAAC,GAAG,QAAQ,WAAW,CAAC;iBACjC,CAAC,CAAC;gBAEH,wDAAwD;gBACxD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC9C,IAAI,CAAC,WAAW,CAAC,wCAAwC,EAAE,cAAc,CAAC,WAAW,EAAE;wBACrF,UAAU,EAAE;4BACV,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;yBAClC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kEAAkE;gBAClE,IAAI,CAAC,eAAe,CAAC,sCAAsC,EAAE,cAAc,CAAC,OAAO,EAAE;oBACnF,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACpE,UAAU,EAAE;wBACV,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC/D,MAAM,EAAE,0EAA0E;qBACnF;iBACF,CAAC,CAAC;gBACH,yEAAyE;YAC3E,CAAC;oBAAS,CAAC;gBACT,6CAA6C;gBAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,oEAAoE;YACpE,iFAAiF;YACjF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YACzD,IAAI,oBAAoB,EAAE,OAAO,EAAE,CAAC;gBAClC,kEAAkE;gBAClE,8EAA8E;gBAC9E,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAC5D,IAAI,CAAC,WAAW,CAAC,2CAA2C,EAAE,cAAc,CAAC,WAAW,EAAE;oBACxF,UAAU,EAAE;wBACV,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,QAAQ;qBAChD;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBACxC,+DAA+D;gBAC/D,uEAAuE;gBACvE,+EAA+E;gBAC/E,uEAAuE;gBACvE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClE,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;oBACzB,qDAAqD;oBACrD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACnD,IAAI,CAAC,WAAW,CAAC,wCAAwC,EAAE,cAAc,CAAC,WAAW,EAAE;wBACrF,UAAU,EAAE;4BACV,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ;yBACvC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,0FAA0F;QAC5F,CAAC;QACD,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAkC;QACzD,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,YAAY,CAAC,OAAkC;QACnD,MAAM,EACJ,QAAQ,GAAG,UAAU,EACrB,MAAM,GAAG,IAAI,EACb,OAAO,GAAG,EAAoC,GAC/C,GAAG,OAAO,CAAC;QAEZ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QAC7D,mFAAmF;QACnF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;QAEhE,MAAM,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAEzD,0EAA0E;QAC1E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,qCAAqC,EAAE,cAAc,CAAC,OAAO,EAAE;gBAC9E,UAAU,EAAE,mBAAmB;aAChC,CAAC,CAAC;QACL,CAAC;QAED,iFAAiF;QACjF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAClE,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE,cAAc,CAAC,OAAO,EAAE;gBACzE,SAAS;gBACT,UAAU,EAAE,mBAAmB;aAChC,CAAC,CAAC;YACH,8DAA8D;YAC9D,4FAA4F;QAC9F,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,WAAW,EAAE;gBACrF,UAAU,EAAE,mBAAmB;aAChC,CAAC,CAAC;YACH,+DAA+D;YAC/D,kGAAkG;YAClG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC7C,QAAQ;gBACR,MAAM;gBACN,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;aACjD,CAAC,CAAC;YACH,WAAW,EAAE,OAAO,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,cAAc,CAAC,KAAK,EAAE;gBAChE,SAAS,EAAE,KAAc;gBACzB,UAAU,EAAE,mBAAmB;aAChC,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAElE,oFAAoF;QACpF,wEAAwE;QACxE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;QAE1E,MAAM,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAE3F,mEAAmE;QACnE,oFAAoF;QACpF,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QAE9C,2CAA2C;QAC3C,wEAAwE;QACxE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,cAAc,CAAC,OAAO,EAAE;gBAC9D,UAAU,EAAE,mBAAmB;aAChC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE;YACpD,UAAU,EAAE,mBAAmB;SAChC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,mEAAmE;QACnE,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,8EAA8E;gBAC9E,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,cAAc,CAAC,OAAO,EAAE;oBAClE,SAAS,EAAE,KAAc;oBACzB,UAAU,EAAE,mBAAmB;iBAChC,CAAC,CAAC;gBACH,6CAA6C;YAC/C,CAAC;QACH,CAAC;QAED,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAChD,KAAK,UAAU;gBACb,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,+EAA+E,CACtH,CAAC;QACN,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,MAAM,CAAC,OAAuB;QAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,WAAW,EAAE;YACrD,UAAU,EAAE;gBACV,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,qEAAqE;YACrE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,CAAC,UAAU;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,cAAc,CAAC,KAAK,EAAE;gBAC1D,SAAS,EAAE,KAAc;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,SAAS;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,cAAc;QAClB,wDAAwD;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,sDAAsD;YACtD,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,cAAc,CAAC,WAAW,EAAE;gBACrE,UAAU,EAAE;oBACV,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ;iBACnC;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,mBAAmB,CAAoB,OAAe;QACpD,6DAA6D;QAC7D,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,cAAc,CAAC,KAAK,EAAE;YAC5D,UAAU,EAAE;gBACV,OAAO,EAAE,OAAO;aACjB;SACF,CAAC,CAAC;QAEH,kDAAkD;QAClD,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,WAAW,CAAC,sCAAsC,EAAE,cAAc,CAAC,WAAW,EAAE;YACnF,UAAU,EAAE,eAAe;SAC5B,CAAC,CAAC;QAEH,kEAAkE;QAClE,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,sCAAsC,EAAE,cAAc,CAAC,OAAO,EAAE;gBAC/E,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,4BAA4B;YAC5B,OAAO,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE,cAAc,CAAC,KAAK,EAAE;gBACvE,SAAS,EAAE,KAAc;gBACzB,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACO,WAAW,CACnB,IAAY,EACZ,KAAqB,EACrB,OAA+E;QAE/E,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;YACnC,IAAI,EAAE,eAAe,IAAI,EAAE;YAC3B,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YAClC,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACO,iBAAiB,CACzB,IAAY,EACZ,KAAqB,EACrB,OAA+E;QAE/E,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;YAChC,IAAI,EAAE,eAAe,IAAI,EAAE;YAC3B,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YAClC,GAAG,OAAO;SACX,CAAC,IAAI;YACJ,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;SAClB,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACO,eAAe,CACvB,IAAY,EACZ,KAAqB,EACrB,OAAmF;QAEnF,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC;YACvC,IAAI,EAAE,eAAe,IAAI,EAAE;YAC3B,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YAClC,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { MsalModuleVersion } from './static';
2
2
  import { resolveVersion } from './versioning/resolve-version';
3
3
  import { createProxyProvider as createProxyProvider_v2 } from './v2/create-proxy-provider';
4
+ import { createProxyProvider as createProxyProvider_v4 } from './v4/create-proxy-provider';
4
5
  /**
5
6
  * Creates a proxy provider for version compatibility.
6
7
  *
@@ -26,8 +27,10 @@ export function createProxyProvider(provider, version) {
26
27
  // Create v2-compatible proxy with legacy API adapters
27
28
  return createProxyProvider_v2(provider);
28
29
  case MsalModuleVersion.V4:
29
- // Create transparent proxy for v4 - passes through to original provider
30
- // This allows v4 code to be used where any version is expected
30
+ // Create v4-compatible proxy (passthrough with v4 version metadata)
31
+ return createProxyProvider_v4(provider);
32
+ case MsalModuleVersion.V5:
33
+ // Create transparent proxy for v5 - passes through to original provider
31
34
  return new Proxy(provider, {
32
35
  get: (target, prop) => {
33
36
  switch (prop) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-proxy-provider.js","sourceRoot":"","sources":["../../src/create-proxy-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAE3F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAuB,EACvB,OAAe;IAEf,mEAAmE;IACnE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAEhD,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,iBAAiB,CAAC,EAAE;YACvB,sDAAsD;YACtD,OAAO,sBAAsB,CAAC,QAAQ,CAAM,CAAC;QAC/C,KAAK,iBAAiB,CAAC,EAAE;YACvB,wEAAwE;YACxE,+DAA+D;YAC/D,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACzB,GAAG,EAAE,CAAC,MAAqB,EAAE,IAAyB,EAAE,EAAE;oBACxD,QAAQ,IAAI,EAAE,CAAC;wBACb,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,OAAO,MAAM,CAAC,OAAO,CAAC;wBACxB,CAAC;wBACD,KAAK,aAAa,CAAC,CAAC,CAAC;4BACnB,OAAO,WAAW,CAAC;wBACrB,CAAC;wBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,MAAM,CAAC,MAAM,CAAC;wBACvB,CAAC;wBACD,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,OAAO,MAAM,CAAC,OAAO,CAAC;wBACxB,CAAC;wBACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;4BAC1B,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAChD,CAAC;wBACD,KAAK,cAAc,CAAC,CAAC,CAAC;4BACpB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1C,CAAC;wBACD,KAAK,OAAO,CAAC,CAAC,CAAC;4BACb,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnC,CAAC;wBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpC,CAAC;wBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;4BACtB,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5C,CAAC;wBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;4BAC3B,OAAO,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjD,CAAC;wBACD,KAAK,YAAY,CAAC,CAAC,CAAC;4BAClB,OAAO,GAAG,EAAE;gCACV,8DAA8D;4BAChE,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACR,8EAA8E;4BAC9E,IAAI,IAAI,KAAK,MAAM;gCAAE,OAAO,SAAS,CAAC;4BAEtC,uFAAuF;4BACvF,MAAM,SAAS,GAAU,IAAI,CAAC;4BAC9B,OAAQ,MAAwB,CAAC,SAAS,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAM,CAAC;QACV;YACE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,mBAAmB,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create-proxy-provider.js","sourceRoot":"","sources":["../../src/create-proxy-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAE3F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAuB,EACvB,OAAe;IAEf,mEAAmE;IACnE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAEhD,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,iBAAiB,CAAC,EAAE;YACvB,sDAAsD;YACtD,OAAO,sBAAsB,CAAC,QAAQ,CAAM,CAAC;QAC/C,KAAK,iBAAiB,CAAC,EAAE;YACvB,oEAAoE;YACpE,OAAO,sBAAsB,CAAC,QAAQ,CAAM,CAAC;QAC/C,KAAK,iBAAiB,CAAC,EAAE;YACvB,wEAAwE;YACxE,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACzB,GAAG,EAAE,CAAC,MAAqB,EAAE,IAAyB,EAAE,EAAE;oBACxD,QAAQ,IAAI,EAAE,CAAC;wBACb,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,OAAO,MAAM,CAAC,OAAO,CAAC;wBACxB,CAAC;wBACD,KAAK,aAAa,CAAC,CAAC,CAAC;4BACnB,OAAO,WAAW,CAAC;wBACrB,CAAC;wBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,MAAM,CAAC,MAAM,CAAC;wBACvB,CAAC;wBACD,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,OAAO,MAAM,CAAC,OAAO,CAAC;wBACxB,CAAC;wBACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;4BAC1B,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAChD,CAAC;wBACD,KAAK,cAAc,CAAC,CAAC,CAAC;4BACpB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1C,CAAC;wBACD,KAAK,OAAO,CAAC,CAAC,CAAC;4BACb,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnC,CAAC;wBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpC,CAAC;wBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;4BACtB,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5C,CAAC;wBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;4BAC3B,OAAO,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjD,CAAC;wBACD,KAAK,YAAY,CAAC,CAAC,CAAC;4BAClB,OAAO,GAAG,EAAE;gCACV,8DAA8D;4BAChE,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACR,8EAA8E;4BAC9E,IAAI,IAAI,KAAK,MAAM;gCAAE,OAAO,SAAS,CAAC;4BAEtC,uFAAuF;4BACvF,MAAM,SAAS,GAAU,IAAI,CAAC;4BAC9B,OAAQ,MAAwB,CAAC,SAAS,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAM,CAAC;QACV;YACE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,mBAAmB,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}