@azure/msal-browser 4.8.0 → 4.9.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 (204) hide show
  1. package/dist/app/IPublicClientApplication.mjs +1 -1
  2. package/dist/app/PublicClientApplication.mjs +1 -1
  3. package/dist/app/PublicClientNext.mjs +1 -1
  4. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +1 -1
  5. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  6. package/dist/cache/AccountManager.mjs +1 -1
  7. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  8. package/dist/cache/BrowserCacheManager.d.ts +4 -41
  9. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  10. package/dist/cache/BrowserCacheManager.mjs +18 -143
  11. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  12. package/dist/cache/CacheHelpers.mjs +1 -1
  13. package/dist/cache/CookieStorage.mjs +1 -1
  14. package/dist/cache/DatabaseStorage.mjs +1 -1
  15. package/dist/cache/LocalStorage.mjs +1 -1
  16. package/dist/cache/MemoryStorage.mjs +1 -1
  17. package/dist/cache/SessionStorage.mjs +1 -1
  18. package/dist/cache/TokenCache.mjs +1 -1
  19. package/dist/config/Configuration.d.ts.map +1 -1
  20. package/dist/config/Configuration.mjs +12 -3
  21. package/dist/config/Configuration.mjs.map +1 -1
  22. package/dist/controllers/ControllerFactory.mjs +1 -1
  23. package/dist/controllers/NestedAppAuthController.d.ts +2 -2
  24. package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
  25. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  26. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  27. package/dist/controllers/StandardController.d.ts.map +1 -1
  28. package/dist/controllers/StandardController.mjs +28 -16
  29. package/dist/controllers/StandardController.mjs.map +1 -1
  30. package/dist/controllers/UnknownOperatingContextController.d.ts +2 -2
  31. package/dist/controllers/UnknownOperatingContextController.d.ts.map +1 -1
  32. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  33. package/dist/controllers/UnknownOperatingContextController.mjs.map +1 -1
  34. package/dist/crypto/BrowserCrypto.d.ts +11 -0
  35. package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
  36. package/dist/crypto/BrowserCrypto.mjs +68 -5
  37. package/dist/crypto/BrowserCrypto.mjs.map +1 -1
  38. package/dist/crypto/CryptoOps.mjs +1 -1
  39. package/dist/crypto/PkceGenerator.mjs +1 -1
  40. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  41. package/dist/encode/Base64Decode.mjs +1 -1
  42. package/dist/encode/Base64Encode.mjs +1 -1
  43. package/dist/error/BrowserAuthError.d.ts +3 -5
  44. package/dist/error/BrowserAuthError.d.ts.map +1 -1
  45. package/dist/error/BrowserAuthError.mjs +5 -7
  46. package/dist/error/BrowserAuthError.mjs.map +1 -1
  47. package/dist/error/BrowserAuthErrorCodes.d.ts +3 -1
  48. package/dist/error/BrowserAuthErrorCodes.d.ts.map +1 -1
  49. package/dist/error/BrowserAuthErrorCodes.mjs +6 -4
  50. package/dist/error/BrowserAuthErrorCodes.mjs.map +1 -1
  51. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  52. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  53. package/dist/error/NativeAuthError.mjs +1 -1
  54. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  55. package/dist/error/NestedAppAuthError.mjs +1 -1
  56. package/dist/event/EventHandler.mjs +1 -1
  57. package/dist/event/EventMessage.mjs +1 -1
  58. package/dist/event/EventType.mjs +1 -1
  59. package/dist/index.mjs +1 -1
  60. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  61. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  62. package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  63. package/dist/interaction_client/NativeInteractionClient.mjs +1 -3
  64. package/dist/interaction_client/NativeInteractionClient.mjs.map +1 -1
  65. package/dist/interaction_client/PopupClient.d.ts +14 -1
  66. package/dist/interaction_client/PopupClient.d.ts.map +1 -1
  67. package/dist/interaction_client/PopupClient.mjs +65 -64
  68. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  69. package/dist/interaction_client/RedirectClient.d.ts +20 -3
  70. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  71. package/dist/interaction_client/RedirectClient.mjs +132 -76
  72. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  73. package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
  74. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  75. package/dist/interaction_client/SilentAuthCodeClient.mjs.map +1 -1
  76. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  77. package/dist/interaction_client/SilentIframeClient.d.ts +13 -3
  78. package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
  79. package/dist/interaction_client/SilentIframeClient.mjs +57 -44
  80. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  81. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  82. package/dist/interaction_client/StandardInteractionClient.d.ts +2 -3
  83. package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  84. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  85. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  86. package/dist/interaction_handler/InteractionHandler.d.ts +4 -5
  87. package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
  88. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  89. package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
  90. package/dist/interaction_handler/SilentHandler.d.ts +4 -2
  91. package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
  92. package/dist/interaction_handler/SilentHandler.mjs +13 -3
  93. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  94. package/dist/naa/BridgeError.mjs +1 -1
  95. package/dist/naa/BridgeProxy.mjs +1 -1
  96. package/dist/naa/BridgeStatusCode.mjs +1 -1
  97. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  98. package/dist/navigation/NavigationClient.mjs +1 -1
  99. package/dist/network/FetchClient.mjs +1 -1
  100. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  101. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  102. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  103. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  104. package/dist/packageMetadata.d.ts +1 -1
  105. package/dist/packageMetadata.mjs +2 -2
  106. package/dist/protocol/Authorize.d.ts +53 -1
  107. package/dist/protocol/Authorize.d.ts.map +1 -1
  108. package/dist/protocol/Authorize.mjs +147 -4
  109. package/dist/protocol/Authorize.mjs.map +1 -1
  110. package/dist/request/AuthorizationUrlRequest.d.ts +2 -4
  111. package/dist/request/AuthorizationUrlRequest.d.ts.map +1 -1
  112. package/dist/request/PopupRequest.d.ts +1 -1
  113. package/dist/request/PopupRequest.d.ts.map +1 -1
  114. package/dist/request/RedirectRequest.d.ts +1 -1
  115. package/dist/request/RedirectRequest.d.ts.map +1 -1
  116. package/dist/request/RequestHelpers.mjs +1 -1
  117. package/dist/request/SsoSilentRequest.d.ts +1 -1
  118. package/dist/request/SsoSilentRequest.d.ts.map +1 -1
  119. package/dist/response/ResponseHandler.mjs +1 -1
  120. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  121. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  122. package/dist/utils/BrowserConstants.d.ts +1 -10
  123. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  124. package/dist/utils/BrowserConstants.mjs +2 -11
  125. package/dist/utils/BrowserConstants.mjs.map +1 -1
  126. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  127. package/dist/utils/BrowserUtils.mjs +1 -1
  128. package/lib/msal-browser.cjs +1595 -1514
  129. package/lib/msal-browser.cjs.map +1 -1
  130. package/lib/msal-browser.js +1595 -1514
  131. package/lib/msal-browser.js.map +1 -1
  132. package/lib/msal-browser.min.js +68 -67
  133. package/lib/types/cache/BrowserCacheManager.d.ts +4 -41
  134. package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
  135. package/lib/types/config/Configuration.d.ts.map +1 -1
  136. package/lib/types/controllers/NestedAppAuthController.d.ts +2 -2
  137. package/lib/types/controllers/NestedAppAuthController.d.ts.map +1 -1
  138. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  139. package/lib/types/controllers/UnknownOperatingContextController.d.ts +2 -2
  140. package/lib/types/controllers/UnknownOperatingContextController.d.ts.map +1 -1
  141. package/lib/types/crypto/BrowserCrypto.d.ts +11 -0
  142. package/lib/types/crypto/BrowserCrypto.d.ts.map +1 -1
  143. package/lib/types/error/BrowserAuthError.d.ts +3 -5
  144. package/lib/types/error/BrowserAuthError.d.ts.map +1 -1
  145. package/lib/types/error/BrowserAuthErrorCodes.d.ts +3 -1
  146. package/lib/types/error/BrowserAuthErrorCodes.d.ts.map +1 -1
  147. package/lib/types/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  148. package/lib/types/interaction_client/PopupClient.d.ts +14 -1
  149. package/lib/types/interaction_client/PopupClient.d.ts.map +1 -1
  150. package/lib/types/interaction_client/RedirectClient.d.ts +20 -3
  151. package/lib/types/interaction_client/RedirectClient.d.ts.map +1 -1
  152. package/lib/types/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
  153. package/lib/types/interaction_client/SilentIframeClient.d.ts +13 -3
  154. package/lib/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
  155. package/lib/types/interaction_client/StandardInteractionClient.d.ts +2 -3
  156. package/lib/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  157. package/lib/types/interaction_handler/InteractionHandler.d.ts +4 -5
  158. package/lib/types/interaction_handler/InteractionHandler.d.ts.map +1 -1
  159. package/lib/types/interaction_handler/SilentHandler.d.ts +4 -2
  160. package/lib/types/interaction_handler/SilentHandler.d.ts.map +1 -1
  161. package/lib/types/packageMetadata.d.ts +1 -1
  162. package/lib/types/protocol/Authorize.d.ts +53 -1
  163. package/lib/types/protocol/Authorize.d.ts.map +1 -1
  164. package/lib/types/request/AuthorizationUrlRequest.d.ts +2 -4
  165. package/lib/types/request/AuthorizationUrlRequest.d.ts.map +1 -1
  166. package/lib/types/request/PopupRequest.d.ts +1 -1
  167. package/lib/types/request/PopupRequest.d.ts.map +1 -1
  168. package/lib/types/request/RedirectRequest.d.ts +1 -1
  169. package/lib/types/request/RedirectRequest.d.ts.map +1 -1
  170. package/lib/types/request/SsoSilentRequest.d.ts +1 -1
  171. package/lib/types/request/SsoSilentRequest.d.ts.map +1 -1
  172. package/lib/types/utils/BrowserConstants.d.ts +1 -10
  173. package/lib/types/utils/BrowserConstants.d.ts.map +1 -1
  174. package/package.json +2 -2
  175. package/src/cache/BrowserCacheManager.ts +30 -205
  176. package/src/config/Configuration.ts +14 -2
  177. package/src/controllers/NestedAppAuthController.ts +2 -0
  178. package/src/controllers/StandardController.ts +35 -24
  179. package/src/controllers/UnknownOperatingContextController.ts +2 -0
  180. package/src/crypto/BrowserCrypto.ts +91 -2
  181. package/src/error/BrowserAuthError.ts +6 -8
  182. package/src/error/BrowserAuthErrorCodes.ts +3 -1
  183. package/src/interaction_client/NativeInteractionClient.ts +0 -2
  184. package/src/interaction_client/PopupClient.ts +163 -119
  185. package/src/interaction_client/RedirectClient.ts +258 -140
  186. package/src/interaction_client/SilentAuthCodeClient.ts +2 -2
  187. package/src/interaction_client/SilentIframeClient.ts +154 -99
  188. package/src/interaction_client/StandardInteractionClient.ts +3 -3
  189. package/src/interaction_handler/InteractionHandler.ts +4 -4
  190. package/src/interaction_handler/SilentHandler.ts +31 -2
  191. package/src/packageMetadata.ts +1 -1
  192. package/src/protocol/Authorize.ts +356 -2
  193. package/src/request/AuthorizationUrlRequest.ts +3 -5
  194. package/src/request/PopupRequest.ts +1 -0
  195. package/src/request/RedirectRequest.ts +1 -0
  196. package/src/request/SsoSilentRequest.ts +1 -0
  197. package/src/utils/BrowserConstants.ts +1 -10
  198. package/dist/interaction_handler/RedirectHandler.d.ts +0 -33
  199. package/dist/interaction_handler/RedirectHandler.d.ts.map +0 -1
  200. package/dist/interaction_handler/RedirectHandler.mjs +0 -144
  201. package/dist/interaction_handler/RedirectHandler.mjs.map +0 -1
  202. package/lib/types/interaction_handler/RedirectHandler.d.ts +0 -33
  203. package/lib/types/interaction_handler/RedirectHandler.d.ts.map +0 -1
  204. package/src/interaction_handler/RedirectHandler.ts +0 -252
