@azure/msal-browser 4.0.1 → 4.0.2

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 (99) hide show
  1. package/dist/app/IPublicClientApplication.mjs +1 -1
  2. package/dist/app/PublicClientApplication.d.ts.map +1 -1
  3. package/dist/app/PublicClientApplication.mjs +4 -2
  4. package/dist/app/PublicClientApplication.mjs.map +1 -1
  5. package/dist/app/PublicClientNext.mjs +1 -1
  6. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +1 -1
  7. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  8. package/dist/cache/AccountManager.mjs +1 -1
  9. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  10. package/dist/cache/BrowserCacheManager.d.ts +1 -6
  11. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  12. package/dist/cache/BrowserCacheManager.mjs +25 -26
  13. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  14. package/dist/cache/CacheHelpers.mjs +1 -1
  15. package/dist/cache/CookieStorage.mjs +1 -1
  16. package/dist/cache/DatabaseStorage.mjs +1 -1
  17. package/dist/cache/LocalStorage.mjs +1 -1
  18. package/dist/cache/MemoryStorage.mjs +1 -1
  19. package/dist/cache/SessionStorage.mjs +1 -1
  20. package/dist/cache/TokenCache.mjs +1 -1
  21. package/dist/config/Configuration.mjs +1 -1
  22. package/dist/controllers/ControllerFactory.mjs +1 -1
  23. package/dist/controllers/NestedAppAuthController.d.ts +2 -0
  24. package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
  25. package/dist/controllers/NestedAppAuthController.mjs +26 -12
  26. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  27. package/dist/controllers/StandardController.mjs +1 -1
  28. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  29. package/dist/crypto/BrowserCrypto.mjs +1 -1
  30. package/dist/crypto/CryptoOps.mjs +1 -1
  31. package/dist/crypto/PkceGenerator.mjs +1 -1
  32. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  33. package/dist/encode/Base64Decode.mjs +1 -1
  34. package/dist/encode/Base64Encode.mjs +1 -1
  35. package/dist/error/BrowserAuthError.mjs +1 -1
  36. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  37. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  38. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  39. package/dist/error/NativeAuthError.mjs +1 -1
  40. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  41. package/dist/error/NestedAppAuthError.mjs +1 -1
  42. package/dist/event/EventHandler.mjs +1 -1
  43. package/dist/event/EventMessage.mjs +1 -1
  44. package/dist/event/EventType.mjs +1 -1
  45. package/dist/index.mjs +1 -1
  46. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  47. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  48. package/dist/interaction_client/NativeInteractionClient.d.ts +1 -2
  49. package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  50. package/dist/interaction_client/NativeInteractionClient.mjs +8 -6
  51. package/dist/interaction_client/NativeInteractionClient.mjs.map +1 -1
  52. package/dist/interaction_client/PopupClient.mjs +1 -1
  53. package/dist/interaction_client/RedirectClient.mjs +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/RedirectHandler.mjs +1 -1
  61. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  62. package/dist/naa/BridgeError.mjs +1 -1
  63. package/dist/naa/BridgeProxy.mjs +1 -1
  64. package/dist/naa/BridgeStatusCode.mjs +1 -1
  65. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  66. package/dist/navigation/NavigationClient.mjs +1 -1
  67. package/dist/network/FetchClient.mjs +1 -1
  68. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  69. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  70. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  71. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  72. package/dist/packageMetadata.d.ts +1 -1
  73. package/dist/packageMetadata.mjs +2 -2
  74. package/dist/request/RequestHelpers.mjs +1 -1
  75. package/dist/response/ResponseHandler.mjs +1 -1
  76. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  77. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  78. package/dist/utils/BrowserConstants.mjs +1 -1
  79. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  80. package/dist/utils/BrowserUtils.mjs +1 -1
  81. package/lib/msal-browser.cjs +127 -119
  82. package/lib/msal-browser.cjs.map +1 -1
  83. package/lib/msal-browser.js +127 -119
  84. package/lib/msal-browser.js.map +1 -1
  85. package/lib/msal-browser.min.js +59 -59
  86. package/lib/types/app/PublicClientApplication.d.ts.map +1 -1
  87. package/lib/types/cache/BrowserCacheManager.d.ts +1 -6
  88. package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
  89. package/lib/types/controllers/NestedAppAuthController.d.ts +2 -0
  90. package/lib/types/controllers/NestedAppAuthController.d.ts.map +1 -1
  91. package/lib/types/interaction_client/NativeInteractionClient.d.ts +1 -2
  92. package/lib/types/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  93. package/lib/types/packageMetadata.d.ts +1 -1
  94. package/package.json +2 -2
  95. package/src/app/PublicClientApplication.ts +6 -1
  96. package/src/cache/BrowserCacheManager.ts +37 -32
  97. package/src/controllers/NestedAppAuthController.ts +36 -16
  98. package/src/interaction_client/NativeInteractionClient.ts +11 -12
  99. package/src/packageMetadata.ts +1 -1
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-browser v4.0.1 2025-01-15 */
1
+ /*! @azure/msal-browser v4.0.2 2025-01-22 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
5
- /*! @azure/msal-common v15.0.1 2025-01-15 */
5
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6
6
  /*
7
7
  * Copyright (c) Microsoft Corporation. All rights reserved.
8
8
  * Licensed under the MIT License.
@@ -306,7 +306,7 @@ const JsonWebTokenTypes = {
306
306
  // Token renewal offset default in seconds
307
307
  const DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;
308
308
 
309
- /*! @azure/msal-common v15.0.1 2025-01-15 */
309
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
310
310
  /*
311
311
  * Copyright (c) Microsoft Corporation. All rights reserved.
312
312
  * Licensed under the MIT License.
@@ -323,7 +323,7 @@ var AuthErrorCodes = /*#__PURE__*/Object.freeze({
323
323
  unexpectedError: unexpectedError
324
324
  });
