@azure/msal-browser 4.9.1 → 4.10.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 (107) 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 +7 -3
  9. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  10. package/dist/cache/BrowserCacheManager.mjs +8 -7
  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 +2 -2
  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.mjs +3 -3
  20. package/dist/controllers/ControllerFactory.mjs +1 -1
  21. package/dist/controllers/NestedAppAuthController.mjs +2 -2
  22. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  23. package/dist/controllers/StandardController.d.ts.map +1 -1
  24. package/dist/controllers/StandardController.mjs +32 -20
  25. package/dist/controllers/StandardController.mjs.map +1 -1
  26. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  27. package/dist/crypto/BrowserCrypto.d.ts +6 -0
  28. package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
  29. package/dist/crypto/BrowserCrypto.mjs +2 -2
  30. package/dist/crypto/BrowserCrypto.mjs.map +1 -1
  31. package/dist/crypto/CryptoOps.mjs +1 -1
  32. package/dist/crypto/PkceGenerator.mjs +1 -1
  33. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  34. package/dist/encode/Base64Decode.mjs +1 -1
  35. package/dist/encode/Base64Encode.mjs +1 -1
  36. package/dist/error/BrowserAuthError.mjs +2 -2
  37. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  38. package/dist/error/BrowserConfigurationAuthError.mjs +2 -2
  39. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  40. package/dist/error/NativeAuthError.mjs +1 -1
  41. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  42. package/dist/error/NestedAppAuthError.mjs +1 -1
  43. package/dist/event/EventHandler.mjs +1 -1
  44. package/dist/event/EventMessage.mjs +1 -1
  45. package/dist/event/EventType.mjs +1 -1
  46. package/dist/index.mjs +1 -1
  47. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  48. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  49. package/dist/interaction_client/NativeInteractionClient.mjs +1 -1
  50. package/dist/interaction_client/PopupClient.mjs +1 -1
  51. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  52. package/dist/interaction_client/RedirectClient.mjs +4 -4
  53. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  54. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  55. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  56. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  57. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  58. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  59. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  60. package/dist/interaction_handler/SilentHandler.mjs +3 -3
  61. package/dist/naa/BridgeError.mjs +1 -1
  62. package/dist/naa/BridgeProxy.mjs +1 -1
  63. package/dist/naa/BridgeStatusCode.mjs +1 -1
  64. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +2 -2
  65. package/dist/navigation/NavigationClient.mjs +1 -1
  66. package/dist/network/FetchClient.mjs +1 -1
  67. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  68. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  69. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  70. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  71. package/dist/packageMetadata.d.ts +1 -1
  72. package/dist/packageMetadata.d.ts.map +1 -1
  73. package/dist/packageMetadata.mjs +2 -2
  74. package/dist/protocol/Authorize.mjs +1 -1
  75. package/dist/request/RequestHelpers.mjs +1 -1
  76. package/dist/response/ResponseHandler.mjs +1 -1
  77. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  78. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  79. package/dist/utils/BrowserConstants.d.ts +5 -0
  80. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  81. package/dist/utils/BrowserConstants.mjs +10 -2
  82. package/dist/utils/BrowserConstants.mjs.map +1 -1
  83. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  84. package/dist/utils/BrowserUtils.mjs +1 -1
  85. package/lib/msal-browser.cjs +156 -99
  86. package/lib/msal-browser.cjs.map +1 -1
  87. package/lib/msal-browser.js +156 -99
  88. package/lib/msal-browser.js.map +1 -1
  89. package/lib/msal-browser.min.js +62 -62
  90. package/lib/types/cache/BrowserCacheManager.d.ts +7 -3
  91. package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
  92. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  93. package/lib/types/crypto/BrowserCrypto.d.ts +6 -0
  94. package/lib/types/crypto/BrowserCrypto.d.ts.map +1 -1
  95. package/lib/types/interaction_client/RedirectClient.d.ts.map +1 -1
  96. package/lib/types/packageMetadata.d.ts +1 -1
  97. package/lib/types/packageMetadata.d.ts.map +1 -1
  98. package/lib/types/utils/BrowserConstants.d.ts +5 -0
  99. package/lib/types/utils/BrowserConstants.d.ts.map +1 -1
  100. package/package.json +2 -2
  101. package/src/cache/BrowserCacheManager.ts +43 -31
  102. package/src/controllers/NestedAppAuthController.ts +1 -1
  103. package/src/controllers/StandardController.ts +82 -54
  104. package/src/crypto/BrowserCrypto.ts +1 -1
  105. package/src/interaction_client/RedirectClient.ts +9 -2
  106. package/src/packageMetadata.ts +1 -1
  107. package/src/utils/BrowserConstants.ts +7 -0
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-browser v4.9.1 2025-03-26 */
1
+ /*! @azure/msal-browser v4.10.0 2025-04-08 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
5
- /*! @azure/msal-common v15.4.0 2025-03-26 */
5
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6
6
  /*
7
7
  * Copyright (c) Microsoft Corporation. All rights reserved.
8
8
  * Licensed under the MIT License.
@@ -62,10 +62,26 @@ const Constants = {
62
62
  INVALID_INSTANCE: "invalid_instance",
63
63
  };
64
64
  const HttpStatus = {
65
+ SUCCESS: 200,
66
+ SUCCESS_RANGE_START: 200,
67
+ SUCCESS_RANGE_END: 299,
68
+ REDIRECT: 302,
69
+ CLIENT_ERROR: 400,
65
70
  CLIENT_ERROR_RANGE_START: 400,
71
+ BAD_REQUEST: 400,
72
+ UNAUTHORIZED: 401,
73
+ NOT_FOUND: 404,
74
+ REQUEST_TIMEOUT: 408,
75
+ GONE: 410,
76
+ TOO_MANY_REQUESTS: 429,
66
77
  CLIENT_ERROR_RANGE_END: 499,
78
+ SERVER_ERROR: 500,
67
79
  SERVER_ERROR_RANGE_START: 500,
68
- SERVER_ERROR_RANGE_END: 599};
80
+ SERVICE_UNAVAILABLE: 503,
81
+ GATEWAY_TIMEOUT: 504,
82
+ SERVER_ERROR_RANGE_END: 599,
83
+ MULTI_SIDED_ERROR: 600,
84
+ };
69
85
  const OIDC_DEFAULT_SCOPES = [
70
86
  Constants.OPENID_SCOPE,
71
87
  Constants.PROFILE_SCOPE,
@@ -131,6 +147,7 @@ const CodeChallengeMethodValues = {
131
147
  */