@@ -1,18 +1,17 @@
1
- /*! @azure/msal-browser v4.8.0 2025-03-20 */
1
+ /*! @azure/msal-browser v4.9.0 2025-03-25 */
2
2
  'use strict';
3
- import { invokeAsync, PerformanceEvents, AuthError, Constants, UrlString, UrlUtils, ProtocolUtils, ThrottlingUtils, ProtocolMode, ServerResponseType } from '@azure/msal-common/browser';
3
+ import { invokeAsync, PerformanceEvents, ProtocolMode, AuthError, Constants, UrlString, UrlUtils, ServerResponseType } from '@azure/msal-common/browser';
4
4
  import { StandardInteractionClient } from './StandardInteractionClient.mjs';
5
- import { InteractionType, ApiId, TemporaryCacheKeys } from '../utils/BrowserConstants.mjs';
6
- import { RedirectHandler } from '../interaction_handler/RedirectHandler.mjs';
5
+ import { InteractionType, TemporaryCacheKeys, ApiId } from '../utils/BrowserConstants.mjs';
7
6
  import { replaceHash, isInIframe, getHomepage, clearHash, getCurrentUri } from '../utils/BrowserUtils.mjs';
8
7
  import { EventType } from '../event/EventType.mjs';
9
8
  import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
10
- import { NativeInteractionClient } from './NativeInteractionClient.mjs';
11
9
  import { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.mjs';
12
10
  import { validateInteractionType } from '../response/ResponseHandler.mjs';
13
- import { getAuthCodeRequestUrl } from '../protocol/Authorize.mjs';
11
+ import { getAuthCodeRequestUrl, getEARForm, handleResponseEAR, handleResponseCode } from '../protocol/Authorize.mjs';
14
12
  import { generatePkceCodes } from '../crypto/PkceGenerator.mjs';
15
- import { noStateInHash, nativeConnectionNotEstablished, noCachedAuthorityError } from '../error/BrowserAuthErrorCodes.mjs';
13
+ import { generateEarKey } from '../crypto/BrowserCrypto.mjs';
14
+ import { noStateInHash, emptyNavigateUri } from '../error/BrowserAuthErrorCodes.mjs';
16
15
 
17
16
  /*
18
17
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -41,62 +40,96 @@ class RedirectClient extends StandardInteractionClient {
41
40
  */
42
41
  async acquireToken(request) {
43
42
  const validRequest = await invokeAsync(this.initializeAuthorizationRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.logger, this.performanceClient, this.correlationId)(request, InteractionType.Redirect);
44
- const pkceCodes = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, this.correlationId)(this.performanceClient, this.logger, this.correlationId);
45
- validRequest.codeChallenge = pkceCodes.challenge;
46
- this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || "", validRequest.account || null);
47
- const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);
43
+ validRequest.platformBroker =
44
+ NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme);
48
45
  const handleBackButton = (event) => {
49
46
  // Clear temporary cache if the back button is clicked during the redirect flow.
50
47
  if (event.persisted) {
51
48
  this.logger.verbose("Page was restored from back/forward cache. Clearing temporary cache.");
52
- this.browserStorage.cleanRequestByState(validRequest.state);
49
+ this.browserStorage.resetRequestCache();
53
50
  this.eventHandler.emitEvent(EventType.RESTORE_FROM_BFCACHE, InteractionType.Redirect);
54
51
  }
55
52
  };