325
325
 
326
- /*! @azure/msal-common v15.0.1 2025-01-15 */
326
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
327
327
 
328
328
  /*
329
329
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -372,7 +372,7 @@ function createAuthError(code, additionalMessage) {
372
372
  : AuthErrorMessages[code]);
373
373
  }
374
374
 
375
- /*! @azure/msal-common v15.0.1 2025-01-15 */
375
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
376
376
  /*
377
377
  * Copyright (c) Microsoft Corporation. All rights reserved.
378
378
  * Licensed under the MIT License.
@@ -470,7 +470,7 @@ var ClientAuthErrorCodes = /*#__PURE__*/Object.freeze({
470
470
  userTimeoutReached: userTimeoutReached
471
471
  });
472
472
 
473
- /*! @azure/msal-common v15.0.1 2025-01-15 */
473
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
474
474
 
475
475
  /*
476
476
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -722,7 +722,7 @@ function createClientAuthError(errorCode, additionalMessage) {
722
722
  return new ClientAuthError(errorCode, additionalMessage);
723
723
  }
724
724
 
725
- /*! @azure/msal-common v15.0.1 2025-01-15 */
725
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
726
726
 
727
727
  /*
728
728
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -761,7 +761,7 @@ const DEFAULT_CRYPTO_IMPLEMENTATION = {
761
761
  },
762
762
  };
763
763
 
764
- /*! @azure/msal-common v15.0.1 2025-01-15 */
764
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
765
765
 
766
766
  /*
767
767
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -952,12 +952,12 @@ class Logger {
952
952
  }
953
953
  }
954
954
 
955
- /*! @azure/msal-common v15.0.1 2025-01-15 */
955
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
956
956
  /* eslint-disable header/header */
957
957
  const name$1 = "@azure/msal-common";
958
- const version$1 = "15.0.1";
958
+ const version$1 = "15.0.2";
959
959
 
960
- /*! @azure/msal-common v15.0.1 2025-01-15 */
960
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
961
961
  /*
962
962
  * Copyright (c) Microsoft Corporation. All rights reserved.
963
963
  * Licensed under the MIT License.
@@ -977,7 +977,7 @@ const AzureCloudInstance = {
977
977
  AzureUsGovernment: "https://login.microsoftonline.us",
978
978
  };
979
979
 
980
- /*! @azure/msal-common v15.0.1 2025-01-15 */
980
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
981
981
 
982
982
  /*
983
983
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1038,7 +1038,7 @@ function checkMaxAge(authTime, maxAge) {
1038
1038
  }
1039
1039
  }
1040
1040
 
1041
- /*! @azure/msal-common v15.0.1 2025-01-15 */
1041
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
1042
1042
  /*
1043
1043
  * Copyright (c) Microsoft Corporation. All rights reserved.
1044
1044
  * Licensed under the MIT License.
@@ -1075,7 +1075,7 @@ function wasClockTurnedBack(cachedAt) {
1075
1075
  return cachedAtSec > nowSeconds();
1076
1076
  }
1077
1077
 
1078
- /*! @azure/msal-common v15.0.1 2025-01-15 */
1078
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
1079
1079
 
1080
1080
  /*
1081
1081
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1402,7 +1402,7 @@ function isAuthorityMetadataExpired(metadata) {
1402
1402
  return metadata.expiresAt <= nowSeconds();
1403
1403
  }
1404
1404
 
1405
- /*! @azure/msal-common v15.0.1 2025-01-15 */
1405
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
1406
1406
  /*
1407
1407
  * Copyright (c) Microsoft Corporation. All rights reserved.
1408
1408
  * Licensed under the MIT License.
@@ -1456,7 +1456,7 @@ var ClientConfigurationErrorCodes = /*#__PURE__*/Object.freeze({
1456
1456
  urlParseError: urlParseError
1457
1457
  });