132
148
  const OAuthResponseType = {
133
149
  CODE: "code",
150
+ IDTOKEN_TOKEN: "id_token token",
134
151
  IDTOKEN_TOKEN_REFRESHTOKEN: "id_token token refresh_token",
135
152
  };
136
153
  /**
@@ -145,19 +162,29 @@ const ServerResponseType = {
145
162
  * allowed values for response_mode
146
163
  */
147
164
  const ResponseMode = {
148
- QUERY: "query"};
165
+ QUERY: "query",
166
+ FRAGMENT: "fragment",
167
+ FORM_POST: "form_post",
168
+ };
149
169
  /**
150
170
  * allowed grant_type
151
171
  */
152
172
  const GrantType = {
173
+ IMPLICIT_GRANT: "implicit",
153
174
  AUTHORIZATION_CODE_GRANT: "authorization_code",
154
- REFRESH_TOKEN_GRANT: "refresh_token"};
175
+ CLIENT_CREDENTIALS_GRANT: "client_credentials",
176
+ RESOURCE_OWNER_PASSWORD_GRANT: "password",
177
+ REFRESH_TOKEN_GRANT: "refresh_token",
178
+ DEVICE_CODE_GRANT: "device_code",
179
+ JWT_BEARER: "urn:ietf:params:oauth:grant-type:jwt-bearer",
180
+ };
155
181
  /**
156
182
  * Account types in Cache
157
183
  */
158
184
  const CacheAccountType = {
159
185
  MSSTS_ACCOUNT_TYPE: "MSSTS",
160
186
  ADFS_ACCOUNT_TYPE: "ADFS",
187
+ MSAV1_ACCOUNT_TYPE: "MSA",
161
188
  GENERIC_ACCOUNT_TYPE: "Generic", // NTLM, Kerberos, FBA, Basic etc
162
189
  };
163
190
  /**
@@ -194,6 +221,7 @@ const AuthorityMetadataSource = {
194
221
  };
195
222
  const SERVER_TELEM_CONSTANTS = {
196
223
  SCHEMA_VERSION: 5,
224
+ MAX_CUR_HEADER_BYTES: 80,
197
225
  MAX_LAST_HEADER_BYTES: 330,
198
226
  MAX_CACHED_ERRORS: 50,
199
227
  CACHE_KEY: "server-telemetry",
@@ -248,7 +276,9 @@ const RegionDiscoverySources = {
248
276
  * Region Discovery Outcomes
249
277
  */
250
278
  const RegionDiscoveryOutcomes = {
279
+ CONFIGURED_MATCHES_DETECTED: "1",
251
280
  CONFIGURED_NO_AUTO_DETECTION: "2",
281
+ CONFIGURED_NOT_DETECTED: "3",
252
282
  AUTO_DETECTION_REQUESTED_SUCCESSFUL: "4",
253
283
  AUTO_DETECTION_REQUESTED_FAILED: "5",
254
284
  };