53
+ const redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);
54
+ this.logger.verbosePii(`Redirect start page: ${redirectStartPage}`);
55
+ // Cache start page, returns to this page after redirectUri if navigateToLoginRequestUrl is true
56
+ this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, redirectStartPage, true);
57
+ // Clear temporary cache if the back button is clicked during the redirect flow.
58
+ window.addEventListener("pageshow", handleBackButton);
59
+ try {
60
+ if (this.config.auth.protocolMode === ProtocolMode.EAR) {
61
+ await this.executeEarFlow(validRequest);
62
+ }
63
+ else {
64
+ await this.executeCodeFlow(validRequest, request.onRedirectNavigate);
65
+ }
66
+ }
67
+ catch (e) {
68
+ if (e instanceof AuthError) {
69
+ e.setCorrelationId(this.correlationId);
70
+ }
71
+ window.removeEventListener("pageshow", handleBackButton);
72
+ throw e;
73
+ }
74
+ }
75
+ /**
76
+ * Executes auth code + PKCE flow
77
+ * @param request
78
+ * @returns
79
+ */
80
+ async executeCodeFlow(request, onRedirectNavigate) {
81
+ const correlationId = request.correlationId;
82
+ const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);
83
+ const pkceCodes = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, correlationId)(this.performanceClient, this.logger, correlationId);
84
+ const redirectRequest = {
85
+ ...request,
86
+ codeChallenge: pkceCodes.challenge,
87
+ };
88
+ this.browserStorage.cacheAuthorizeRequest(redirectRequest, pkceCodes.verifier);
56
89
  try {
57
90
  // Initialize the client
58
91
  const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, this.correlationId)({
59
92
  serverTelemetryManager,
60
- requestAuthority: validRequest.authority,
61
- requestAzureCloudOptions: validRequest.azureCloudOptions,
62
- requestExtraQueryParameters: validRequest.extraQueryParameters,
63
- account: validRequest.account,
93
+ requestAuthority: redirectRequest.authority,
94
+ requestAzureCloudOptions: redirectRequest.azureCloudOptions,
95
+ requestExtraQueryParameters: redirectRequest.extraQueryParameters,
96
+ account: redirectRequest.account,
64
97
  });