1458
1458
 
1459
- /*! @azure/msal-common v15.0.1 2025-01-15 */
1459
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
1460
1460
 
1461
1461
  /*
1462
1462
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1594,7 +1594,7 @@ function createClientConfigurationError(errorCode) {
1594
1594
  return new ClientConfigurationError(errorCode);
1595
1595
  }
1596
1596
 
1597
- /*! @azure/msal-common v15.0.1 2025-01-15 */
1597
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
1598
1598
  /*
1599
1599
  * Copyright (c) Microsoft Corporation. All rights reserved.
1600
1600
  * Licensed under the MIT License.
@@ -1691,7 +1691,7 @@ class StringUtils {
1691
1691
  }
1692
1692
  }
1693
1693
 
1694
- /*! @azure/msal-common v15.0.1 2025-01-15 */
1694
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
1695
1695
 
1696
1696
  /*
1697
1697
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1711,8 +1711,10 @@ class ScopeSet {
1711
1711
  const filteredInput = scopeArr
1712
1712
  ? StringUtils.removeEmptyStringsFromArray(scopeArr)
1713
1713
  : [];
1714
- // Validate and filter scopes (validate function throws if validation fails)
1715
- this.validateInputScopes(filteredInput);
1714
+ // Check if scopes array has at least one member
1715
+ if (!filteredInput || !filteredInput.length) {
1716
+ throw createClientConfigurationError(emptyInputScopesError);
1717
+ }
1716
1718
  this.scopes = new Set(); // Iterator in constructor not supported by IE11
1717
1719
  filteredInput.forEach((scope) => this.scopes.add(scope));
1718
1720
  }
@@ -1742,17 +1744,6 @@ class ScopeSet {
1742
1744
  }
1743
1745
  return scopeSet;
1744
1746
  }
1745
- /**
1746
- * Used to validate the scopes input parameter requested by the developer.
1747
- * @param {Array<string>} inputScopes - Developer requested permissions. Not all scopes are guaranteed to be included in the access token returned.
1748
- * @param {boolean} scopesRequired - Boolean indicating whether the scopes array is required or not
1749
- */
1750
- validateInputScopes(inputScopes) {
1751
- // Check if scopes are required but not given or is an empty array
1752
- if (!inputScopes || inputScopes.length < 1) {
1753
- throw createClientConfigurationError(emptyInputScopesError);
1754
- }
1755
- }
1756
1747
  /**
1757
1748
  * Check if a given scope is present in this set of scopes.
1758
1749
  * @param scope
@@ -1891,7 +1882,7 @@ class ScopeSet {
1891
1882
  }
1892
1883
  }
1893
1884
 
1894
- /*! @azure/msal-common v15.0.1 2025-01-15 */
1885
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
1895
1886
 
1896
1887
  /*
1897
1888
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1931,7 +1922,7 @@ function buildClientInfoFromHomeAccountId(homeAccountId) {
1931
1922
  };
1932
1923
  }
1933
1924
 
1934
- /*! @azure/msal-common v15.0.1 2025-01-15 */
1925
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
1935
1926
  /*
1936
1927
  * Copyright (c) Microsoft Corporation. All rights reserved.
1937
1928
  * Licensed under the MIT License.
@@ -2010,7 +2001,7 @@ function updateAccountTenantProfileData(baseAccountInfo, tenantProfile, idTokenC
2010
2001
  return updatedAccountInfo;
2011
2002
  }
2012
2003
 
2013
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2004
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2014
2005
  /*
2015
2006
  * Copyright (c) Microsoft Corporation. All rights reserved.
2016
2007
  * Licensed under the MIT License.
@@ -2025,7 +2016,7 @@ const AuthorityType = {
2025
2016
  Ciam: 3,
2026
2017
  };
2027
2018
 
2028
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2019
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2029
2020
  /*
2030
2021
  * Copyright (c) Microsoft Corporation. All rights reserved.
2031
2022
  * Licensed under the MIT License.
@@ -2047,7 +2038,7 @@ function getTenantIdFromIdTokenClaims(idTokenClaims) {
2047
2038
  return null;
2048
2039
  }
2049
2040
 
2050
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2041
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2051
2042
  /*
2052
2043
  * Copyright (c) Microsoft Corporation. All rights reserved.
2053
2044
  * Licensed under the MIT License.
@@ -2060,7 +2051,7 @@ const ProtocolMode = {
2060
2051
  OIDC: "OIDC",
2061
2052
  };
2062
2053
 
2063
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2054
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2064
2055
 
2065
2056
  /*
2066
2057
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2303,7 +2294,7 @@ class AccountEntity {
2303
2294
  }
2304
2295
  }
2305
2296
 
2306
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2297
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2307
2298
 
2308
2299
  /*
2309
2300
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2350,7 +2341,7 @@ function getDeserializedResponse(responseString) {
2350
2341
  return null;
2351
2342
  }
2352
2343
 
2353
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2344
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2354
2345
 
2355
2346
  /*
2356
2347
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2514,7 +2505,7 @@ class UrlString {
2514
2505
  }
2515
2506
  }
2516
2507
 
2517
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2508
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2518
2509
 
2519
2510
  /*
2520
2511
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2654,7 +2645,7 @@ function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
2654
2645
  return null;
2655
2646
  }
2656
2647
 
2657
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2648
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2658
2649
  /*
2659
2650
  * Copyright (c) Microsoft Corporation. All rights reserved.
2660
2651
  * Licensed under the MIT License.
@@ -2662,7 +2653,7 @@ function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
2662
2653
  const cacheQuotaExceededErrorCode = "cache_quota_exceeded";
2663
2654
  const cacheUnknownErrorCode = "cache_error_unknown";
2664
2655
 
2665
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2656
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2666
2657
 
2667
2658
  /*
2668
2659
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2689,7 +2680,7 @@ class CacheError extends Error {
2689
2680
  }
2690
2681
  }
2691
2682
 
2692
- /*! @azure/msal-common v15.0.1 2025-01-15 */
2683
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
2693
2684
 