@@ -275,7 +305,7 @@ const JsonWebTokenTypes = {
275
305
  // Token renewal offset default in seconds
276
306
  const DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;
277
307
 
278
- /*! @azure/msal-common v15.4.0 2025-03-26 */
308
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
279
309
  /*
280
310
  * Copyright (c) Microsoft Corporation. All rights reserved.
281
311
  * Licensed under the MIT License.
@@ -292,7 +322,7 @@ var AuthErrorCodes = /*#__PURE__*/Object.freeze({
292
322
  unexpectedError: unexpectedError
293
323
  });
294
324
 
295
- /*! @azure/msal-common v15.4.0 2025-03-26 */
325
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
296
326
 
297
327
  /*
298
328
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -341,7 +371,7 @@ function createAuthError(code, additionalMessage) {
341
371
  : AuthErrorMessages[code]);
342
372
  }
343
373
 
344
- /*! @azure/msal-common v15.4.0 2025-03-26 */
374
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
345
375
  /*
346
376
  * Copyright (c) Microsoft Corporation. All rights reserved.
347
377
  * Licensed under the MIT License.
@@ -439,7 +469,7 @@ var ClientAuthErrorCodes = /*#__PURE__*/Object.freeze({
439
469
  userTimeoutReached: userTimeoutReached
440
470
  });
441
471
 
442
- /*! @azure/msal-common v15.4.0 2025-03-26 */
472
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
443
473
 
444
474
  /*
445
475
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -691,7 +721,7 @@ function createClientAuthError(errorCode, additionalMessage) {
691
721
  return new ClientAuthError(errorCode, additionalMessage);
692
722
  }
693
723
 
694
- /*! @azure/msal-common v15.4.0 2025-03-26 */
724
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
695
725
 
696
726
  /*
697
727
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -730,7 +760,7 @@ const DEFAULT_CRYPTO_IMPLEMENTATION = {
730
760
  },
731
761
  };
732
762
 
733
- /*! @azure/msal-common v15.4.0 2025-03-26 */
763
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
734
764
 
735
765
  /*
736
766
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -921,12 +951,12 @@ class Logger {
921
951
  }
922
952
  }
923
953
 
924
- /*! @azure/msal-common v15.4.0 2025-03-26 */
954
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
925
955
  /* eslint-disable header/header */
926
956
  const name$1 = "@azure/msal-common";
927
- const version$1 = "15.4.0";
957
+ const version$1 = "15.5.0";
928
958
 
929
- /*! @azure/msal-common v15.4.0 2025-03-26 */
959
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
930
960
  /*
931
961
  * Copyright (c) Microsoft Corporation. All rights reserved.
932
962
  * Licensed under the MIT License.
@@ -946,7 +976,7 @@ const AzureCloudInstance = {
946
976
  AzureUsGovernment: "https://login.microsoftonline.us",
947
977
  };
948
978
 
949
- /*! @azure/msal-common v15.4.0 2025-03-26 */
979
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
950
980
 
951
981
  /*
952
982
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1007,7 +1037,7 @@ function checkMaxAge(authTime, maxAge) {
1007
1037
  }
1008
1038
  }
1009
1039
 
1010
- /*! @azure/msal-common v15.4.0 2025-03-26 */
1040
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1011
1041
  /*
1012
1042
  * Copyright (c) Microsoft Corporation. All rights reserved.
1013
1043
  * Licensed under the MIT License.
@@ -1062,7 +1092,7 @@ function wasClockTurnedBack(cachedAt) {
1062
1092
  return cachedAtSec > nowSeconds();
1063
1093
  }
1064
1094
 
1065
- /*! @azure/msal-common v15.4.0 2025-03-26 */
1095
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1066
1096
 
1067
1097
  /*
1068
1098
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1389,7 +1419,7 @@ function isAuthorityMetadataExpired(metadata) {
1389
1419
  return metadata.expiresAt <= nowSeconds();
1390
1420
  }
1391
1421
 
1392
- /*! @azure/msal-common v15.4.0 2025-03-26 */
1422
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1393
1423
  /*
1394
1424
  * Copyright (c) Microsoft Corporation. All rights reserved.
1395
1425
  * Licensed under the MIT License.
@@ -1443,7 +1473,7 @@ var ClientConfigurationErrorCodes = /*#__PURE__*/Object.freeze({
1443
1473
  urlParseError: urlParseError
1444
1474
  });
1445
1475
 
1446
- /*! @azure/msal-common v15.4.0 2025-03-26 */
1476
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1447
1477
 
1448
1478
  /*
1449
1479
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1581,7 +1611,7 @@ function createClientConfigurationError(errorCode) {
1581
1611
  return new ClientConfigurationError(errorCode);
1582
1612
  }
1583
1613
 
1584
- /*! @azure/msal-common v15.4.0 2025-03-26 */
1614
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1585
1615
  /*
1586
1616
  * Copyright (c) Microsoft Corporation. All rights reserved.
1587
1617
  * Licensed under the MIT License.
@@ -1678,7 +1708,7 @@ class StringUtils {
1678
1708
  }
1679
1709
  }
1680
1710
 
1681
- /*! @azure/msal-common v15.4.0 2025-03-26 */
1711
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1682
1712
 
1683
1713
  /*
1684
1714
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1869,7 +1899,7 @@ class ScopeSet {
1869
1899
  }
1870
1900
  }
1871
1901
 
1872
- /*! @azure/msal-common v15.4.0 2025-03-26 */
1902
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1873
1903
 
1874
1904
  /*
1875
1905
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1909,7 +1939,7 @@ function buildClientInfoFromHomeAccountId(homeAccountId) {
1909
1939
  };
1910
1940
  }
1911
1941
 
1912
- /*! @azure/msal-common v15.4.0 2025-03-26 */
1942
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1913
1943
  /*
1914
1944
  * Copyright (c) Microsoft Corporation. All rights reserved.
1915
1945
  * Licensed under the MIT License.
@@ -1988,7 +2018,7 @@ function updateAccountTenantProfileData(baseAccountInfo, tenantProfile, idTokenC
1988
2018
  return updatedAccountInfo;
1989
2019
  }
1990
2020
 
1991
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2021
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
1992
2022
  /*
1993
2023
  * Copyright (c) Microsoft Corporation. All rights reserved.
1994
2024
  * Licensed under the MIT License.
@@ -2003,7 +2033,7 @@ const AuthorityType = {
2003
2033
  Ciam: 3,
2004
2034
  };
2005
2035
 
2006
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2036
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2007
2037
  /*
2008
2038
  * Copyright (c) Microsoft Corporation. All rights reserved.
2009
2039
  * Licensed under the MIT License.
@@ -2025,7 +2055,7 @@ function getTenantIdFromIdTokenClaims(idTokenClaims) {
2025
2055
  return null;
2026
2056
  }
2027
2057
 
2028
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2058
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2029
2059
  /*
2030
2060
  * Copyright (c) Microsoft Corporation. All rights reserved.
2031
2061
  * Licensed under the MIT License.
@@ -2049,7 +2079,7 @@ const ProtocolMode = {
2049
2079
  EAR: "EAR",
2050
2080
  };
2051
2081
 
2052
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2082
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2053
2083
 
2054
2084
  /*
2055
2085
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2292,7 +2322,7 @@ class AccountEntity {
2292
2322
  }
2293
2323
  }
2294
2324
 
2295
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2325
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2296
2326
 
2297
2327
  /*
2298
2328
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2350,7 +2380,7 @@ function mapToQueryString(parameters) {
2350
2380
  return queryParameterArray.join("&");
2351
2381
  }
2352
2382
 
2353
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2383
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2354
2384
 
2355
2385
  /*
2356
2386
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2514,7 +2544,7 @@ class UrlString {
2514
2544
  }
2515
2545
  }
2516
2546
 
2517
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2547
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2518
2548
 
2519
2549
  /*
2520
2550
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2545,6 +2575,7 @@ const rawMetdataJSON = {
2545
2575
  },
2546
2576
  },
2547
2577
  instanceDiscoveryMetadata: {
2578
+ tenant_discovery_endpoint: "https://{canonicalAuthority}/v2.0/.well-known/openid-configuration",
2548
2579
  metadata: [
2549
2580
  {
2550
2581
  preferred_network: "login.microsoftonline.com",
@@ -2653,7 +2684,7 @@ function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
2653
2684
  return null;
2654
2685
  }
2655
2686
 
2656
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2687
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2657
2688
  /*
2658
2689
  * Copyright (c) Microsoft Corporation. All rights reserved.
2659
2690
  * Licensed under the MIT License.
@@ -2661,7 +2692,7 @@ function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
2661
2692
  const cacheQuotaExceededErrorCode = "cache_quota_exceeded";
2662
2693
  const cacheUnknownErrorCode = "cache_error_unknown";
2663
2694
 
2664
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2695
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2665
2696
 
2666
2697
  /*
2667
2698
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2688,7 +2719,7 @@ class CacheError extends Error {
2688
2719
  }
2689
2720
  }
2690
2721
 
2691
- /*! @azure/msal-common v15.4.0 2025-03-26 */
2722
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
2692
2723
 
2693
2724
  /*
2694
2725
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3873,7 +3904,7 @@ class DefaultStorageClass extends CacheManager {
3873
3904
  }
3874
3905
  }
3875
3906
 
3876
- /*! @azure/msal-common v15.4.0 2025-03-26 */
3907
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
3877
3908
 
3878
3909
  /*
3879
3910
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3972,7 +4003,7 @@ function isOidcProtocolMode(config) {
3972
4003
  return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
3973
4004
  }
3974
4005
 
3975
- /*! @azure/msal-common v15.4.0 2025-03-26 */
4006
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
3976
4007
  /*
3977
4008
  * Copyright (c) Microsoft Corporation. All rights reserved.
3978
4009
  * Licensed under the MIT License.
@@ -3982,7 +4013,7 @@ const CcsCredentialType = {
3982
4013
  UPN: "UPN",
3983
4014
  };
3984
4015
 
3985
- /*! @azure/msal-common v15.4.0 2025-03-26 */
4016
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
3986
4017
  /*
3987
4018
  * Copyright (c) Microsoft Corporation. All rights reserved.
3988
4019
  * Licensed under the MIT License.
@@ -4032,7 +4063,7 @@ const INSTANCE_AWARE = "instance_aware";
4032
4063
  const EAR_JWK = "ear_jwk";
4033
4064
  const EAR_JWE_CRYPTO = "ear_jwe_crypto";
4034
4065
 
4035
- /*! @azure/msal-common v15.4.0 2025-03-26 */
4066
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
4036
4067
 
4037
4068
  /*
4038
4069
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4400,7 +4431,7 @@ function addEARParameters(parameters, jwk) {
4400
4431
  parameters.set(EAR_JWE_CRYPTO, jweCryptoB64Encoded);
4401
4432
  }
4402
4433
 
4403
- /*! @azure/msal-common v15.4.0 2025-03-26 */
4434
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
4404
4435
  /*
4405
4436
  * Copyright (c) Microsoft Corporation. All rights reserved.
4406
4437
  * Licensed under the MIT License.
@@ -4412,7 +4443,7 @@ function isOpenIdConfigResponse(response) {
4412
4443
  response.hasOwnProperty("jwks_uri"));
4413
4444
  }
4414
4445
 
4415
- /*! @azure/msal-common v15.4.0 2025-03-26 */
4446
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
4416
4447
  /*
4417
4448
  * Copyright (c) Microsoft Corporation. All rights reserved.
4418
4449
  * Licensed under the MIT License.
@@ -4422,7 +4453,7 @@ function isCloudInstanceDiscoveryResponse(response) {
4422
4453
  response.hasOwnProperty("metadata"));
4423
4454
  }
4424
4455
 
4425
- /*! @azure/msal-common v15.4.0 2025-03-26 */
4456
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
4426
4457
  /*
4427
4458
  * Copyright (c) Microsoft Corporation. All rights reserved.
4428
4459
  * Licensed under the MIT License.
@@ -4432,7 +4463,7 @@ function isCloudInstanceDiscoveryErrorResponse(response) {
4432
4463
  response.hasOwnProperty("error_description"));
4433
4464
  }
4434
4465
 
4435
- /*! @azure/msal-common v15.4.0 2025-03-26 */
4466
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
4436
4467
  /*
4437
4468
  * Copyright (c) Microsoft Corporation. All rights reserved.
4438
4469
  * Licensed under the MIT License.
@@ -4924,6 +4955,7 @@ const PerformanceEventAbbreviations = new Map([
4924
4955
  * @enum {number}
4925
4956
  */
4926
4957
  const PerformanceEventStatus = {
4958
+ NotStarted: 0,
4927
4959
  InProgress: 1,
4928
4960
  Completed: 2,
4929
4961
  };
@@ -4944,7 +4976,7 @@ const IntFields = new Set([
4944
4976
  "encryptedCacheExpiredCount",
4945
4977
  ]);
4946
4978
 
4947
- /*! @azure/msal-common v15.4.0 2025-03-26 */
4979
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
4948
4980
  /*
4949
4981
  * Copyright (c) Microsoft Corporation. All rights reserved.
4950
4982
  * Licensed under the MIT License.
@@ -5040,7 +5072,7 @@ const invokeAsync = (callback, eventName, logger, telemetryClient, correlationId
5040
5072
  };
5041
5073
  };
5042
5074
 
5043
- /*! @azure/msal-common v15.4.0 2025-03-26 */
5075
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
5044
5076
 
5045
5077
  /*
5046
5078
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5149,7 +5181,7 @@ RegionDiscovery.IMDS_OPTIONS = {
5149
5181
  },
5150
5182
  };
5151
5183
 
5152
- /*! @azure/msal-common v15.4.0 2025-03-26 */
5184
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
5153
5185
 
5154
5186
  /*
5155
5187
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5988,7 +6020,7 @@ function buildStaticAuthorityOptions(authOptions) {
5988
6020
  };
5989
6021
  }
5990
6022
 
5991
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6023
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
5992
6024
 
5993
6025
  /*
5994
6026
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6019,7 +6051,7 @@ async function createDiscoveredInstance(authorityUri, networkClient, cacheManage
6019
6051
  }
6020
6052
  }
6021
6053
 
6022
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6054
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6023
6055
 
6024
6056
  /*
6025
6057
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6038,7 +6070,7 @@ class ServerError extends AuthError {
6038
6070
  }
6039
6071
  }
6040
6072
 
6041
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6073
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6042
6074
  /*
6043
6075
  * Copyright (c) Microsoft Corporation. All rights reserved.
6044
6076
  * Licensed under the MIT License.
@@ -6059,7 +6091,7 @@ function getRequestThumbprint(clientId, request, homeAccountId) {
6059
6091
  };
6060
6092
  }
6061
6093
 
6062
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6094
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6063
6095
 
6064
6096
  /*
6065
6097
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6146,7 +6178,7 @@ class ThrottlingUtils {
6146
6178
  }
6147
6179
  }
6148
6180
 
6149
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6181
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6150
6182
 
6151
6183
  /*
6152
6184
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6176,7 +6208,7 @@ function createNetworkError(error, httpStatus, responseHeaders) {
6176
6208
  return new NetworkError(error, httpStatus, responseHeaders);
6177
6209
  }
6178
6210
 
6179
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6211
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6180
6212
 
6181
6213
  /*
6182
6214
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6324,7 +6356,7 @@ class BaseClient {
6324
6356
  }
6325
6357
  }
6326
6358
 
6327
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6359
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6328
6360
  /*
6329
6361
  * Copyright (c) Microsoft Corporation. All rights reserved.
6330
6362
  * Licensed under the MIT License.
@@ -6350,7 +6382,7 @@ var InteractionRequiredAuthErrorCodes = /*#__PURE__*/Object.freeze({
6350
6382
  refreshTokenExpired: refreshTokenExpired
6351
6383
  });
6352
6384
 
6353
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6385
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6354
6386
 
6355
6387
  /*
6356
6388
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6438,7 +6470,7 @@ function createInteractionRequiredAuthError(errorCode) {
6438
6470
  return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);
6439
6471
  }
6440
6472
 
6441
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6473
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6442
6474
 
6443
6475
  /*
6444
6476
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6510,14 +6542,16 @@ class ProtocolUtils {
6510
6542
  }
6511
6543
  }
6512
6544
 
6513
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6545
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6514
6546
 
6515
6547
  /*
6516
6548
  * Copyright (c) Microsoft Corporation. All rights reserved.
6517
6549
  * Licensed under the MIT License.
6518
6550
  */
6519
6551
  const KeyLocation = {
6520
- SW: "sw"};
6552
+ SW: "sw",
6553
+ UHW: "uhw",
6554
+ };
6521
6555
  /** @internal */