65
- const authCodeRequest = {
66
- ...validRequest,
67
- code: "",
68
- codeVerifier: pkceCodes.verifier,
69
- };
70
- // Create redirect interaction handler.
71
- const interactionHandler = new RedirectHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.performanceClient);
72
98
  // Create acquire token url.
73
- const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, validRequest.correlationId)(this.config, authClient.authority, {
74
- ...validRequest,
75
- platformBroker: NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme),
76
- }, this.logger, this.performanceClient);
77
- const redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);
78
- this.logger.verbosePii(`Redirect start page: ${redirectStartPage}`);
79
- // Clear temporary cache if the back button is clicked during the redirect flow.
80
- window.addEventListener("pageshow", handleBackButton);
99
+ const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, request.correlationId)(this.config, authClient.authority, redirectRequest, this.logger, this.performanceClient);
81
100
  // Show the UI once the url has been created. Response will come back in the hash, which will be handled in the handleRedirectCallback function.
82
- return await interactionHandler.initiateAuthRequest(navigateUrl, {
83
- navigationClient: this.navigationClient,
84
- redirectTimeout: this.config.system.redirectNavigationTimeout,
85
- redirectStartPage: redirectStartPage,
86
- onRedirectNavigate: request.onRedirectNavigate ||
87
- this.config.auth.onRedirectNavigate,
88
- });
101
+ return await this.initiateAuthRequest(navigateUrl, onRedirectNavigate);
89
102
  }
90
103
  catch (e) {
91
104
  if (e instanceof AuthError) {
92
105
  e.setCorrelationId(this.correlationId);
93
106
  serverTelemetryManager.cacheFailedRequest(e);
94
107
  }
95
- window.removeEventListener("pageshow", handleBackButton);
96
- this.browserStorage.cleanRequestByState(validRequest.state);
97
108
  throw e;
98
109
  }
99
110
  }
111
+ /**
112
+ * Executes EAR flow
113
+ * @param request
114
+ */
115
+ async executeEarFlow(request) {
116
+ const correlationId = request.correlationId;
117
+ // Get the frame handle for the silent request
118
+ const discoveredAuthority = await invokeAsync(this.getDiscoveredAuthority.bind(this), PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.logger, this.performanceClient, correlationId)({
119
+ requestAuthority: request.authority,
120
+ requestAzureCloudOptions: request.azureCloudOptions,
121
+ requestExtraQueryParameters: request.extraQueryParameters,
122
+ account: request.account,
123
+ });
124
+ const earJwk = await invokeAsync(generateEarKey, PerformanceEvents.GenerateEarKey, this.logger, this.performanceClient, correlationId)();
125
+ const redirectRequest = {
126
+ ...request,
127
+ earJwk: earJwk,
128
+ };
129
+ this.browserStorage.cacheAuthorizeRequest(redirectRequest);
130
+ const form = await getEARForm(document, this.config, discoveredAuthority, redirectRequest, this.logger, this.performanceClient);
131
+ form.submit();
132
+ }
100
133
  /**
101
134
  * Checks if navigateToLoginRequestUrl is set, and:
102
135
  * - if true, performs logic to cache and navigate
@@ -104,18 +137,14 @@ class RedirectClient extends StandardInteractionClient {
104
137
  * @param hash {string} url hash
105
138
  * @param parentMeasurement {InProgressPerformanceEvent} parent measurement
106
139
  */
107
- async handleRedirectPromise(hash = "", parentMeasurement) {
140
+ async handleRedirectPromise(hash = "", request, pkceVerifier, parentMeasurement) {
108
141
  const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.handleRedirectPromise);
109
142
  try {
110
- if (!this.browserStorage.isInteractionInProgress(true)) {
111
- this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null.");
112
- return null;
113
- }
114
143
  const [serverParams, responseString] = this.getRedirectResponse(hash || "");
115
144
  if (!serverParams) {
116
145
  // Not a recognized server response hash or hash not associated with a redirect request
117
146
  this.logger.info("handleRedirectPromise did not detect a response as a result of a redirect. Cleaning temporary cache.");
118
- this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);
147
+ this.browserStorage.resetRequestCache();
119
148
  // Do not instrument "no_server_response" if user clicked back button
120
149
  if (getNavigationType() !== "back_forward") {
121
150
  parentMeasurement.event.errorCode = "no_server_response";
@@ -137,12 +166,12 @@ class RedirectClient extends StandardInteractionClient {
137
166
  // Replace current hash with non-msal hash, if present
138
167
  replaceHash(loginRequestUrl);
139
168
  }
140
- const handleHashResult = await this.handleResponse(serverParams, serverTelemetryManager);
169
+ const handleHashResult = await this.handleResponse(serverParams, request, pkceVerifier, serverTelemetryManager);
141
170
  return handleHashResult;
142
171
  }
143
172
  else if (!this.config.auth.navigateToLoginRequestUrl) {
144
173
  this.logger.verbose("NavigateToLoginRequestUrl set to false, handling response");
145
- return await this.handleResponse(serverParams, serverTelemetryManager);
174
+ return await this.handleResponse(serverParams, request, pkceVerifier, serverTelemetryManager);
146
175
  }
147
176
  else if (!isInIframe() ||
148
177
  this.config.system.allowRedirectInIframe) {
@@ -178,7 +207,7 @@ class RedirectClient extends StandardInteractionClient {
178
207
  }
179
208
  // If navigateInternal implementation returns false, handle the hash now
180
209
  if (!processHashOnRedirect) {
181
- return await this.handleResponse(serverParams, serverTelemetryManager);
210
+ return await this.handleResponse(serverParams, request, pkceVerifier, serverTelemetryManager);
182
211
  }
183
212
  }
184
213
  return null;
@@ -188,7 +217,6 @@ class RedirectClient extends StandardInteractionClient {
188
217
  e.setCorrelationId(this.correlationId);
189
218
  serverTelemetryManager.cacheFailedRequest(e);
190
219
  }
191
- this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);
192
220
  throw e;
193
221
  }