2694
2685
  /*
2695
2686
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3874,7 +3865,7 @@ class DefaultStorageClass extends CacheManager {
3874
3865
  }
3875
3866
  }
3876
3867
 
3877
- /*! @azure/msal-common v15.0.1 2025-01-15 */
3868
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
3878
3869
 
3879
3870
  /*
3880
3871
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3973,7 +3964,7 @@ function isOidcProtocolMode(config) {
3973
3964
  return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
3974
3965
  }
3975
3966
 
3976
- /*! @azure/msal-common v15.0.1 2025-01-15 */
3967
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
3977
3968
  /*
3978
3969
  * Copyright (c) Microsoft Corporation. All rights reserved.
3979
3970
  * Licensed under the MIT License.
@@ -3983,7 +3974,7 @@ const CcsCredentialType = {
3983
3974
  UPN: "UPN",
3984
3975
  };
3985
3976
 
3986
- /*! @azure/msal-common v15.0.1 2025-01-15 */
3977
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
3987
3978
  /*
3988
3979
  * Copyright (c) Microsoft Corporation. All rights reserved.
3989
3980
  * Licensed under the MIT License.
@@ -4033,7 +4024,7 @@ const X_CLIENT_EXTRA_SKU = "x-client-xtra-sku";
4033
4024
  const BROKER_CLIENT_ID = "brk_client_id";
4034
4025
  const BROKER_REDIRECT_URI = "brk_redirect_uri";
4035
4026
 
4036
- /*! @azure/msal-common v15.0.1 2025-01-15 */
4027
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
4037
4028
 
4038
4029
  /*
4039
4030
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4100,7 +4091,7 @@ class RequestValidator {
4100
4091
  }
4101
4092
  }
4102
4093
 
4103
- /*! @azure/msal-common v15.0.1 2025-01-15 */
4094
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
4104
4095
 
4105
4096
  /*
4106
4097
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4508,7 +4499,7 @@ class RequestParameterBuilder {
4508
4499
  }
4509
4500
  }
4510
4501
 
4511
- /*! @azure/msal-common v15.0.1 2025-01-15 */
4502
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
4512
4503
  /*
4513
4504
  * Copyright (c) Microsoft Corporation. All rights reserved.
4514
4505
  * Licensed under the MIT License.
@@ -4520,7 +4511,7 @@ function isOpenIdConfigResponse(response) {
4520
4511
  response.hasOwnProperty("jwks_uri"));
4521
4512
  }
4522
4513
 
4523
- /*! @azure/msal-common v15.0.1 2025-01-15 */
4514
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
4524
4515
  /*
4525
4516
  * Copyright (c) Microsoft Corporation. All rights reserved.
4526
4517
  * Licensed under the MIT License.
@@ -4530,7 +4521,7 @@ function isCloudInstanceDiscoveryResponse(response) {
4530
4521
  response.hasOwnProperty("metadata"));
4531
4522
  }
4532
4523
 
4533
- /*! @azure/msal-common v15.0.1 2025-01-15 */
4524
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
4534
4525
  /*
4535
4526
  * Copyright (c) Microsoft Corporation. All rights reserved.
4536
4527
  * Licensed under the MIT License.
@@ -4540,7 +4531,7 @@ function isCloudInstanceDiscoveryErrorResponse(response) {
4540
4531
  response.hasOwnProperty("error_description"));
4541
4532
  }
4542
4533
 
4543
- /*! @azure/msal-common v15.0.1 2025-01-15 */
4534
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
4544
4535
  /*
4545
4536
  * Copyright (c) Microsoft Corporation. All rights reserved.
4546
4537
  * Licensed under the MIT License.
@@ -5047,7 +5038,7 @@ const IntFields = new Set([
5047
5038
  "encryptedCacheExpiredCount",
5048
5039
  ]);
5049
5040
 
5050
- /*! @azure/msal-common v15.0.1 2025-01-15 */
5041
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
5051
5042
  /*
5052
5043
  * Copyright (c) Microsoft Corporation. All rights reserved.
5053
5044
  * Licensed under the MIT License.
@@ -5143,7 +5134,7 @@ const invokeAsync = (callback, eventName, logger, telemetryClient, correlationId
5143
5134
  };
5144
5135
  };
5145
5136
 
5146
- /*! @azure/msal-common v15.0.1 2025-01-15 */
5137
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
5147
5138
 