6522
6556
  class PopTokenGenerator {
6523
6557
  constructor(cryptoUtils, performanceClient) {
@@ -6592,7 +6626,7 @@ class PopTokenGenerator {
6592
6626
  }
6593
6627
  }
6594
6628
 
6595
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6629
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6596
6630
  /*
6597
6631
  * Copyright (c) Microsoft Corporation. All rights reserved.
6598
6632
  * Licensed under the MIT License.
@@ -6619,7 +6653,7 @@ class PopTokenGenerator {
6619
6653
  }
6620
6654
  }
6621
6655
 
6622
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6656
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6623
6657
 
6624
6658
  /*
6625
6659
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6950,7 +6984,7 @@ function buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decod
6950
6984
  return baseAccount;
6951
6985
  }
6952
6986
 
6953
- /*! @azure/msal-common v15.4.0 2025-03-26 */
6987
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
6954
6988
 
6955
6989
  /*
6956
6990
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7017,7 +7051,7 @@ class RequestValidator {
7017
7051
  }
7018
7052
  }
7019
7053
 
7020
- /*! @azure/msal-common v15.4.0 2025-03-26 */
7054
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
7021
7055
  /*
7022
7056
  * Copyright (c) Microsoft Corporation. All rights reserved.
7023
7057
  * Licensed under the MIT License.
@@ -7035,7 +7069,7 @@ async function getClientAssertion(clientAssertion, clientId, tokenEndpoint) {
7035
7069
  }
7036
7070
  }
7037
7071
 
7038
- /*! @azure/msal-common v15.4.0 2025-03-26 */
7072
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
7039
7073
 
7040
7074
  /*
7041
7075
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7268,7 +7302,7 @@ class AuthorizationCodeClient extends BaseClient {
7268
7302
  }
7269
7303
  }
7270
7304
 
7271
- /*! @azure/msal-common v15.4.0 2025-03-26 */
7305
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
7272
7306
 
7273
7307
  /*
7274
7308
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7477,7 +7511,7 @@ class RefreshTokenClient extends BaseClient {
7477
7511
  }
7478
7512
  }
7479
7513
 
7480
- /*! @azure/msal-common v15.4.0 2025-03-26 */
7514
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
7481
7515
 
7482
7516
  /*
7483
7517
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7575,7 +7609,7 @@ class SilentFlowClient extends BaseClient {
7575
7609
  }
7576
7610
  }
7577
7611
 
7578
- /*! @azure/msal-common v15.4.0 2025-03-26 */
7612
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
7579
7613
 
7580
7614
  /*
7581
7615
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7590,7 +7624,7 @@ const StubbedNetworkModule = {
7590
7624
  },
7591
7625
  };
7592
7626
 
7593
- /*! @azure/msal-common v15.4.0 2025-03-26 */
7627
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
7594
7628
 
7595
7629
  /*
7596
7630
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7814,7 +7848,7 @@ function extractLoginHint(account) {
7814
7848
  return account.idTokenClaims?.login_hint || null;
7815
7849
  }
7816
7850
 
7817
- /*! @azure/msal-common v15.4.0 2025-03-26 */
7851
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
7818
7852
 
7819
7853
  /*
7820
7854
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7872,7 +7906,7 @@ class AuthenticationHeaderParser {
7872
7906
  }
7873
7907
  }
7874
7908
 
7875
- /*! @azure/msal-common v15.4.0 2025-03-26 */
7909
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
7876
7910
 
7877
7911
  /*
7878
7912
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8135,7 +8169,7 @@ class ServerTelemetryManager {
8135
8169
  }
8136
8170
  }
8137
8171
 
8138
- /*! @azure/msal-common v15.4.0 2025-03-26 */
8172
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
8139
8173
  /*
8140
8174
  * Copyright (c) Microsoft Corporation. All rights reserved.
8141
8175
  * Licensed under the MIT License.
@@ -8143,7 +8177,7 @@ class ServerTelemetryManager {
8143
8177
  const missingKidError = "missing_kid_error";
8144
8178
  const missingAlgError = "missing_alg_error";
8145
8179
 
8146
- /*! @azure/msal-common v15.4.0 2025-03-26 */
8180
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
8147
8181
 
8148
8182
  /*
8149
8183
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8168,7 +8202,7 @@ function createJoseHeaderError(code) {
8168
8202
  return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
8169
8203
  }
8170
8204
 
8171
- /*! @azure/msal-common v15.4.0 2025-03-26 */
8205
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
8172
8206
 
8173
8207
  /*
8174
8208
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8208,7 +8242,7 @@ class JoseHeader {
8208
8242
  }
8209
8243
  }
8210
8244
 
8211
- /*! @azure/msal-common v15.4.0 2025-03-26 */
8245
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
8212
8246
 
8213
8247
  /*
8214
8248
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8287,7 +8321,7 @@ class StubPerformanceClient {
8287
8321
  }
8288
8322
  }
8289
8323
 
8290
- /*! @azure/msal-common v15.4.0 2025-03-26 */
8324
+ /*! @azure/msal-common v15.5.0 2025-04-08 */
8291
8325
 
8292
8326
  /*
8293
8327
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -9277,6 +9311,10 @@ function createBrowserAuthError(errorCode, subError) {
9277
9311
  * Constants
9278
9312
  */
9279
9313
  const BrowserConstants = {
9314
+ /**
9315
+ * Interaction in progress cache value
9316
+ */
9317
+ INTERACTION_IN_PROGRESS_VALUE: "interaction_in_progress",
9280
9318
  /**
9281
9319
  * Invalid grant error code
9282
9320
  */
@@ -9325,6 +9363,10 @@ const HTTP_REQUEST_TYPE = {
9325
9363
  GET: "GET",
9326
9364
  POST: "POST",
9327
9365
  };
9366
+ const INTERACTION_TYPE = {
9367
+ SIGNIN: "signin",
9368
+ SIGNOUT: "signout",
9369
+ };
9328
9370
  /**
9329
9371
  * Temporary cache keys for MSAL, deleted after any request.
9330
9372
  */
@@ -10376,7 +10418,7 @@ function buildConfiguration({ auth: userInputAuth, cache: userInputCache, system
10376
10418
 
10377
10419
  /* eslint-disable header/header */
10378
10420
  const name = "@azure/msal-browser";
10379
- const version = "4.9.1";
10421
+ const version = "4.10.0";
10380
10422
 
10381
10423
  /*
10382
10424
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -12462,7 +12504,7 @@ class BrowserCacheManager extends CacheManager {
12462
12504
  return parsedRequest;
12463
12505
  }
12464
12506
  isInteractionInProgress(matchClientId) {
12465
- const clientId = this.getInteractionInProgress();
12507
+ const clientId = this.getInteractionInProgress()?.clientId;
12466
12508
  if (matchClientId) {
12467
12509
  return clientId === this.clientId;
12468
12510
  }
@@ -12472,9 +12514,10 @@ class BrowserCacheManager extends CacheManager {
12472
12514
  }
12473
12515
  getInteractionInProgress() {
12474
12516
  const key = `${Constants.CACHE_PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;
12475
- return this.getTemporaryCache(key, false);
12517
+ const value = this.getTemporaryCache(key, false);
12518
+ return value ? JSON.parse(value) : null;
12476
12519
  }
12477
- setInteractionInProgress(inProgress) {
12520
+ setInteractionInProgress(inProgress, type = INTERACTION_TYPE.SIGNIN) {
12478
12521
  // Ensure we don't overwrite interaction in progress for a different clientId
12479
12522
  const key = `${Constants.CACHE_PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;
12480
12523
  if (inProgress) {
@@ -12483,11 +12526,11 @@ class BrowserCacheManager extends CacheManager {
12483
12526
  }
12484
12527
  else {
12485
12528
  // No interaction is in progress
12486
- this.setTemporaryCache(key, this.clientId, false);
12529
+ this.setTemporaryCache(key, JSON.stringify({ clientId: this.clientId, type }), false);
12487
12530
  }
12488
12531
  }
12489
12532
  else if (!inProgress &&
12490
- this.getInteractionInProgress() === this.clientId) {
12533
+ this.getInteractionInProgress()?.clientId === this.clientId) {
12491
12534
  this.removeTemporaryItem(key);
12492
12535
  }
12493
12536
  }
@@ -15443,7 +15486,7 @@ class RedirectClient extends StandardInteractionClient {
15443
15486
  this.logger.verbose("Logout onRedirectNavigate did not return false, navigating");
15444
15487
  // Ensure interaction is in progress
15445
15488
  if (!this.browserStorage.getInteractionInProgress()) {
15446
- this.browserStorage.setInteractionInProgress(true);
15489
+ this.browserStorage.setInteractionInProgress(true, INTERACTION_TYPE.SIGNOUT);
15447
15490
  }
15448
15491
  await this.navigationClient.navigateExternal(logoutUri, navigationOptions);
15449
15492
  return;
@@ -15457,7 +15500,7 @@ class RedirectClient extends StandardInteractionClient {
15457
15500
  else {
15458
15501
  // Ensure interaction is in progress
15459
15502
  if (!this.browserStorage.getInteractionInProgress()) {
15460
- this.browserStorage.setInteractionInProgress(true);
15503
+ this.browserStorage.setInteractionInProgress(true, INTERACTION_TYPE.SIGNOUT);
15461
15504
  }
15462
15505
  await this.navigationClient.navigateExternal(logoutUri, navigationOptions);
15463
15506
  return;
@@ -16295,29 +16338,41 @@ class StandardController {
16295
16338
  this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null.");
16296
16339
  return null;
16297
16340
  }
16341
+ const interactionType = this.browserStorage.getInteractionInProgress()?.type;
16342
+ if (interactionType === INTERACTION_TYPE.SIGNOUT) {
16343
+ this.logger.verbose("handleRedirectPromise removing interaction_in_progress flag and returning null after sign-out");
16344
+ this.browserStorage.setInteractionInProgress(false);
16345
+ return Promise.resolve(null);
16346
+ }
16298
16347
  const loggedInAccounts = this.getAllAccounts();
16299
16348
  const platformBrokerRequest = this.browserStorage.getCachedNativeRequest();
16300
16349
  const useNative = platformBrokerRequest &&
16301
16350
  NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeExtensionProvider) &&
16302
16351
  this.nativeExtensionProvider &&
16303
16352
  !hash;
16304
- let rootMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenRedirect, platformBrokerRequest?.correlationId || "");
16353
+ let rootMeasurement;
16305
16354
  this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_START, exports.InteractionType.Redirect);
16306
16355
  let redirectResponse;
16307
- if (useNative && this.nativeExtensionProvider) {
16308
- this.logger.trace("handleRedirectPromise - acquiring token from native platform");
16309
- const nativeClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.handleRedirectPromise, this.performanceClient, this.nativeExtensionProvider, platformBrokerRequest.accountId, this.nativeInternalStorage, platformBrokerRequest.correlationId);
16310
- redirectResponse = invokeAsync(nativeClient.handleRedirectPromise.bind(nativeClient), PerformanceEvents.HandleNativeRedirectPromiseMeasurement, this.logger, this.performanceClient, rootMeasurement.event.correlationId)(this.performanceClient, rootMeasurement.event.correlationId);
16356
+ try {
16357
+ if (useNative && this.nativeExtensionProvider) {
16358
+ rootMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenRedirect, platformBrokerRequest?.correlationId || "");
16359
+ this.logger.trace("handleRedirectPromise - acquiring token from native platform");
16360
+ const nativeClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.handleRedirectPromise, this.performanceClient, this.nativeExtensionProvider, platformBrokerRequest.accountId, this.nativeInternalStorage, platformBrokerRequest.correlationId);
16361
+ redirectResponse = invokeAsync(nativeClient.handleRedirectPromise.bind(nativeClient), PerformanceEvents.HandleNativeRedirectPromiseMeasurement, this.logger, this.performanceClient, rootMeasurement.event.correlationId)(this.performanceClient, rootMeasurement.event.correlationId);
16362
+ }
16363
+ else {
16364
+ const [standardRequest, codeVerifier] = this.browserStorage.getCachedRequest();
16365
+ const correlationId = standardRequest.correlationId;
16366
+ // Reset rootMeasurement now that we have correlationId
16367
+ rootMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenRedirect, correlationId);
16368
+ this.logger.trace("handleRedirectPromise - acquiring token from web flow");
16369
+ const redirectClient = this.createRedirectClient(correlationId);
16370
+ redirectResponse = invokeAsync(redirectClient.handleRedirectPromise.bind(redirectClient), PerformanceEvents.HandleRedirectPromiseMeasurement, this.logger, this.performanceClient, rootMeasurement.event.correlationId)(hash, standardRequest, codeVerifier, rootMeasurement);
16371
+ }
16311
16372
  }
16312
- else {
16313
- const [standardRequest, codeVerifier] = this.browserStorage.getCachedRequest();
16314
- const correlationId = standardRequest.correlationId;
16315
- // Reset rootMeasurement now that we have correlationId
16316
- rootMeasurement.discard();
16317
- rootMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenRedirect, correlationId);
16318
- this.logger.trace("handleRedirectPromise - acquiring token from web flow");
16319
- const redirectClient = this.createRedirectClient(correlationId);
16320
- redirectResponse = invokeAsync(redirectClient.handleRedirectPromise.bind(redirectClient), PerformanceEvents.HandleRedirectPromiseMeasurement, this.logger, this.performanceClient, rootMeasurement.event.correlationId)(hash, standardRequest, codeVerifier, rootMeasurement);
16373
+ catch (e) {
16374
+ this.browserStorage.resetRequestCache();
16375
+ throw e;
16321
16376
  }
16322
16377
  return redirectResponse
16323
16378
  .then((result) => {
@@ -16423,7 +16478,7 @@ class StandardController {
16423
16478
  const isLoggedIn = this.getAllAccounts().length > 0;
16424
16479
  try {
16425
16480
  redirectPreflightCheck(this.initialized, this.config);
16426
- this.browserStorage.setInteractionInProgress(true);
16481
+ this.browserStorage.setInteractionInProgress(true, INTERACTION_TYPE.SIGNIN);
16427
16482
  if (isLoggedIn) {
16428
16483
  this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, exports.InteractionType.Redirect, request);
16429
16484
  }
@@ -16488,7 +16543,7 @@ class StandardController {
16488
16543
  try {
16489
16544
  this.logger.verbose("acquireTokenPopup called", correlationId);
16490
16545
  preflightCheck(this.initialized, atPopupMeasurement);
16491
- this.browserStorage.setInteractionInProgress(true);
16546
+ this.browserStorage.setInteractionInProgress(true, INTERACTION_TYPE.SIGNIN);
16492
16547
  }
16493
16548
  catch (e) {
16494
16549
  // Since this function is syncronous we need to reject
@@ -16863,7 +16918,7 @@ class StandardController {
16863
16918
  async logoutRedirect(logoutRequest) {
16864
16919
  const correlationId = this.getRequestCorrelationId(logoutRequest);
16865
16920
  redirectPreflightCheck(this.initialized, this.config);
16866
- this.browserStorage.setInteractionInProgress(true);
16921
+ this.browserStorage.setInteractionInProgress(true, INTERACTION_TYPE.SIGNOUT);
16867
16922
  const redirectClient = this.createRedirectClient(correlationId);
16868
16923
  return redirectClient.logout(logoutRequest);
16869
16924
  }
@@ -16875,7 +16930,7 @@ class StandardController {
16875
16930
  try {
16876
16931
  const correlationId = this.getRequestCorrelationId(logoutRequest);
16877
16932
  preflightCheck$1(this.initialized);
16878
- this.browserStorage.setInteractionInProgress(true);
16933
+ this.browserStorage.setInteractionInProgress(true, INTERACTION_TYPE.SIGNOUT);
16879
16934
  const popupClient = this.createPopupClient(correlationId);
16880
16935
  return popupClient.logout(logoutRequest).finally(() => {
16881
16936
  this.browserStorage.setInteractionInProgress(false);
@@ -17295,7 +17350,9 @@ class StandardController {
17295
17350
  async acquireTokenSilentDeduped(request, account, correlationId) {
17296
17351
  const thumbprint = getRequestThumbprint(this.config.auth.clientId, {
17297
17352
  ...request,
17298
- authority: request.authority || this.config.auth.authority}, account.homeAccountId);
17353
+ authority: request.authority || this.config.auth.authority,
17354
+ correlationId: correlationId,
17355
+ }, account.homeAccountId);
17299
17356
  const silentRequestKey = JSON.stringify(thumbprint);
17300
17357
  const inProgressRequest = this.activeSilentTokenRequests.get(silentRequestKey);
17301
17358
  if (typeof inProgressRequest === "undefined") {
@@ -17922,7 +17979,7 @@ class NestedAppAuthController {
17922
17979
  });
17923
17980
  return result;
17924
17981
  }
17925
- this.logger.error("Cached tokens are not found for the account, proceeding with silent token request.");
17982
+ this.logger.warning("Cached tokens are not found for the account, proceeding with silent token request.");
17926
17983
  this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, exports.InteractionType.Silent, null);
17927
17984
  atsMeasurement?.end({
17928
17985
  success: false,