194
222
  }
@@ -241,39 +269,67 @@ class RedirectClient extends StandardInteractionClient {
241
269
  * @param hash
242
270
  * @param state
243
271
  */
244
- async handleResponse(serverParams, serverTelemetryManager) {
272
+ async handleResponse(serverParams, request, codeVerifier, serverTelemetryManager) {
245
273
  const state = serverParams.state;
246
274
  if (!state) {
247
275
  throw createBrowserAuthError(noStateInHash);
248
276
  }
249
- const cachedRequest = this.browserStorage.getCachedRequest(state);
250
- this.logger.verbose("handleResponse called, retrieved cached request");
251
- if (serverParams.accountId) {
252
- this.logger.verbose("Account id found in hash, calling WAM for token");
253
- if (!this.nativeMessageHandler) {
254
- throw createBrowserAuthError(nativeConnectionNotEstablished);
255
- }
256
- const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenPopup, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.nativeStorage, cachedRequest.correlationId);
257
- const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, state);
258
- return nativeInteractionClient
259
- .acquireToken({
260
- ...cachedRequest,
261
- state: userRequestState,
262
- prompt: undefined, // Server should handle the prompt, ideally native broker can do this part silently
263
- })
264
- .finally(() => {
265
- this.browserStorage.cleanRequestByState(state);
277
+ if (serverParams.ear_jwe) {
278
+ const discoveredAuthority = await invokeAsync(this.getDiscoveredAuthority.bind(this), PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.logger, this.performanceClient, request.correlationId)({
279
+ requestAuthority: request.authority,
280
+ requestAzureCloudOptions: request.azureCloudOptions,
281
+ requestExtraQueryParameters: request.extraQueryParameters,
282
+ account: request.account,
266
283
  });
284
+ return invokeAsync(handleResponseEAR, PerformanceEvents.HandleResponseEar, this.logger, this.performanceClient, request.correlationId)(request, serverParams, ApiId.acquireTokenRedirect, this.config, discoveredAuthority, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.nativeMessageHandler);
285
+ }
286
+ const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, this.correlationId)({ serverTelemetryManager, requestAuthority: request.authority });
287
+ return invokeAsync(handleResponseCode, PerformanceEvents.HandleResponseCode, this.logger, this.performanceClient, request.correlationId)(request, serverParams, codeVerifier, ApiId.acquireTokenRedirect, this.config, authClient, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.nativeMessageHandler);
288
+ }
289
+ /**
290
+ * Redirects window to given URL.
291
+ * @param urlNavigate
292
+ * @param onRedirectNavigateRequest - onRedirectNavigate callback provided on the request
293
+ */
294
+ async initiateAuthRequest(requestUrl, onRedirectNavigateRequest) {
295
+ this.logger.verbose("RedirectHandler.initiateAuthRequest called");
296
+ // Navigate if valid URL
297
+ if (requestUrl) {
298
+ this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${requestUrl}`);
299
+ const navigationOptions = {
300
+ apiId: ApiId.acquireTokenRedirect,
301
+ timeout: this.config.system.redirectNavigationTimeout,
302
+ noHistory: false,
303
+ };
304
+ const onRedirectNavigate = onRedirectNavigateRequest ||
305
+ this.config.auth.onRedirectNavigate;
306
+ // If onRedirectNavigate is implemented, invoke it and provide requestUrl
307
+ if (typeof onRedirectNavigate === "function") {
308
+ this.logger.verbose("RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback");
309
+ const navigate = onRedirectNavigate(requestUrl);
310
+ // Returning false from onRedirectNavigate will stop navigation
311
+ if (navigate !== false) {
312
+ this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating");
313
+ await this.navigationClient.navigateExternal(requestUrl, navigationOptions);
314
+ return;
315
+ }
316
+ else {
317
+ this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation");
318
+ return;
319
+ }
320
+ }
321
+ else {
322
+ // Navigate window to request URL
323
+ this.logger.verbose("RedirectHandler.initiateAuthRequest: Navigating window to navigate url");
324
+ await this.navigationClient.navigateExternal(requestUrl, navigationOptions);
325
+ return;
326
+ }
267
327
  }
268
- // Hash contains known properties - handle and return in callback
269
- const currentAuthority = this.browserStorage.getCachedAuthority(state);
270
- if (!currentAuthority) {
271
- throw createBrowserAuthError(noCachedAuthorityError);
328
+ else {
329
+ // Throw error if request URL is empty.
330
+ this.logger.info("RedirectHandler.initiateAuthRequest: Navigate url is empty");
331
+ throw createBrowserAuthError(emptyNavigateUri);
272
332
  }
273
- const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, this.correlationId)({ serverTelemetryManager, requestAuthority: currentAuthority });
274
- ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, cachedRequest);
275
- const interactionHandler = new RedirectHandler(authClient, this.browserStorage, cachedRequest, this.logger, this.performanceClient);
276
- return interactionHandler.handleCodeResponse(serverParams, state);
277
333
  }
278
334
  /**
279
335
  * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectClient.mjs","sources":["../../src/interaction_client/RedirectClient.ts"],"sourcesContent":[null],"names":["BrowserUtils.replaceHash","BrowserUtils.isInIframe","BrowserUtils.getHomepage","ResponseHandler.validateInteractionType","BrowserUtils.clearHash","BrowserAuthErrorCodes.noStateInHash","BrowserAuthErrorCodes.nativeConnectionNotEstablished","BrowserAuthErrorCodes.noCachedAuthorityError","BrowserUtils.getCurrentUri"],"mappings":"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"}
1
+ {"version":3,"file":"RedirectClient.mjs","sources":["../../src/interaction_client/RedirectClient.ts"],"sourcesContent":[null],"names":["Authorize.getAuthCodeRequestUrl","Authorize.getEARForm","BrowserUtils.replaceHash","BrowserUtils.isInIframe","BrowserUtils.getHomepage","ResponseHandler.validateInteractionType","BrowserUtils.clearHash","BrowserAuthErrorCodes.noStateInHash","Authorize.handleResponseEAR","Authorize.handleResponseCode","BrowserAuthErrorCodes.emptyNavigateUri","BrowserUtils.getCurrentUri"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SilentAuthCodeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentAuthCodeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,MAAM,EAGN,kBAAkB,EAGrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAKvE,OAAO,EAAmB,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,qBAAa,oBAAqB,SAAQ,yBAAyB;IAC/D,OAAO,CAAC,KAAK,CAAQ;gBAGjB,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,iBAAiB,EACnC,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,kBAAkB,EACrC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,aAAa,CAAC,EAAE,MAAM;IAgB1B;;;OAGG;IACG,YAAY,CACd,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAmFhC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ1B"}
1
+ {"version":3,"file":"SilentAuthCodeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentAuthCodeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,MAAM,EAGN,kBAAkB,EAIrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAKvE,OAAO,EAAmB,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,qBAAa,oBAAqB,SAAQ,yBAAyB;IAC/D,OAAO,CAAC,KAAK,CAAQ;gBAGjB,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,iBAAiB,EACnC,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,kBAAkB,EACrC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,aAAa,CAAC,EAAE,MAAM;IAgB1B;;;OAGG;IACG,YAAY,CACd,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAmFhC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ1B"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.8.0 2025-03-20 */
1
+ /*! @azure/msal-browser v4.9.0 2025-03-25 */
2
2
  'use strict';
3
3
  import { invokeAsync, PerformanceEvents, AuthError } from '@azure/msal-common/browser';
4
4
  import { StandardInteractionClient } from './StandardInteractionClient.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"SilentAuthCodeClient.mjs","sources":["../../src/interaction_client/SilentAuthCodeClient.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.authCodeRequired","BrowserAuthErrorCodes.silentLogoutUnsupported"],"mappings":"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"}
1
+ {"version":3,"file":"SilentAuthCodeClient.mjs","sources":["../../src/interaction_client/SilentAuthCodeClient.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.authCodeRequired","BrowserAuthErrorCodes.silentLogoutUnsupported"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.8.0 2025-03-20 */
1
+ /*! @azure/msal-browser v4.9.0 2025-03-25 */
2
2
  'use strict';
3
3
  import { StandardInteractionClient } from './StandardInteractionClient.mjs';
4
4
  import { PerformanceEvents, invokeAsync, SilentFlowClient } from '@azure/msal-common/browser';
@@ -1,6 +1,5 @@
1
- import { ICrypto, Logger, AuthorizationCodeClient, IPerformanceClient } from "@azure/msal-common/browser";
1
+ import { ICrypto, Logger, AuthorizationCodeClient, IPerformanceClient, CommonAuthorizationUrlRequest } from "@azure/msal-common/browser";
2
2
  import { StandardInteractionClient } from "./StandardInteractionClient.js";
3
- import { AuthorizationUrlRequest } from "../request/AuthorizationUrlRequest.js";
4
3
  import { BrowserConfiguration } from "../config/Configuration.js";
5
4
  import { BrowserCacheManager } from "../cache/BrowserCacheManager.js";
6
5
  import { EventHandler } from "../event/EventHandler.js";
@@ -18,6 +17,17 @@ export declare class SilentIframeClient extends StandardInteractionClient {
18
17
  * @param request
19
18
  */
20
19
  acquireToken(request: SsoSilentRequest): Promise<AuthenticationResult>;
20
+ /**
21
+ * Executes auth code + PKCE flow
22
+ * @param request
23
+ * @returns
24
+ */
25
+ executeCodeFlow(request: CommonAuthorizationUrlRequest): Promise<AuthenticationResult>;
26
+ /**
27
+ * Executes EAR flow
28
+ * @param request
29
+ */
30
+ executeEarFlow(request: CommonAuthorizationUrlRequest): Promise<AuthenticationResult>;
21
31
  /**
22
32
  * Currently Unsupported
23
33
  */
@@ -28,6 +38,6 @@ export declare class SilentIframeClient extends StandardInteractionClient {
28
38
  * @param navigateUrl
29
39
  * @param userRequestScopes
30
40
  */
31
- protected silentTokenHelper(authClient: AuthorizationCodeClient, request: AuthorizationUrlRequest): Promise<AuthenticationResult>;
41
+ protected silentTokenHelper(authClient: AuthorizationCodeClient, request: CommonAuthorizationUrlRequest): Promise<AuthenticationResult>;
32
42
  }
33
43
  //# sourceMappingURL=SilentIframeClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SilentIframeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentIframeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,MAAM,EAGN,uBAAuB,EAGvB,kBAAkB,EAIrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAKvE,OAAO,EAEH,KAAK,EAER,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAO3E,qBAAa,kBAAmB,SAAQ,yBAAyB;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC;gBAGzC,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,iBAAiB,EACnC,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,kBAAkB,EACrC,iBAAiB,EAAE,mBAAmB,EACtC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,aAAa,CAAC,EAAE,MAAM;IAiB1B;;;OAGG;IACG,YAAY,CACd,OAAO,EAAE,gBAAgB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IA+GhC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASvB;;;;;OAKG;cACa,iBAAiB,CAC7B,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,oBAAoB,CAAC;CA+InC"}
1
+ {"version":3,"file":"SilentIframeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentIframeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,MAAM,EAEN,uBAAuB,EAEvB,kBAAkB,EAKlB,6BAA6B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAKvE,OAAO,EAEH,KAAK,EAER,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAO3E,qBAAa,kBAAmB,SAAQ,yBAAyB;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC;gBAGzC,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,iBAAiB,EACnC,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,kBAAkB,EACrC,iBAAiB,EAAE,mBAAmB,EACtC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,aAAa,CAAC,EAAE,MAAM;IAiB1B;;;OAGG;IACG,YAAY,CACd,OAAO,EAAE,gBAAgB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAwDhC;;;;OAIG;IACG,eAAe,CACjB,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,oBAAoB,CAAC;IA4DhC;;;OAGG;IACG,cAAc,CAChB,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,oBAAoB,CAAC;IAuFhC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASvB;;;;;OAKG;cACa,iBAAiB,CAC7B,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,oBAAoB,CAAC;CA8FnC"}
@@ -1,18 +1,17 @@
1
- /*! @azure/msal-browser v4.8.0 2025-03-20 */
1
+ /*! @azure/msal-browser v4.9.0 2025-03-25 */
2
2
  'use strict';
3
- import { PerformanceEvents, PromptValue, invokeAsync, AuthError, invoke, ProtocolUtils } from '@azure/msal-common/browser';
3
+ import { PerformanceEvents, PromptValue, invokeAsync, ProtocolMode, AuthError, invoke } from '@azure/msal-common/browser';
4
4
  import { StandardInteractionClient } from './StandardInteractionClient.mjs';
5
5
  import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
6
6
  import { InteractionType, BrowserConstants } from '../utils/BrowserConstants.mjs';
7
- import { initiateAuthRequest, monitorIframeForHash } from '../interaction_handler/SilentHandler.mjs';
7
+ import { initiateEarRequest, monitorIframeForHash, initiateCodeRequest } from '../interaction_handler/SilentHandler.mjs';
8
8
  import { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.mjs';
9
- import { NativeInteractionClient } from './NativeInteractionClient.mjs';
10
- import { InteractionHandler } from '../interaction_handler/InteractionHandler.mjs';
11
9
  import { preconnect } from '../utils/BrowserUtils.mjs';
12
10
  import { deserializeResponse } from '../response/ResponseHandler.mjs';
13
- import { getAuthCodeRequestUrl } from '../protocol/Authorize.mjs';
11
+ import { handleResponseEAR, getAuthCodeRequestUrl, handleResponseCode } from '../protocol/Authorize.mjs';
14
12
  import { generatePkceCodes } from '../crypto/PkceGenerator.mjs';
15
- import { silentLogoutUnsupported, nativeConnectionNotEstablished } from '../error/BrowserAuthErrorCodes.mjs';
13
+ import { generateEarKey } from '../crypto/BrowserCrypto.mjs';
14
+ import { silentLogoutUnsupported } from '../error/BrowserAuthErrorCodes.mjs';
16
15
 
17
16
  /*
18
17
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -50,19 +49,34 @@ class SilentIframeClient extends StandardInteractionClient {
50
49
  }
51
50
  // Create silent request
52
51
  const silentRequest = await invokeAsync(this.initializeAuthorizationRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.logger, this.performanceClient, request.correlationId)(inputRequest, InteractionType.Silent);
52
+ silentRequest.platformBroker =
53
+ NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme);
53
54
  preconnect(silentRequest.authority);
54
- const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
55
+ if (this.config.auth.protocolMode === ProtocolMode.EAR) {
56
+ return this.executeEarFlow(silentRequest);
57
+ }
58
+ else {
59
+ return this.executeCodeFlow(silentRequest);
60
+ }
61
+ }
62
+ /**
63
+ * Executes auth code + PKCE flow
64
+ * @param request
65
+ * @returns
66
+ */
67
+ async executeCodeFlow(request) {
55
68
  let authClient;
69
+ const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
56
70
  try {
57
71
  // Initialize the client
58
72
  authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, request.correlationId)({
59
73
  serverTelemetryManager,
60
- requestAuthority: silentRequest.authority,
61
- requestAzureCloudOptions: silentRequest.azureCloudOptions,
62
- requestExtraQueryParameters: silentRequest.extraQueryParameters,
63
- account: silentRequest.account,
74
+ requestAuthority: request.authority,
75
+ requestAzureCloudOptions: request.azureCloudOptions,
76
+ requestExtraQueryParameters: request.extraQueryParameters,
77
+ account: request.account,
64
78
  });
65
- return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, request.correlationId)(authClient, silentRequest);
79
+ return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, request.correlationId)(authClient, request);
66
80
  }
67
81
  catch (e) {
68
82
  if (e instanceof AuthError) {
@@ -77,10 +91,33 @@ class SilentIframeClient extends StandardInteractionClient {
77
91
  this.performanceClient.addFields({
78
92
  retryError: e.errorCode,
79
93
  }, this.correlationId);
80
- const retrySilentRequest = await invokeAsync(this.initializeAuthorizationRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.logger, this.performanceClient, request.correlationId)(inputRequest, InteractionType.Silent);
81
- return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, this.correlationId)(authClient, retrySilentRequest);
94
+ return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, this.correlationId)(authClient, request);
82
95
  }
83
96
  }
97
+ /**
98
+ * Executes EAR flow
99
+ * @param request
100
+ */
101
+ async executeEarFlow(request) {
102
+ const correlationId = request.correlationId;
103
+ const discoveredAuthority = await invokeAsync(this.getDiscoveredAuthority.bind(this), PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.logger, this.performanceClient, correlationId)({
104
+ requestAuthority: request.authority,
105
+ requestAzureCloudOptions: request.azureCloudOptions,
106
+ requestExtraQueryParameters: request.extraQueryParameters,
107
+ account: request.account,
108
+ });
109
+ const earJwk = await invokeAsync(generateEarKey, PerformanceEvents.GenerateEarKey, this.logger, this.performanceClient, correlationId)();
110
+ const silentRequest = {
111
+ ...request,
112
+ earJwk: earJwk,
113
+ };
114
+ const msalFrame = await invokeAsync(initiateEarRequest, PerformanceEvents.SilentHandlerInitiateAuthRequest, this.logger, this.performanceClient, correlationId)(this.config, discoveredAuthority, silentRequest, this.logger, this.performanceClient);
115
+ const responseType = this.config.auth.OIDCOptions.serverResponseType;
116
+ // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.
117
+ const responseString = await invokeAsync(monitorIframeForHash, PerformanceEvents.SilentHandlerMonitorIframeForHash, this.logger, this.performanceClient, correlationId)(msalFrame, this.config.system.iframeHashTimeout, this.config.system.pollIntervalMilliseconds, this.performanceClient, this.logger, correlationId, responseType);
118
+ const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, correlationId)(responseString, responseType, this.logger);
119
+ return invokeAsync(handleResponseEAR, PerformanceEvents.HandleResponseEar, this.logger, this.performanceClient, correlationId)(silentRequest, serverParams, this.apiId, this.config, discoveredAuthority, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.nativeMessageHandler);
120
+ }
84
121
  /**
85
122
  * Currently Unsupported
86
123
  */
@@ -97,44 +134,20 @@ class SilentIframeClient extends StandardInteractionClient {
97
134
  async silentTokenHelper(authClient, request) {
98
135
  const correlationId = request.correlationId;
99
136
  this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentIframeClientTokenHelper, correlationId);
100
- const pkceCodes = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, this.correlationId)(this.performanceClient, this.logger, this.correlationId);
137
+ const pkceCodes = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, correlationId)(this.performanceClient, this.logger, correlationId);
101
138
  const silentRequest = {
102
139
  ...request,
103
140
  codeChallenge: pkceCodes.challenge,
104
141
  };
105
142
  // Create authorize request url
106
- const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, correlationId)(this.config, authClient.authority, {
107
- ...silentRequest,
108
- platformBroker: NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme),
109
- }, this.logger, this.performanceClient);
143
+ const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, correlationId)(this.config, authClient.authority, silentRequest, this.logger, this.performanceClient);
110
144
  // Get the frame handle for the silent request
111
- const msalFrame = await invokeAsync(initiateAuthRequest, PerformanceEvents.SilentHandlerInitiateAuthRequest, this.logger, this.performanceClient, correlationId)(navigateUrl, this.performanceClient, this.logger, correlationId, this.config.system.navigateFrameWait);
145
+ const msalFrame = await invokeAsync(initiateCodeRequest, PerformanceEvents.SilentHandlerInitiateAuthRequest, this.logger, this.performanceClient, correlationId)(navigateUrl, this.performanceClient, this.logger, correlationId, this.config.system.navigateFrameWait);
112
146
  const responseType = this.config.auth.OIDCOptions.serverResponseType;
113
147
  // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.
114
148
  const responseString = await invokeAsync(monitorIframeForHash, PerformanceEvents.SilentHandlerMonitorIframeForHash, this.logger, this.performanceClient, correlationId)(msalFrame, this.config.system.iframeHashTimeout, this.config.system.pollIntervalMilliseconds, this.performanceClient, this.logger, correlationId, responseType);
115
- const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, this.correlationId)(responseString, responseType, this.logger);
116
- if (serverParams.accountId) {
117
- this.logger.verbose("Account id found in hash, calling WAM for token");
118
- if (!this.nativeMessageHandler) {
119
- throw createBrowserAuthError(nativeConnectionNotEstablished);
120
- }
121
- const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.apiId, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.browserStorage, correlationId);
122
- const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, silentRequest.state);
123
- return invokeAsync(nativeInteractionClient.acquireToken.bind(nativeInteractionClient), PerformanceEvents.NativeInteractionClientAcquireToken, this.logger, this.performanceClient, correlationId)({
124
- ...silentRequest,
125
- state: userRequestState,
126
- prompt: silentRequest.prompt || PromptValue.NONE,
127
- });
128
- }
129
- const authCodeRequest = {
130
- ...silentRequest,
131
- code: serverParams.code || "",
132
- codeVerifier: pkceCodes.verifier,
133
- };
134
- // Create silent handler
135
- const interactionHandler = new InteractionHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.performanceClient);
136
- // Handle response from hash string
137
- return invokeAsync(interactionHandler.handleCodeResponse.bind(interactionHandler), PerformanceEvents.HandleCodeResponse, this.logger, this.performanceClient, correlationId)(serverParams, silentRequest);
149
+ const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, correlationId)(responseString, responseType, this.logger);
150
+ return invokeAsync(handleResponseCode, PerformanceEvents.HandleResponseCode, this.logger, this.performanceClient, correlationId)(request, serverParams, pkceCodes.verifier, this.apiId, this.config, authClient, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.nativeMessageHandler);
138
151
  }
139
152
  }
140
153