5148
5139
  /*
5149
5140
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5252,7 +5243,7 @@ RegionDiscovery.IMDS_OPTIONS = {
5252
5243
  },
5253
5244
  };
5254
5245
 
5255
- /*! @azure/msal-common v15.0.1 2025-01-15 */
5246
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
5256
5247
 
5257
5248
  /*
5258
5249
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6091,7 +6082,7 @@ function buildStaticAuthorityOptions(authOptions) {
6091
6082
  };
6092
6083
  }
6093
6084
 
6094
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6085
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6095
6086
 
6096
6087
  /*
6097
6088
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6122,7 +6113,7 @@ async function createDiscoveredInstance(authorityUri, networkClient, cacheManage
6122
6113
  }
6123
6114
  }
6124
6115
 
6125
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6116
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6126
6117
 
6127
6118
  /*
6128
6119
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6141,7 +6132,7 @@ class ServerError extends AuthError {
6141
6132
  }
6142
6133
  }
6143
6134
 
6144
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6135
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6145
6136
 
6146
6137
  /*
6147
6138
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6239,7 +6230,7 @@ class ThrottlingUtils {
6239
6230
  }
6240
6231
  }
6241
6232
 
6242
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6233
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6243
6234
 
6244
6235
  /*
6245
6236
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6269,7 +6260,7 @@ function createNetworkError(error, httpStatus, responseHeaders) {
6269
6260
  return new NetworkError(error, httpStatus, responseHeaders);
6270
6261
  }
6271
6262
 
6272
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6263
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6273
6264
 
6274
6265
  /*
6275
6266
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6419,7 +6410,7 @@ class BaseClient {
6419
6410
  }
6420
6411
  }
6421
6412
 
6422
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6413
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6423
6414
  /*
6424
6415
  * Copyright (c) Microsoft Corporation. All rights reserved.
6425
6416
  * Licensed under the MIT License.
@@ -6445,7 +6436,7 @@ var InteractionRequiredAuthErrorCodes = /*#__PURE__*/Object.freeze({
6445
6436
  refreshTokenExpired: refreshTokenExpired
6446
6437
  });
6447
6438
 
6448
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6439
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6449
6440
 
6450
6441
  /*
6451
6442
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6533,7 +6524,7 @@ function createInteractionRequiredAuthError(errorCode) {
6533
6524
  return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);
6534
6525
  }
6535
6526
 
6536
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6527
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6537
6528
 
6538
6529
  /*
6539
6530
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6605,7 +6596,7 @@ class ProtocolUtils {
6605
6596
  }
6606
6597
  }
6607
6598
 
6608
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6599
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6609
6600
 
6610
6601
  /*
6611
6602
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6689,7 +6680,7 @@ class PopTokenGenerator {
6689
6680
  }
6690
6681
  }
6691
6682
 
6692
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6683
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6693
6684
  /*
6694
6685
  * Copyright (c) Microsoft Corporation. All rights reserved.
6695
6686
  * Licensed under the MIT License.
@@ -6716,7 +6707,7 @@ class PopTokenGenerator {
6716
6707
  }
6717
6708
  }
6718
6709
 
6719
- /*! @azure/msal-common v15.0.1 2025-01-15 */
6710
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
6720
6711
 
6721
6712
  /*
6722
6713
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7093,7 +7084,7 @@ function buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decod
7093
7084
  return baseAccount;
7094
7085
  }
7095
7086
 
7096
- /*! @azure/msal-common v15.0.1 2025-01-15 */
7087
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
7097
7088
  /*
7098
7089
  * Copyright (c) Microsoft Corporation. All rights reserved.
7099
7090
  * Licensed under the MIT License.
@@ -7111,7 +7102,7 @@ async function getClientAssertion(clientAssertion, clientId, tokenEndpoint) {
7111
7102
  }
7112
7103
  }
7113
7104
 
7114
- /*! @azure/msal-common v15.0.1 2025-01-15 */
7105
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
7115
7106
 
7116
7107
  /*
7117
7108
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7553,7 +7544,7 @@ class AuthorizationCodeClient extends BaseClient {
7553
7544
  }
7554
7545
  }
7555
7546
 
7556
- /*! @azure/msal-common v15.0.1 2025-01-15 */
7547
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
7557
7548
 
7558
7549
  /*
7559
7550
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7773,7 +7764,7 @@ class RefreshTokenClient extends BaseClient {
7773
7764
  }
7774
7765
  }
7775
7766
 
7776
- /*! @azure/msal-common v15.0.1 2025-01-15 */
7767
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
7777
7768
 
7778
7769
  /*
7779
7770
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7909,7 +7900,7 @@ class SilentFlowClient extends BaseClient {
7909
7900
  }
7910
7901
  }
7911
7902
 
7912
- /*! @azure/msal-common v15.0.1 2025-01-15 */
7903
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
7913
7904
 
7914
7905
  /*
7915
7906
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7924,7 +7915,7 @@ const StubbedNetworkModule = {
7924
7915
  },
7925
7916
  };
7926
7917
 
7927
- /*! @azure/msal-common v15.0.1 2025-01-15 */
7918
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
7928
7919
 
7929
7920
  /*
7930
7921
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7982,7 +7973,7 @@ class AuthenticationHeaderParser {
7982
7973
  }
7983
7974
  }
7984
7975
 
7985
- /*! @azure/msal-common v15.0.1 2025-01-15 */
7976
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
7986
7977
 
7987
7978
  /*
7988
7979
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8245,7 +8236,7 @@ class ServerTelemetryManager {
8245
8236
  }
8246
8237
  }
8247
8238
 
8248
- /*! @azure/msal-common v15.0.1 2025-01-15 */
8239
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
8249
8240
  /*
8250
8241
  * Copyright (c) Microsoft Corporation. All rights reserved.
8251
8242
  * Licensed under the MIT License.
@@ -8253,7 +8244,7 @@ class ServerTelemetryManager {
8253
8244
  const missingKidError = "missing_kid_error";
8254
8245
  const missingAlgError = "missing_alg_error";
8255
8246
 
8256
- /*! @azure/msal-common v15.0.1 2025-01-15 */
8247
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
8257
8248
 
8258
8249
  /*
8259
8250
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8278,7 +8269,7 @@ function createJoseHeaderError(code) {
8278
8269
  return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
8279
8270
  }
8280
8271
 
8281
- /*! @azure/msal-common v15.0.1 2025-01-15 */
8272
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
8282
8273
 
8283
8274
  /*
8284
8275
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8318,7 +8309,7 @@ class JoseHeader {
8318
8309
  }
8319
8310
  }
8320
8311
 
8321
- /*! @azure/msal-common v15.0.1 2025-01-15 */
8312
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
8322
8313
 
8323
8314
  /*
8324
8315
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8397,7 +8388,7 @@ class StubPerformanceClient {
8397
8388
  }
8398
8389
  }
8399
8390
 
8400
- /*! @azure/msal-common v15.0.1 2025-01-15 */
8391
+ /*! @azure/msal-common v15.0.2 2025-01-22 */
8401
8392
 
8402
8393
  /*
8403
8394
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10434,7 +10425,7 @@ function buildConfiguration({ auth: userInputAuth, cache: userInputCache, system
10434
10425
 
10435
10426
  /* eslint-disable header/header */
10436
10427
  const name = "@azure/msal-browser";
10437
- const version = "4.0.1";
10428
+ const version = "4.0.2";
10438
10429
 
10439
10430
  /*
10440
10431
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -11739,36 +11730,14 @@ class BrowserCacheManager extends CacheManager {
11739
11730
  this.cacheConfig = cacheConfig;
11740
11731
  this.logger = logger;
11741
11732
  this.internalStorage = new MemoryStorage();
11742
- this.browserStorage = this.setupBrowserStorage(this.cacheConfig.cacheLocation);
11743
- this.temporaryCacheStorage = this.setupBrowserStorage(this.cacheConfig.temporaryCacheLocation);
11733
+ this.browserStorage = getStorageImplementation(clientId, cacheConfig.cacheLocation, logger, performanceClient);
11734
+ this.temporaryCacheStorage = getStorageImplementation(clientId, cacheConfig.temporaryCacheLocation, logger, performanceClient);
11744
11735
  this.cookieStorage = new CookieStorage();
11745
11736
  this.performanceClient = performanceClient;
11746
11737
  }
11747
11738
  async initialize(correlationId) {
11748
11739
  await this.browserStorage.initialize(correlationId);
11749
11740
  }
11750
- /**
11751
- * Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured cacheLocation.
11752
- * @param cacheLocation
11753
- */
11754
- setupBrowserStorage(cacheLocation) {
11755
- try {
11756
- switch (cacheLocation) {
11757
- case BrowserCacheLocation.LocalStorage:
11758
- return new LocalStorage(this.clientId, this.logger, this.performanceClient);
11759
- case BrowserCacheLocation.SessionStorage:
11760
- return new SessionStorage();
11761
- case BrowserCacheLocation.MemoryStorage:
11762
- default:
11763
- break;
11764
- }
11765
- }
11766
- catch (e) {
11767
- this.logger.error(e);
11768
- }
11769
- this.cacheConfig.cacheLocation = BrowserCacheLocation.MemoryStorage;
11770
- return new MemoryStorage();
11771
- }
11772
11741
  /**
11773
11742
  * Parses passed value as JSON object, JSON.parse() will throw an error.
11774
11743
  * @param input
@@ -12661,6 +12630,27 @@ class BrowserCacheManager extends CacheManager {
12661
12630
  }
12662
12631
  }
12663
12632
  }
12633
+ /**
12634
+ * Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured cacheLocation.
12635
+ * @param cacheLocation
12636
+ */
12637
+ function getStorageImplementation(clientId, cacheLocation, logger, performanceClient) {
12638
+ try {
12639
+ switch (cacheLocation) {
12640
+ case BrowserCacheLocation.LocalStorage:
12641
+ return new LocalStorage(clientId, logger, performanceClient);
12642
+ case BrowserCacheLocation.SessionStorage:
12643
+ return new SessionStorage();
12644
+ case BrowserCacheLocation.MemoryStorage:
12645
+ default:
12646
+ break;
12647
+ }
12648
+ }
12649
+ catch (e) {
12650
+ logger.error(e);
12651
+ }
12652
+ return new MemoryStorage();
12653
+ }
12664
12654
  const DEFAULT_BROWSER_CACHE_MANAGER = (clientId, logger, performanceClient) => {
12665
12655
  const cacheOptions = {
12666
12656
  cacheLocation: BrowserCacheLocation.MemoryStorage,
@@ -13476,7 +13466,6 @@ class NativeInteractionClient extends BaseInteractionClient {
13476
13466
  this.nativeMessageHandler = provider;
13477
13467
  this.nativeStorageManager = nativeStorageImpl;
13478
13468
  this.silentCacheClient = new SilentCacheClient(config, this.nativeStorageManager, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);
13479
- this.serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
13480
13469
  const extensionName = this.nativeMessageHandler.getExtensionId() ===
13481
13470
  NativeConstants.PREFERRED_EXTENSION_ID
13482
13471
  ? "chrome"
@@ -13511,6 +13500,7 @@ class NativeInteractionClient extends BaseInteractionClient {
13511
13500
  // start the perf measurement
13512
13501
  const nativeATMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, request.correlationId);
13513
13502
  const reqTimestamp = nowSeconds();
13503
+ const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
13514
13504
  try {
13515
13505
  // initialize native request
13516
13506
  const nativeRequest = await this.initializeNativeRequest(request);
@@ -13543,7 +13533,7 @@ class NativeInteractionClient extends BaseInteractionClient {
13543
13533
  isNativeBroker: true,
13544
13534
  requestId: result.requestId,
13545
13535
  });
13546
- this.serverTelemetryManager.clearNativeBrokerErrorCode();
13536
+ serverTelemetryManager.clearNativeBrokerErrorCode();
13547
13537
  return result;
13548
13538
  })
13549
13539
  .catch((error) => {
@@ -13558,7 +13548,7 @@ class NativeInteractionClient extends BaseInteractionClient {
13558
13548
  }
13559
13549
  catch (e) {
13560
13550
  if (e instanceof NativeAuthError) {
13561
- this.serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode);
13551
+ serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode);
13562
13552
  }
13563
13553
  throw e;
13564
13554
  }
@@ -13635,7 +13625,8 @@ class NativeInteractionClient extends BaseInteractionClient {
13635
13625
  catch (e) {
13636
13626
  // Only throw fatal errors here to allow application to fallback to regular redirect. Otherwise proceed and the error will be thrown in handleRedirectPromise
13637
13627
  if (e instanceof NativeAuthError) {
13638
- this.serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode);
13628
+ const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
13629
+ serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode);
13639
13630
  if (isFatalNativeAuthError(e)) {
13640
13631
  throw e;
13641
13632
  }
@@ -13690,7 +13681,8 @@ class NativeInteractionClient extends BaseInteractionClient {
13690
13681
  const result = this.handleNativeResponse(response, request, reqTimestamp);
13691
13682
  this.browserStorage.setInteractionInProgress(false);
13692
13683
  const res = await result;
13693
- this.serverTelemetryManager.clearNativeBrokerErrorCode();
13684
+ const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
13685
+ serverTelemetryManager.clearNativeBrokerErrorCode();
13694
13686
  return res;
13695
13687
  }
13696
13688
  catch (e) {
@@ -17629,10 +17621,7 @@ class NestedAppAuthController {
17629
17621
  this.nestedAppAuthAdapter = new NestedAppAuthAdapter(this.config.auth.clientId, this.config.auth.clientCapabilities, this.browserCrypto, this.logger);
17630
17622
  // Set the active account if available
17631
17623
  const accountContext = this.bridgeProxy.getAccountContext();
17632
- if (accountContext) {
17633
- const cachedAccount = getAccount(accountContext, this.logger, this.browserStorage);
17634
- setActiveAccount(cachedAccount, this.browserStorage);
17635
- }
17624
+ this.currentAccountContext = accountContext ? accountContext : null;
17636
17625
  }
17637
17626
  /**
17638
17627
  * Factory function to create a new instance of NestedAppAuthController
@@ -17685,7 +17674,12 @@ class NestedAppAuthController {
17685
17674
  };
17686
17675
  // cache the tokens in the response
17687
17676
  await this.hydrateCache(result, request);
17688
- this.browserStorage.setActiveAccount(result.account);
17677
+ // cache the account context in memory after successful token fetch
17678
+ this.currentAccountContext = {
17679
+ homeAccountId: result.account.homeAccountId,
17680
+ environment: result.account.environment,
17681
+ tenantId: result.account.tenantId,
17682
+ };
17689
17683
  this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, exports.InteractionType.Popup, result);
17690
17684
  atPopupMeasurement.add({
17691
17685
  accessTokenSize: result.accessToken.length,
@@ -17735,7 +17729,12 @@ class NestedAppAuthController {
17735
17729
  const result = this.nestedAppAuthAdapter.fromNaaTokenResponse(naaRequest, response, reqTimestamp);
17736
17730
  // cache the tokens in the response
17737
17731
  await this.hydrateCache(result, request);
17738
- this.browserStorage.setActiveAccount(result.account);
17732
+ // cache the account context in memory after successful token fetch
17733
+ this.currentAccountContext = {
17734
+ homeAccountId: result.account.homeAccountId,
17735
+ environment: result.account.environment,
17736
+ tenantId: result.account.tenantId,
17737
+ };
17739
17738
  this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, exports.InteractionType.Silent, result);
17740
17739
  ssoSilentMeasurement?.add({
17741
17740
  accessTokenSize: result.accessToken.length,
@@ -17771,8 +17770,16 @@ class NestedAppAuthController {
17771
17770
  this.logger.verbose("Claims are present in the request, skipping cache lookup");
17772
17771
  return null;
17773
17772
  }
17773
+ // if the request has forceRefresh, we cannot look up in the cache
17774
+ if (request.forceRefresh) {
17775
+ this.logger.verbose("forceRefresh is set to true, skipping cache lookup");
17776
+ return null;
17777
+ }
17774
17778
  // respect cache lookup policy
17775
17779
  let result = null;
17780
+ if (!request.cacheLookupPolicy) {
17781
+ request.cacheLookupPolicy = CacheLookupPolicy.Default;
17782
+ }
17776
17783
  switch (request.cacheLookupPolicy) {
17777
17784
  case CacheLookupPolicy.Default:
17778
17785
  case CacheLookupPolicy.AccessToken:
@@ -17806,12 +17813,11 @@ class NestedAppAuthController {
17806
17813
  * @returns
17807
17814
  */
17808
17815
  async acquireTokenFromCacheInternal(request) {
17809
- const accountContext = this.bridgeProxy.getAccountContext();
17816
+ // always prioritize the account context from the bridge
17817
+ const accountContext = this.bridgeProxy.getAccountContext() || this.currentAccountContext;
17810
17818
  let currentAccount = null;
17811
17819
  if (accountContext) {
17812
- const hubAccount = getAccount(accountContext, this.logger, this.browserStorage);
17813
- // always prioritize for hub account context, the reqirement of `request.account` will be removed soon
17814
- currentAccount = hubAccount || request.account;
17820
+ currentAccount = getAccount(accountContext, this.logger, this.browserStorage);
17815
17821
  }
17816
17822
  // fall back to brokering if no cached account is found
17817
17823
  if (!currentAccount) {
@@ -18455,7 +18461,9 @@ async function createNestablePublicClientApplication(configuration) {
18455
18461
  await nestedAppAuth.initialize();
18456
18462
  if (nestedAppAuth.isAvailable()) {
18457
18463
  const controller = new NestedAppAuthController(nestedAppAuth);
18458
- return new PublicClientApplication(configuration, controller);
18464
+ const nestablePCA = new PublicClientApplication(configuration, controller);
18465
+ await nestablePCA.initialize();
18466
+ return nestablePCA;
18459
18467
  }
18460
18468
  return createStandardPublicClientApplication(configuration);
18461
18469
  }