@azure/msal-browser 2.28.2 → 2.29.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.
- package/README.md +1 -1
- package/dist/_virtual/_tslib.js +1 -1
- package/dist/app/ClientApplication.d.ts +19 -10
- package/dist/app/ClientApplication.d.ts.map +1 -1
- package/dist/app/ClientApplication.js +67 -66
- package/dist/app/ClientApplication.js.map +1 -1
- package/dist/app/IPublicClientApplication.js +1 -1
- package/dist/app/PublicClientApplication.d.ts.map +1 -1
- package/dist/app/PublicClientApplication.js +37 -10
- package/dist/app/PublicClientApplication.js.map +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.js +1 -1
- package/dist/cache/AsyncMemoryStorage.d.ts +7 -2
- package/dist/cache/AsyncMemoryStorage.d.ts.map +1 -1
- package/dist/cache/AsyncMemoryStorage.js +19 -15
- package/dist/cache/AsyncMemoryStorage.js.map +1 -1
- package/dist/cache/BrowserCacheManager.js +1 -1
- package/dist/cache/BrowserStorage.js +1 -1
- package/dist/cache/CryptoKeyStore.d.ts +18 -0
- package/dist/cache/CryptoKeyStore.d.ts.map +1 -0
- package/dist/cache/CryptoKeyStore.js +58 -0
- package/dist/cache/CryptoKeyStore.js.map +1 -0
- package/dist/cache/DatabaseStorage.d.ts.map +1 -1
- package/dist/cache/DatabaseStorage.js +10 -22
- package/dist/cache/DatabaseStorage.js.map +1 -1
- package/dist/cache/MemoryStorage.js +1 -1
- package/dist/cache/TokenCache.js +1 -1
- package/dist/config/Configuration.d.ts +16 -0
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.js +5 -2
- package/dist/config/Configuration.js.map +1 -1
- package/dist/crypto/BrowserCrypto.d.ts +19 -59
- package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/BrowserCrypto.js +65 -180
- package/dist/crypto/BrowserCrypto.js.map +1 -1
- package/dist/crypto/CryptoOps.d.ts +2 -13
- package/dist/crypto/CryptoOps.d.ts.map +1 -1
- package/dist/crypto/CryptoOps.js +10 -40
- package/dist/crypto/CryptoOps.js.map +1 -1
- package/dist/crypto/GuidGenerator.js +1 -1
- package/dist/crypto/ISubtleCrypto.d.ts +10 -0
- package/dist/crypto/ISubtleCrypto.d.ts.map +1 -0
- package/dist/crypto/ModernBrowserCrypto.d.ts +10 -0
- package/dist/crypto/ModernBrowserCrypto.d.ts.map +1 -0
- package/dist/crypto/ModernBrowserCrypto.js +55 -0
- package/dist/crypto/ModernBrowserCrypto.js.map +1 -0
- package/dist/crypto/MsBrowserCrypto.d.ts +10 -0
- package/dist/crypto/MsBrowserCrypto.d.ts.map +1 -0
- package/dist/crypto/MsBrowserCrypto.js +112 -0
- package/dist/crypto/MsBrowserCrypto.js.map +1 -0
- package/dist/crypto/MsrBrowserCrypto.d.ts +18 -0
- package/dist/crypto/MsrBrowserCrypto.d.ts.map +1 -0
- package/dist/crypto/MsrBrowserCrypto.js +59 -0
- package/dist/crypto/MsrBrowserCrypto.js.map +1 -0
- package/dist/crypto/PkceGenerator.js +1 -1
- package/dist/crypto/SignedHttpRequest.js +1 -1
- package/dist/encode/Base64Decode.js +1 -1
- package/dist/encode/Base64Encode.js +1 -1
- package/dist/error/BrowserAuthError.js +2 -2
- package/dist/error/BrowserAuthError.js.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.d.ts +8 -0
- package/dist/error/BrowserConfigurationAuthError.d.ts.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.js +11 -1
- package/dist/error/BrowserConfigurationAuthError.js.map +1 -1
- package/dist/error/NativeAuthError.js +1 -1
- package/dist/event/EventHandler.js +1 -1
- package/dist/event/EventMessage.js +1 -1
- package/dist/event/EventType.js +1 -1
- package/dist/index.cjs.js +710 -410
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/interaction_client/BaseInteractionClient.js +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +1 -1
- package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.js +3 -2
- package/dist/interaction_client/NativeInteractionClient.js.map +1 -1
- package/dist/interaction_client/PopupClient.js +1 -1
- package/dist/interaction_client/RedirectClient.js +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.js +1 -1
- package/dist/interaction_client/SilentCacheClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentCacheClient.js +1 -1
- package/dist/interaction_client/SilentCacheClient.js.map +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.js +8 -7
- package/dist/interaction_client/SilentIframeClient.js.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.js +3 -2
- package/dist/interaction_client/SilentRefreshClient.js.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.js +1 -1
- package/dist/interaction_handler/InteractionHandler.js +1 -1
- package/dist/interaction_handler/RedirectHandler.js +1 -1
- package/dist/interaction_handler/SilentHandler.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/navigation/NavigationClient.js +1 -1
- package/dist/network/FetchClient.js +1 -1
- package/dist/network/XhrClient.js +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.js +2 -2
- package/dist/packageMetadata.js.map +1 -1
- package/dist/request/PopupRequest.d.ts +1 -0
- package/dist/request/PopupRequest.d.ts.map +1 -1
- package/dist/request/RedirectRequest.d.ts +1 -0
- package/dist/request/RedirectRequest.d.ts.map +1 -1
- package/dist/request/SilentRequest.d.ts +9 -2
- package/dist/request/SilentRequest.d.ts.map +1 -1
- package/dist/request/SsoSilentRequest.d.ts +1 -0
- package/dist/request/SsoSilentRequest.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts +2 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.js +3 -3
- package/dist/telemetry/BrowserPerformanceClient.js.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.js +1 -1
- package/dist/utils/BrowserConstants.d.ts +8 -0
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.js +40 -3
- package/dist/utils/BrowserConstants.js.map +1 -1
- package/dist/utils/BrowserProtocolUtils.js +1 -1
- package/dist/utils/BrowserStringUtils.d.ts +5 -0
- package/dist/utils/BrowserStringUtils.d.ts.map +1 -1
- package/dist/utils/BrowserStringUtils.js +8 -1
- package/dist/utils/BrowserStringUtils.js.map +1 -1
- package/dist/utils/BrowserUtils.js +1 -1
- package/dist/utils/MathUtils.js +1 -1
- package/lib/msal-browser.js +710 -410
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +37 -37
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import * as internals from "./internals";
|
|
|
10
10
|
export { internals };
|
|
11
11
|
export { PublicClientApplication } from "./app/PublicClientApplication";
|
|
12
12
|
export { Configuration, BrowserAuthOptions, CacheOptions, BrowserSystemOptions, BrowserConfiguration, DEFAULT_IFRAME_TIMEOUT_MS } from "./config/Configuration";
|
|
13
|
-
export { InteractionType, InteractionStatus, BrowserCacheLocation, WrapperSKU, ApiId } from "./utils/BrowserConstants";
|
|
13
|
+
export { InteractionType, InteractionStatus, BrowserCacheLocation, WrapperSKU, ApiId, CacheLookupPolicy } from "./utils/BrowserConstants";
|
|
14
14
|
export { BrowserUtils } from "./utils/BrowserUtils";
|
|
15
15
|
export { BrowserAuthError, BrowserAuthErrorMessage } from "./error/BrowserAuthError";
|
|
16
16
|
export { BrowserConfigurationAuthError, BrowserConfigurationAuthErrorMessage } from "./error/BrowserConfigurationAuthError";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAChK,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH;;;GAGG;AACH,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAChK,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC1I,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAG5H,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAG9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpI,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGzF,OAAO,EACH,oBAAoB,EAEpB,WAAW,EACX,aAAa,EAEb,oBAAoB,EAEpB,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,EACnC,WAAW,EAEX,cAAc,EACd,eAAe,EACf,qBAAqB,EAErB,eAAe,EACf,MAAM,EACN,QAAQ,EAER,YAAY,EAEZ,qBAAqB,EAErB,WAAW,EACX,SAAS,EAET,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import * as internals from './internals.js';
|
|
4
4
|
export { internals };
|
|
5
5
|
export { PublicClientApplication } from './app/PublicClientApplication.js';
|
|
6
6
|
export { DEFAULT_IFRAME_TIMEOUT_MS } from './config/Configuration.js';
|
|
7
|
-
export { ApiId, BrowserCacheLocation, InteractionStatus, InteractionType, WrapperSKU } from './utils/BrowserConstants.js';
|
|
7
|
+
export { ApiId, BrowserCacheLocation, CacheLookupPolicy, InteractionStatus, InteractionType, WrapperSKU } from './utils/BrowserConstants.js';
|
|
8
8
|
export { BrowserUtils } from './utils/BrowserUtils.js';
|
|
9
9
|
export { BrowserAuthError, BrowserAuthErrorMessage } from './error/BrowserAuthError.js';
|
|
10
10
|
export { BrowserConfigurationAuthError, BrowserConfigurationAuthErrorMessage } from './error/BrowserConfigurationAuthError.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __awaiter, __generator, __spread, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { AccountEntity, AuthenticationScheme, ClientConfigurationError, StringUtils, UrlString, ServerTelemetryManager, AuthorityFactory } from '@azure/msal-common';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeInteractionClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/NativeInteractionClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAA8L,kBAAkB,EAAyH,MAAM,oBAAoB,CAAC;AAClZ,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAyB,KAAK,EAAuC,MAAM,2BAA2B,CAAC;AAC9G,OAAO,EAA8B,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAQ,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,uBAAwB,SAAQ,qBAAqB;IAC9D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACrD,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC/C,SAAS,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;gBAExC,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,CAAC,EAAE,MAAM;IAS9V;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,YAAY,GAAC,aAAa,GAAC,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeInteractionClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/NativeInteractionClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAA8L,kBAAkB,EAAyH,MAAM,oBAAoB,CAAC;AAClZ,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAyB,KAAK,EAAuC,MAAM,2BAA2B,CAAC;AAC9G,OAAO,EAA8B,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAQ,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,uBAAwB,SAAQ,qBAAqB;IAC9D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACrD,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC/C,SAAS,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;gBAExC,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,CAAC,EAAE,MAAM;IAS9V;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,YAAY,GAAC,aAAa,GAAC,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqDvG;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;;;;OAKG;cACa,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmB3H;;;OAGG;IACG,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BnE;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAmCnE;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB;;;;;OAKG;cACa,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgIhJ;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;;OAGG;cACa,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAiF/G"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __extends, __awaiter, __generator, __rest, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { PerformanceEvents, TimeUtils, ScopeSet, ClientAuthError, IdTokenEntity, Constants, AccessTokenEntity, AuthenticationScheme, PopTokenGenerator, AccountEntity, AuthorityType, AuthToken, UrlString, OIDC_DEFAULT_SCOPES, PromptValue } from '@azure/msal-common';
|
|
@@ -69,7 +69,8 @@ var NativeInteractionClient = /** @class */ (function (_super) {
|
|
|
69
69
|
.then(function (result) {
|
|
70
70
|
nativeATMeasurement.endMeasurement({
|
|
71
71
|
success: true,
|
|
72
|
-
isNativeBroker: true
|
|
72
|
+
isNativeBroker: true,
|
|
73
|
+
requestId: result.requestId
|
|
73
74
|
});
|
|
74
75
|
return result;
|
|
75
76
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeInteractionClient.js","sources":["../../src/interaction_client/NativeInteractionClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, Logger, ICrypto, PromptValue, AuthToken, Constants, AccountEntity, AuthorityType, ScopeSet, TimeUtils, AuthenticationScheme, UrlString, OIDC_DEFAULT_SCOPES, PopTokenGenerator, SignedHttpRequestParameters, IPerformanceClient, PerformanceEvents, IdTokenEntity, AccessTokenEntity, ClientAuthError, AuthError, CommonSilentFlowRequest, AccountInfo } from \"@azure/msal-common\";\nimport { BaseInteractionClient } from \"./BaseInteractionClient\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { NativeExtensionMethod, ApiId, TemporaryCacheKeys, NativeConstants } from \"../utils/BrowserConstants\";\nimport { NativeExtensionRequestBody, NativeTokenRequest } from \"../broker/nativeBroker/NativeRequest\";\nimport { MATS, NativeResponse } from \"../broker/nativeBroker/NativeResponse\";\nimport { NativeAuthError } from \"../error/NativeAuthError\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { SilentCacheClient } from \"./SilentCacheClient\";\n\nexport class NativeInteractionClient extends BaseInteractionClient {\n protected apiId: ApiId;\n protected accountId: string;\n protected nativeMessageHandler: NativeMessageHandler;\n protected silentCacheClient: SilentCacheClient;\n protected nativeStorageManager: BrowserCacheManager;\n\n constructor(config: BrowserConfiguration, browserStorage: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, provider: NativeMessageHandler, accountId: string, nativeStorageImpl: BrowserCacheManager, correlationId?: string) {\n super(config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);\n this.apiId = apiId;\n this.accountId = accountId;\n this.nativeMessageHandler = provider;\n this.nativeStorageManager = nativeStorageImpl;\n this.silentCacheClient = new SilentCacheClient(config, this.nativeStorageManager, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);\n }\n\n /**\n * Acquire token from native platform via browser extension\n * @param request\n */\n async acquireToken(request: PopupRequest|SilentRequest|SsoSilentRequest): Promise<AuthenticationResult> {\n this.logger.trace(\"NativeInteractionClient - acquireToken called.\");\n\n // start the perf measurement\n const nativeATMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, request.correlationId);\n const reqTimestamp = TimeUtils.nowSeconds();\n\n // initialize native request\n const nativeRequest = await this.initializeNativeRequest(request);\n\n // check if the tokens can be retrieved from internal cache\n try {\n const result = await this.acquireTokensFromCache(this.accountId, nativeRequest);\n nativeATMeasurement.endMeasurement({\n success: true,\n isNativeBroker: true,\n fromCache: true\n });\n return result;\n } catch (e) {\n // continue with a native call for any and all errors\n this.logger.info(\"MSAL internal Cache does not contain tokens, proceed to make a native call\");\n }\n\n // fall back to native calls\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: nativeRequest\n };\n\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n const validatedResponse: NativeResponse = this.validateNativeResponse(response);\n\n return this.handleNativeResponse(validatedResponse, nativeRequest, reqTimestamp)\n .then((result: AuthenticationResult) => {\n nativeATMeasurement.endMeasurement({\n success: true,\n isNativeBroker: true\n });\n return result;\n })\n .catch((error: AuthError) => {\n nativeATMeasurement.endMeasurement({\n success: false,\n errorCode: error.errorCode,\n subErrorCode: error.subError,\n isNativeBroker: true\n });\n throw error;\n });\n }\n\n /**\n * Creates silent flow request\n * @param request\n * @param cachedAccount\n * @returns CommonSilentFlowRequest\n */\n private createSilentCacheRequest(request: NativeTokenRequest, cachedAccount: AccountInfo): CommonSilentFlowRequest {\n return {\n authority: request.authority,\n correlationId: this.correlationId,\n scopes: ScopeSet.fromString(request.scope).asArray(),\n account: cachedAccount,\n forceRefresh: false,\n };\n }\n\n /**\n * Fetches the tokens from the cache if un-expired\n * @param nativeAccountId\n * @param request\n * @returns authenticationResult\n */\n protected async acquireTokensFromCache(nativeAccountId: string, request: NativeTokenRequest): Promise<AuthenticationResult> {\n\n // fetch the account from in-memory cache\n const accountEntity = this.browserStorage.readAccountFromCacheWithNativeAccountId(nativeAccountId);\n if (!accountEntity) {\n throw ClientAuthError.createNoAccountFoundError();\n }\n const account = accountEntity.getAccountInfo();\n\n // leverage silent flow for cached tokens retrieval\n try {\n const silentRequest = this.createSilentCacheRequest(request, account);\n const result = await this.silentCacheClient.acquireToken(silentRequest);\n return result;\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Acquires a token from native platform then redirects to the redirectUri instead of returning the response\n * @param request\n */\n async acquireTokenRedirect(request: RedirectRequest): Promise<void> {\n this.logger.trace(\"NativeInteractionClient - acquireTokenRedirect called.\");\n const nativeRequest = await this.initializeNativeRequest(request);\n\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: nativeRequest\n };\n\n try {\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n this.validateNativeResponse(response);\n } catch (e) {\n // Only throw fatal errors here to allow application to fallback to regular redirect. Otherwise proceed and the error will be thrown in handleRedirectPromise\n if (e instanceof NativeAuthError && e.isFatal()) {\n throw e;\n }\n }\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.NATIVE_REQUEST, JSON.stringify(nativeRequest), true);\n\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.acquireTokenRedirect,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: false\n };\n const redirectUri = this.config.auth.navigateToLoginRequestUrl ? window.location.href : this.getRedirectUri(request.redirectUri);\n await this.navigationClient.navigateExternal(redirectUri, navigationOptions); // Need to treat this as external to ensure handleRedirectPromise is run again\n }\n\n /**\n * If the previous page called native platform for a token using redirect APIs, send the same request again and return the response\n */\n async handleRedirectPromise(): Promise<AuthenticationResult | null> {\n this.logger.trace(\"NativeInteractionClient - handleRedirectPromise called.\");\n if (!this.browserStorage.isInteractionInProgress(true)) {\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\n return null;\n }\n\n const cachedRequest = this.browserStorage.getCachedNativeRequest();\n if (!cachedRequest) {\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null.\");\n return null;\n }\n\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));\n\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: cachedRequest\n };\n\n const reqTimestamp = TimeUtils.nowSeconds();\n\n try {\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise sending message to native broker.\");\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n this.validateNativeResponse(response);\n const result = this.handleNativeResponse(response as NativeResponse, cachedRequest, reqTimestamp);\n this.browserStorage.setInteractionInProgress(false);\n return result;\n } catch (e) {\n this.browserStorage.setInteractionInProgress(false);\n throw e;\n }\n }\n\n /**\n * Logout from native platform via browser extension\n * @param request\n */\n logout(): Promise<void> {\n this.logger.trace(\"NativeInteractionClient - logout called.\");\n return Promise.reject(\"Logout not implemented yet\");\n }\n\n /**\n * Transform response from native platform into AuthenticationResult object which will be returned to the end user\n * @param response\n * @param request\n * @param reqTimestamp\n */\n protected async handleNativeResponse(response: NativeResponse, request: NativeTokenRequest, reqTimestamp: number): Promise<AuthenticationResult> {\n this.logger.trace(\"NativeInteractionClient - handleNativeResponse called.\");\n\n if (response.account.id !== request.accountId) {\n // User switch in native broker prompt is not supported. All users must first sign in through web flow to ensure server state is in sync\n throw NativeAuthError.createUserSwitchError();\n }\n\n // create an idToken object (not entity)\n const idTokenObj = new AuthToken(response.id_token || Constants.EMPTY_STRING, this.browserCrypto);\n\n // Get the preferred_cache domain for the given authority\n const authority = await this.getDiscoveredAuthority(request.authority);\n const authorityPreferredCache = authority.getPreferredCache();\n\n // Save account in browser storage\n const homeAccountIdentifier = AccountEntity.generateHomeAccountId(response.client_info || Constants.EMPTY_STRING, AuthorityType.Default, this.logger, this.browserCrypto, idTokenObj);\n const accountEntity = AccountEntity.createAccount(response.client_info, homeAccountIdentifier, idTokenObj, undefined, undefined, undefined, authorityPreferredCache, response.account.id);\n this.browserStorage.setAccount(accountEntity);\n\n // If scopes not returned in server response, use request scopes\n const responseScopes = response.scope ? ScopeSet.fromString(response.scope) : ScopeSet.fromString(request.scope);\n\n const accountProperties = response.account.properties || {};\n const uid = accountProperties[\"UID\"] || idTokenObj.claims.oid || idTokenObj.claims.sub || Constants.EMPTY_STRING;\n const tid = accountProperties[\"TenantId\"] || idTokenObj.claims.tid || Constants.EMPTY_STRING;\n\n // This code prioritizes SHR returned from the native layer. In case of error/SHR not calculated from WAM and the AT is still received, SHR is calculated locally\n let responseAccessToken;\n let responseTokenType: AuthenticationScheme = AuthenticationScheme.BEARER;\n switch (request.tokenType) {\n case AuthenticationScheme.POP: {\n // Set the token type to POP in the response\n responseTokenType = AuthenticationScheme.POP;\n\n // Check if native layer returned an SHR token\n if (response.shr) {\n this.logger.trace(\"handleNativeServerResponse: SHR is enabled in native layer\");\n responseAccessToken = response.shr;\n break;\n }\n\n // Generate SHR in msal js if WAM does not compute it when POP is enabled\n const popTokenGenerator: PopTokenGenerator = new PopTokenGenerator(this.browserCrypto);\n const shrParameters: SignedHttpRequestParameters = {\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n shrNonce: request.shrNonce\n };\n\n /**\n * KeyID must be present in the native request from when the PoP key was generated in order for\n * PopTokenGenerator to query the full key for signing\n */\n if (!request.keyId) {\n throw ClientAuthError.createKeyIdMissingError();\n }\n\n responseAccessToken = await popTokenGenerator.signPopToken(response.access_token, request.keyId, shrParameters);\n break;\n\n }\n // assign the access token to the response for all non-POP cases (Should be Bearer only today)\n default: {\n responseAccessToken = response.access_token;\n }\n }\n\n const mats = this.getMATSFromResponse(response);\n\n const result: AuthenticationResult = {\n authority: authority.canonicalAuthority,\n uniqueId: uid,\n tenantId: tid,\n scopes: responseScopes.asArray(),\n account: accountEntity.getAccountInfo(),\n idToken: response.id_token,\n idTokenClaims: idTokenObj.claims,\n accessToken: responseAccessToken,\n fromCache: mats ? this.isResponseFromCache(mats) : false,\n expiresOn: new Date(Number(reqTimestamp + response.expires_in) * 1000),\n tokenType: responseTokenType,\n correlationId: this.correlationId,\n state: response.state,\n fromNativeBroker: true\n };\n\n // cache idToken in inmemory storage\n const idTokenEntity = IdTokenEntity.createIdTokenEntity(\n homeAccountIdentifier,\n request.authority,\n response.id_token || Constants.EMPTY_STRING,\n request.clientId,\n idTokenObj.claims.tid || Constants.EMPTY_STRING,\n );\n this.nativeStorageManager.setIdTokenCredential(idTokenEntity);\n\n // cache accessToken in inmemory storage\n const expiresIn: number = (responseTokenType === AuthenticationScheme.POP)\n ? Constants.SHR_NONCE_VALIDITY\n : (\n typeof response.expires_in === \"string\"\n ? parseInt(response.expires_in, 10)\n : response.expires_in\n ) || 0;\n const tokenExpirationSeconds = reqTimestamp + expiresIn;\n const accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(\n homeAccountIdentifier,\n request.authority,\n responseAccessToken,\n request.clientId,\n tid,\n responseScopes.printScopes(),\n tokenExpirationSeconds,\n 0,\n this.browserCrypto\n );\n this.nativeStorageManager.setAccessTokenCredential(accessTokenEntity);\n\n // Remove any existing cached tokens for this account in browser storage\n this.browserStorage.removeAccountContext(accountEntity).catch((e) => {\n this.logger.error(`Error occurred while removing account context from browser storage. ${e}`);\n });\n\n return result;\n }\n\n /**\n * Validates native platform response before processing\n * @param response\n */\n private validateNativeResponse(response: object): NativeResponse {\n if (\n response.hasOwnProperty(\"access_token\") &&\n response.hasOwnProperty(\"id_token\") &&\n response.hasOwnProperty(\"client_info\") &&\n response.hasOwnProperty(\"account\") &&\n response.hasOwnProperty(\"scope\") &&\n response.hasOwnProperty(\"expires_in\")\n ) {\n return response as NativeResponse;\n } else {\n throw NativeAuthError.createUnexpectedError(\"Response missing expected properties.\");\n }\n }\n\n /**\n * Gets MATS telemetry from native response\n * @param response\n * @returns\n */\n private getMATSFromResponse(response: NativeResponse): MATS|null {\n if (response.properties.MATS) {\n try {\n return JSON.parse(response.properties.MATS);\n } catch (e) {\n this.logger.error(\"NativeInteractionClient - Error parsing MATS telemetry, returning null instead\");\n }\n }\n\n return null;\n }\n\n /**\n * Returns whether or not response came from native cache\n * @param response\n * @returns\n */\n private isResponseFromCache(mats: MATS): boolean {\n if (typeof mats.is_cached === \"undefined\") {\n this.logger.verbose(\"NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false.\");\n return false;\n }\n\n return !!mats.is_cached;\n }\n\n /**\n * Translates developer provided request object into NativeRequest object\n * @param request\n */\n protected async initializeNativeRequest(request: PopupRequest|SsoSilentRequest): Promise<NativeTokenRequest> {\n this.logger.trace(\"NativeInteractionClient - initializeNativeRequest called\");\n\n const authority = request.authority || this.config.auth.authority;\n const canonicalAuthority = new UrlString(authority);\n canonicalAuthority.validateAsUri();\n\n // scopes are expected to be received by the native broker as \"scope\" and will be added to the request below. Other properties that should be dropped from the request to the native broker can be included in the object destructuring here.\n const { scopes, ...remainingProperties } = request; \n const scopeSet = new ScopeSet(scopes || []);\n scopeSet.appendScopes(OIDC_DEFAULT_SCOPES);\n\n const getPrompt = () => {\n // If request is silent, prompt is always none\n switch (this.apiId) {\n case ApiId.ssoSilent:\n case ApiId.acquireTokenSilent_silentFlow:\n this.logger.trace(\"initializeNativeRequest: silent request sets prompt to none\");\n return PromptValue.NONE;\n default:\n break;\n }\n\n // Prompt not provided, request may proceed and native broker decides if it needs to prompt\n if (!request.prompt) {\n this.logger.trace(\"initializeNativeRequest: prompt was not provided\");\n return undefined;\n }\n\n // If request is interactive, check if prompt provided is allowed to go directly to native broker\n switch (request.prompt) {\n case PromptValue.NONE:\n case PromptValue.CONSENT:\n case PromptValue.LOGIN:\n this.logger.trace(\"initializeNativeRequest: prompt is compatible with native flow\");\n return request.prompt;\n default:\n this.logger.trace(`initializeNativeRequest: prompt = ${request.prompt} is not compatible with native flow`);\n throw BrowserAuthError.createNativePromptParameterNotSupportedError();\n }\n };\n \n const validatedRequest: NativeTokenRequest = {\n ...remainingProperties,\n accountId: this.accountId,\n clientId: this.config.auth.clientId,\n authority: canonicalAuthority.urlString,\n scope: scopeSet.printScopes(),\n redirectUri: this.getRedirectUri(request.redirectUri),\n prompt: getPrompt(),\n correlationId: this.correlationId,\n tokenType: request.authenticationScheme,\n windowTitleSubstring: document.title,\n extraParameters: {\n ...request.extraQueryParameters,\n ...request.tokenQueryParameters,\n telemetry: NativeConstants.MATS_TELEMETRY\n },\n extendedExpiryToken: false // Make this configurable?\n };\n\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n\n // add POP request type\n const shrParameters: SignedHttpRequestParameters = {\n resourceRequestUri: request.resourceRequestUri,\n resourceRequestMethod: request.resourceRequestMethod,\n shrClaims: request.shrClaims,\n shrNonce: request.shrNonce\n };\n\n const popTokenGenerator = new PopTokenGenerator(this.browserCrypto);\n const reqCnfData = await popTokenGenerator.generateCnf(shrParameters);\n\n // to reduce the URL length, it is recommended to send the hash of the req_cnf instead of the whole string\n validatedRequest.reqCnf = reqCnfData.reqCnfHash;\n validatedRequest.keyId = reqCnfData.kid;\n }\n\n return validatedRequest;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NativeInteractionClient.js","sources":["../../src/interaction_client/NativeInteractionClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, Logger, ICrypto, PromptValue, AuthToken, Constants, AccountEntity, AuthorityType, ScopeSet, TimeUtils, AuthenticationScheme, UrlString, OIDC_DEFAULT_SCOPES, PopTokenGenerator, SignedHttpRequestParameters, IPerformanceClient, PerformanceEvents, IdTokenEntity, AccessTokenEntity, ClientAuthError, AuthError, CommonSilentFlowRequest, AccountInfo } from \"@azure/msal-common\";\nimport { BaseInteractionClient } from \"./BaseInteractionClient\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { NativeExtensionMethod, ApiId, TemporaryCacheKeys, NativeConstants } from \"../utils/BrowserConstants\";\nimport { NativeExtensionRequestBody, NativeTokenRequest } from \"../broker/nativeBroker/NativeRequest\";\nimport { MATS, NativeResponse } from \"../broker/nativeBroker/NativeResponse\";\nimport { NativeAuthError } from \"../error/NativeAuthError\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { SilentCacheClient } from \"./SilentCacheClient\";\n\nexport class NativeInteractionClient extends BaseInteractionClient {\n protected apiId: ApiId;\n protected accountId: string;\n protected nativeMessageHandler: NativeMessageHandler;\n protected silentCacheClient: SilentCacheClient;\n protected nativeStorageManager: BrowserCacheManager;\n\n constructor(config: BrowserConfiguration, browserStorage: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, provider: NativeMessageHandler, accountId: string, nativeStorageImpl: BrowserCacheManager, correlationId?: string) {\n super(config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);\n this.apiId = apiId;\n this.accountId = accountId;\n this.nativeMessageHandler = provider;\n this.nativeStorageManager = nativeStorageImpl;\n this.silentCacheClient = new SilentCacheClient(config, this.nativeStorageManager, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);\n }\n\n /**\n * Acquire token from native platform via browser extension\n * @param request\n */\n async acquireToken(request: PopupRequest|SilentRequest|SsoSilentRequest): Promise<AuthenticationResult> {\n this.logger.trace(\"NativeInteractionClient - acquireToken called.\");\n\n // start the perf measurement\n const nativeATMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, request.correlationId);\n const reqTimestamp = TimeUtils.nowSeconds();\n\n // initialize native request\n const nativeRequest = await this.initializeNativeRequest(request);\n\n // check if the tokens can be retrieved from internal cache\n try {\n const result = await this.acquireTokensFromCache(this.accountId, nativeRequest);\n nativeATMeasurement.endMeasurement({\n success: true,\n isNativeBroker: true,\n fromCache: true\n });\n return result;\n } catch (e) {\n // continue with a native call for any and all errors\n this.logger.info(\"MSAL internal Cache does not contain tokens, proceed to make a native call\");\n }\n\n // fall back to native calls\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: nativeRequest\n };\n\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n const validatedResponse: NativeResponse = this.validateNativeResponse(response);\n\n return this.handleNativeResponse(validatedResponse, nativeRequest, reqTimestamp)\n .then((result: AuthenticationResult) => {\n nativeATMeasurement.endMeasurement({\n success: true,\n isNativeBroker: true,\n requestId: result.requestId\n });\n return result;\n })\n .catch((error: AuthError) => {\n nativeATMeasurement.endMeasurement({\n success: false,\n errorCode: error.errorCode,\n subErrorCode: error.subError,\n isNativeBroker: true\n });\n throw error;\n });\n }\n\n /**\n * Creates silent flow request\n * @param request\n * @param cachedAccount\n * @returns CommonSilentFlowRequest\n */\n private createSilentCacheRequest(request: NativeTokenRequest, cachedAccount: AccountInfo): CommonSilentFlowRequest {\n return {\n authority: request.authority,\n correlationId: this.correlationId,\n scopes: ScopeSet.fromString(request.scope).asArray(),\n account: cachedAccount,\n forceRefresh: false,\n };\n }\n\n /**\n * Fetches the tokens from the cache if un-expired\n * @param nativeAccountId\n * @param request\n * @returns authenticationResult\n */\n protected async acquireTokensFromCache(nativeAccountId: string, request: NativeTokenRequest): Promise<AuthenticationResult> {\n\n // fetch the account from in-memory cache\n const accountEntity = this.browserStorage.readAccountFromCacheWithNativeAccountId(nativeAccountId);\n if (!accountEntity) {\n throw ClientAuthError.createNoAccountFoundError();\n }\n const account = accountEntity.getAccountInfo();\n\n // leverage silent flow for cached tokens retrieval\n try {\n const silentRequest = this.createSilentCacheRequest(request, account);\n const result = await this.silentCacheClient.acquireToken(silentRequest);\n return result;\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Acquires a token from native platform then redirects to the redirectUri instead of returning the response\n * @param request\n */\n async acquireTokenRedirect(request: RedirectRequest): Promise<void> {\n this.logger.trace(\"NativeInteractionClient - acquireTokenRedirect called.\");\n const nativeRequest = await this.initializeNativeRequest(request);\n\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: nativeRequest\n };\n\n try {\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n this.validateNativeResponse(response);\n } catch (e) {\n // Only throw fatal errors here to allow application to fallback to regular redirect. Otherwise proceed and the error will be thrown in handleRedirectPromise\n if (e instanceof NativeAuthError && e.isFatal()) {\n throw e;\n }\n }\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.NATIVE_REQUEST, JSON.stringify(nativeRequest), true);\n\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.acquireTokenRedirect,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: false\n };\n const redirectUri = this.config.auth.navigateToLoginRequestUrl ? window.location.href : this.getRedirectUri(request.redirectUri);\n await this.navigationClient.navigateExternal(redirectUri, navigationOptions); // Need to treat this as external to ensure handleRedirectPromise is run again\n }\n\n /**\n * If the previous page called native platform for a token using redirect APIs, send the same request again and return the response\n */\n async handleRedirectPromise(): Promise<AuthenticationResult | null> {\n this.logger.trace(\"NativeInteractionClient - handleRedirectPromise called.\");\n if (!this.browserStorage.isInteractionInProgress(true)) {\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\n return null;\n }\n\n const cachedRequest = this.browserStorage.getCachedNativeRequest();\n if (!cachedRequest) {\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null.\");\n return null;\n }\n\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));\n\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: cachedRequest\n };\n\n const reqTimestamp = TimeUtils.nowSeconds();\n\n try {\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise sending message to native broker.\");\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n this.validateNativeResponse(response);\n const result = this.handleNativeResponse(response as NativeResponse, cachedRequest, reqTimestamp);\n this.browserStorage.setInteractionInProgress(false);\n return result;\n } catch (e) {\n this.browserStorage.setInteractionInProgress(false);\n throw e;\n }\n }\n\n /**\n * Logout from native platform via browser extension\n * @param request\n */\n logout(): Promise<void> {\n this.logger.trace(\"NativeInteractionClient - logout called.\");\n return Promise.reject(\"Logout not implemented yet\");\n }\n\n /**\n * Transform response from native platform into AuthenticationResult object which will be returned to the end user\n * @param response\n * @param request\n * @param reqTimestamp\n */\n protected async handleNativeResponse(response: NativeResponse, request: NativeTokenRequest, reqTimestamp: number): Promise<AuthenticationResult> {\n this.logger.trace(\"NativeInteractionClient - handleNativeResponse called.\");\n\n if (response.account.id !== request.accountId) {\n // User switch in native broker prompt is not supported. All users must first sign in through web flow to ensure server state is in sync\n throw NativeAuthError.createUserSwitchError();\n }\n\n // create an idToken object (not entity)\n const idTokenObj = new AuthToken(response.id_token || Constants.EMPTY_STRING, this.browserCrypto);\n\n // Get the preferred_cache domain for the given authority\n const authority = await this.getDiscoveredAuthority(request.authority);\n const authorityPreferredCache = authority.getPreferredCache();\n\n // Save account in browser storage\n const homeAccountIdentifier = AccountEntity.generateHomeAccountId(response.client_info || Constants.EMPTY_STRING, AuthorityType.Default, this.logger, this.browserCrypto, idTokenObj);\n const accountEntity = AccountEntity.createAccount(response.client_info, homeAccountIdentifier, idTokenObj, undefined, undefined, undefined, authorityPreferredCache, response.account.id);\n this.browserStorage.setAccount(accountEntity);\n\n // If scopes not returned in server response, use request scopes\n const responseScopes = response.scope ? ScopeSet.fromString(response.scope) : ScopeSet.fromString(request.scope);\n\n const accountProperties = response.account.properties || {};\n const uid = accountProperties[\"UID\"] || idTokenObj.claims.oid || idTokenObj.claims.sub || Constants.EMPTY_STRING;\n const tid = accountProperties[\"TenantId\"] || idTokenObj.claims.tid || Constants.EMPTY_STRING;\n\n // This code prioritizes SHR returned from the native layer. In case of error/SHR not calculated from WAM and the AT is still received, SHR is calculated locally\n let responseAccessToken;\n let responseTokenType: AuthenticationScheme = AuthenticationScheme.BEARER;\n switch (request.tokenType) {\n case AuthenticationScheme.POP: {\n // Set the token type to POP in the response\n responseTokenType = AuthenticationScheme.POP;\n\n // Check if native layer returned an SHR token\n if (response.shr) {\n this.logger.trace(\"handleNativeServerResponse: SHR is enabled in native layer\");\n responseAccessToken = response.shr;\n break;\n }\n\n // Generate SHR in msal js if WAM does not compute it when POP is enabled\n const popTokenGenerator: PopTokenGenerator = new PopTokenGenerator(this.browserCrypto);\n const shrParameters: SignedHttpRequestParameters = {\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n shrNonce: request.shrNonce\n };\n\n /**\n * KeyID must be present in the native request from when the PoP key was generated in order for\n * PopTokenGenerator to query the full key for signing\n */\n if (!request.keyId) {\n throw ClientAuthError.createKeyIdMissingError();\n }\n\n responseAccessToken = await popTokenGenerator.signPopToken(response.access_token, request.keyId, shrParameters);\n break;\n\n }\n // assign the access token to the response for all non-POP cases (Should be Bearer only today)\n default: {\n responseAccessToken = response.access_token;\n }\n }\n\n const mats = this.getMATSFromResponse(response);\n\n const result: AuthenticationResult = {\n authority: authority.canonicalAuthority,\n uniqueId: uid,\n tenantId: tid,\n scopes: responseScopes.asArray(),\n account: accountEntity.getAccountInfo(),\n idToken: response.id_token,\n idTokenClaims: idTokenObj.claims,\n accessToken: responseAccessToken,\n fromCache: mats ? this.isResponseFromCache(mats) : false,\n expiresOn: new Date(Number(reqTimestamp + response.expires_in) * 1000),\n tokenType: responseTokenType,\n correlationId: this.correlationId,\n state: response.state,\n fromNativeBroker: true\n };\n\n // cache idToken in inmemory storage\n const idTokenEntity = IdTokenEntity.createIdTokenEntity(\n homeAccountIdentifier,\n request.authority,\n response.id_token || Constants.EMPTY_STRING,\n request.clientId,\n idTokenObj.claims.tid || Constants.EMPTY_STRING,\n );\n this.nativeStorageManager.setIdTokenCredential(idTokenEntity);\n\n // cache accessToken in inmemory storage\n const expiresIn: number = (responseTokenType === AuthenticationScheme.POP)\n ? Constants.SHR_NONCE_VALIDITY\n : (\n typeof response.expires_in === \"string\"\n ? parseInt(response.expires_in, 10)\n : response.expires_in\n ) || 0;\n const tokenExpirationSeconds = reqTimestamp + expiresIn;\n const accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(\n homeAccountIdentifier,\n request.authority,\n responseAccessToken,\n request.clientId,\n tid,\n responseScopes.printScopes(),\n tokenExpirationSeconds,\n 0,\n this.browserCrypto\n );\n this.nativeStorageManager.setAccessTokenCredential(accessTokenEntity);\n\n // Remove any existing cached tokens for this account in browser storage\n this.browserStorage.removeAccountContext(accountEntity).catch((e) => {\n this.logger.error(`Error occurred while removing account context from browser storage. ${e}`);\n });\n\n return result;\n }\n\n /**\n * Validates native platform response before processing\n * @param response\n */\n private validateNativeResponse(response: object): NativeResponse {\n if (\n response.hasOwnProperty(\"access_token\") &&\n response.hasOwnProperty(\"id_token\") &&\n response.hasOwnProperty(\"client_info\") &&\n response.hasOwnProperty(\"account\") &&\n response.hasOwnProperty(\"scope\") &&\n response.hasOwnProperty(\"expires_in\")\n ) {\n return response as NativeResponse;\n } else {\n throw NativeAuthError.createUnexpectedError(\"Response missing expected properties.\");\n }\n }\n\n /**\n * Gets MATS telemetry from native response\n * @param response\n * @returns\n */\n private getMATSFromResponse(response: NativeResponse): MATS|null {\n if (response.properties.MATS) {\n try {\n return JSON.parse(response.properties.MATS);\n } catch (e) {\n this.logger.error(\"NativeInteractionClient - Error parsing MATS telemetry, returning null instead\");\n }\n }\n\n return null;\n }\n\n /**\n * Returns whether or not response came from native cache\n * @param response\n * @returns\n */\n private isResponseFromCache(mats: MATS): boolean {\n if (typeof mats.is_cached === \"undefined\") {\n this.logger.verbose(\"NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false.\");\n return false;\n }\n\n return !!mats.is_cached;\n }\n\n /**\n * Translates developer provided request object into NativeRequest object\n * @param request\n */\n protected async initializeNativeRequest(request: PopupRequest|SsoSilentRequest): Promise<NativeTokenRequest> {\n this.logger.trace(\"NativeInteractionClient - initializeNativeRequest called\");\n\n const authority = request.authority || this.config.auth.authority;\n const canonicalAuthority = new UrlString(authority);\n canonicalAuthority.validateAsUri();\n\n // scopes are expected to be received by the native broker as \"scope\" and will be added to the request below. Other properties that should be dropped from the request to the native broker can be included in the object destructuring here.\n const { scopes, ...remainingProperties } = request; \n const scopeSet = new ScopeSet(scopes || []);\n scopeSet.appendScopes(OIDC_DEFAULT_SCOPES);\n\n const getPrompt = () => {\n // If request is silent, prompt is always none\n switch (this.apiId) {\n case ApiId.ssoSilent:\n case ApiId.acquireTokenSilent_silentFlow:\n this.logger.trace(\"initializeNativeRequest: silent request sets prompt to none\");\n return PromptValue.NONE;\n default:\n break;\n }\n\n // Prompt not provided, request may proceed and native broker decides if it needs to prompt\n if (!request.prompt) {\n this.logger.trace(\"initializeNativeRequest: prompt was not provided\");\n return undefined;\n }\n\n // If request is interactive, check if prompt provided is allowed to go directly to native broker\n switch (request.prompt) {\n case PromptValue.NONE:\n case PromptValue.CONSENT:\n case PromptValue.LOGIN:\n this.logger.trace(\"initializeNativeRequest: prompt is compatible with native flow\");\n return request.prompt;\n default:\n this.logger.trace(`initializeNativeRequest: prompt = ${request.prompt} is not compatible with native flow`);\n throw BrowserAuthError.createNativePromptParameterNotSupportedError();\n }\n };\n \n const validatedRequest: NativeTokenRequest = {\n ...remainingProperties,\n accountId: this.accountId,\n clientId: this.config.auth.clientId,\n authority: canonicalAuthority.urlString,\n scope: scopeSet.printScopes(),\n redirectUri: this.getRedirectUri(request.redirectUri),\n prompt: getPrompt(),\n correlationId: this.correlationId,\n tokenType: request.authenticationScheme,\n windowTitleSubstring: document.title,\n extraParameters: {\n ...request.extraQueryParameters,\n ...request.tokenQueryParameters,\n telemetry: NativeConstants.MATS_TELEMETRY\n },\n extendedExpiryToken: false // Make this configurable?\n };\n\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n\n // add POP request type\n const shrParameters: SignedHttpRequestParameters = {\n resourceRequestUri: request.resourceRequestUri,\n resourceRequestMethod: request.resourceRequestMethod,\n shrClaims: request.shrClaims,\n shrNonce: request.shrNonce\n };\n\n const popTokenGenerator = new PopTokenGenerator(this.browserCrypto);\n const reqCnfData = await popTokenGenerator.generateCnf(shrParameters);\n\n // to reduce the URL length, it is recommended to send the hash of the req_cnf instead of the whole string\n validatedRequest.reqCnf = reqCnfData.reqCnfHash;\n validatedRequest.keyId = reqCnfData.kid;\n }\n\n return validatedRequest;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;IAwB6C,2CAAqB;IAO9D,iCAAY,MAA4B,EAAE,cAAmC,EAAE,aAAsB,EAAE,MAAc,EAAE,YAA0B,EAAE,gBAAmC,EAAE,KAAY,EAAE,iBAAqC,EAAE,QAA8B,EAAE,SAAiB,EAAE,iBAAsC,EAAE,aAAsB;QAA9V,YACI,kBAAM,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,CAAC,SAMnI;QALG,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;QACrC,KAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;QAC9C,KAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;;KACxL;;;;;IAMK,8CAAY,GAAlB,UAAmB,OAAoD;;;;;;wBACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;wBAG9D,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,mCAAmC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;wBAC5I,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;wBAGtB,qBAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAA;;wBAA3D,aAAa,GAAG,SAA2C;;;;wBAI9C,qBAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAA;;wBAAzE,MAAM,GAAG,SAAgE;wBAC/E,mBAAmB,CAAC,cAAc,CAAC;4BAC/B,OAAO,EAAE,IAAI;4BACb,cAAc,EAAE,IAAI;4BACpB,SAAS,EAAE,IAAI;yBAClB,CAAC,CAAC;wBACH,sBAAO,MAAM,EAAC;;;;wBAGd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;;;wBAI7F,WAAW,GAA+B;4BAC5C,MAAM,EAAE,qBAAqB,CAAC,QAAQ;4BACtC,OAAO,EAAE,aAAa;yBACzB,CAAC;wBAEuB,qBAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAA;;wBAA3E,QAAQ,GAAW,SAAwD;wBAC3E,iBAAiB,GAAmB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;wBAEhF,sBAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,aAAa,EAAE,YAAY,CAAC;iCAC3E,IAAI,CAAC,UAAC,MAA4B;gCAC/B,mBAAmB,CAAC,cAAc,CAAC;oCAC/B,OAAO,EAAE,IAAI;oCACb,cAAc,EAAE,IAAI;oCACpB,SAAS,EAAE,MAAM,CAAC,SAAS;iCAC9B,CAAC,CAAC;gCACH,OAAO,MAAM,CAAC;6BACjB,CAAC;iCACD,KAAK,CAAC,UAAC,KAAgB;gCACpB,mBAAmB,CAAC,cAAc,CAAC;oCAC/B,OAAO,EAAE,KAAK;oCACd,SAAS,EAAE,KAAK,CAAC,SAAS;oCAC1B,YAAY,EAAE,KAAK,CAAC,QAAQ;oCAC5B,cAAc,EAAE,IAAI;iCACvB,CAAC,CAAC;gCACH,MAAM,KAAK,CAAC;6BACf,CAAC,EAAC;;;;KACV;;;;;;;IAQO,0DAAwB,GAAhC,UAAiC,OAA2B,EAAE,aAA0B;QACpF,OAAO;YACH,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;YACpD,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,KAAK;SACtB,CAAC;KACL;;;;;;;IAQe,wDAAsB,GAAtC,UAAuC,eAAuB,EAAE,OAA2B;;;;;;wBAGjF,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,uCAAuC,CAAC,eAAe,CAAC,CAAC;wBACnG,IAAI,CAAC,aAAa,EAAE;4BAChB,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;yBACrD;wBACK,OAAO,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;;;;wBAIrC,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBACvD,qBAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC,EAAA;;wBAAjE,MAAM,GAAG,SAAwD;wBACvE,sBAAO,MAAM,EAAC;;;wBAEd,MAAM,GAAC,CAAC;;;;;KAEf;;;;;IAMK,sDAAoB,GAA1B,UAA2B,OAAwB;;;;;;wBAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;wBACtD,qBAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAA;;wBAA3D,aAAa,GAAG,SAA2C;wBAE3D,WAAW,GAA+B;4BAC5C,MAAM,EAAE,qBAAqB,CAAC,QAAQ;4BACtC,OAAO,EAAE,aAAa;yBACzB,CAAC;;;;wBAG2B,qBAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAA;;wBAA3E,QAAQ,GAAW,SAAwD;wBACjF,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;;;;;wBAGtC,IAAI,GAAC,YAAY,eAAe,IAAI,GAAC,CAAC,OAAO,EAAE,EAAE;4BAC7C,MAAM,GAAC,CAAC;yBACX;;;wBAEL,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;wBAExG,iBAAiB,GAAsB;4BACzC,KAAK,EAAE,KAAK,CAAC,oBAAoB;4BACjC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB;4BACrD,SAAS,EAAE,KAAK;yBACnB,CAAC;wBACI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBACjI,qBAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAA;;wBAA5E,SAA4E,CAAC;;;;;KAChF;;;;IAKK,uDAAqB,GAA3B;;;;;;wBACI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;wBAC7E,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE;4BACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;4BAC1G,sBAAO,IAAI,EAAC;yBACf;wBAEK,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC;wBACnE,IAAI,CAAC,aAAa,EAAE;4BAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wGAAwG,CAAC,CAAC;4BAC9H,sBAAO,IAAI,EAAC;yBACf;wBAED,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;wBAElG,WAAW,GAA+B;4BAC5C,MAAM,EAAE,qBAAqB,CAAC,QAAQ;4BACtC,OAAO,EAAE,aAAa;yBACzB,CAAC;wBAEI,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;;;;wBAGxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mFAAmF,CAAC,CAAC;wBAChF,qBAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAA;;wBAA3E,QAAQ,GAAW,SAAwD;wBACjF,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;wBAChC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAA0B,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;wBAClG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;wBACpD,sBAAO,MAAM,EAAC;;;wBAEd,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;wBACpD,MAAM,GAAC,CAAC;;;;;KAEf;;;;;IAMD,wCAAM,GAAN;QACI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;KACvD;;;;;;;IAQe,sDAAoB,GAApC,UAAqC,QAAwB,EAAE,OAA2B,EAAE,YAAoB;;;;;;;wBAC5G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;wBAE5E,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,EAAE;;4BAE3C,MAAM,eAAe,CAAC,qBAAqB,EAAE,CAAC;yBACjD;wBAGK,UAAU,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;wBAGhF,qBAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAA;;wBAAhE,SAAS,GAAG,SAAoD;wBAChE,uBAAuB,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;wBAGxD,qBAAqB,GAAG,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,IAAI,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;wBAChL,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBAC1L,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;wBAGxC,cAAc,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAE3G,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;wBACtD,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC;wBAC3G,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC;wBAIzF,iBAAiB,GAAyB,oBAAoB,CAAC,MAAM,CAAC;wBAClE,KAAA,OAAO,CAAC,SAAS,CAAA;;iCAChB,oBAAoB,CAAC,GAAG,EAAxB,wBAAwB;;;;;wBAEzB,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC;;wBAG7C,IAAI,QAAQ,CAAC,GAAG,EAAE;4BACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;4BAChF,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAAC;4BACnC,wBAAM;yBACT;wBAGK,iBAAiB,GAAsB,IAAI,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBACjF,aAAa,GAAgC;4BAC/C,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;4BACpD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;yBAC7B,CAAC;;;;;wBAMF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BAChB,MAAM,eAAe,CAAC,uBAAuB,EAAE,CAAC;yBACnD;wBAEqB,qBAAM,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,EAAA;;wBAA/G,mBAAmB,GAAG,SAAyF,CAAC;wBAChH,wBAAM;;wBAID;4BACL,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC;yBAC/C;;;wBAGC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBAE1C,MAAM,GAAyB;4BACjC,SAAS,EAAE,SAAS,CAAC,kBAAkB;4BACvC,QAAQ,EAAE,GAAG;4BACb,QAAQ,EAAE,GAAG;4BACb,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE;4BAChC,OAAO,EAAE,aAAa,CAAC,cAAc,EAAE;4BACvC,OAAO,EAAE,QAAQ,CAAC,QAAQ;4BAC1B,aAAa,EAAE,UAAU,CAAC,MAAM;4BAChC,WAAW,EAAE,mBAAmB;4BAChC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,KAAK;4BACxD,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;4BACtE,SAAS,EAAE,iBAAiB;4BAC5B,aAAa,EAAE,IAAI,CAAC,aAAa;4BACjC,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,gBAAgB,EAAE,IAAI;yBACzB,CAAC;wBAGI,aAAa,GAAG,aAAa,CAAC,mBAAmB,CACnD,qBAAqB,EACrB,OAAO,CAAC,SAAS,EACjB,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC3C,OAAO,CAAC,QAAQ,EAChB,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,YAAY,CAClD,CAAC;wBACF,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;wBAGxD,SAAS,GAAW,CAAC,iBAAiB,KAAK,oBAAoB,CAAC,GAAG;8BACnE,SAAS,CAAC,kBAAkB;8BAC5B,CACE,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;kCACjC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;kCACjC,QAAQ,CAAC,UAAU,KACxB,CAAC,CAAC;wBACL,sBAAsB,GAAG,YAAY,GAAG,SAAS,CAAC;wBAClD,iBAAiB,GAAG,iBAAiB,CAAC,uBAAuB,CAC/D,qBAAqB,EACrB,OAAO,CAAC,SAAS,EACjB,mBAAmB,EACnB,OAAO,CAAC,QAAQ,EAChB,GAAG,EACH,cAAc,CAAC,WAAW,EAAE,EAC5B,sBAAsB,EACtB,CAAC,EACD,IAAI,CAAC,aAAa,CACrB,CAAC;wBACF,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;;wBAGtE,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,UAAC,CAAC;4BAC5D,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yEAAuE,CAAG,CAAC,CAAC;yBACjG,CAAC,CAAC;wBAEH,sBAAO,MAAM,EAAC;;;;KACjB;;;;;IAMO,wDAAsB,GAA9B,UAA+B,QAAgB;QAC3C,IACI,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;YACvC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;YACnC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;YACtC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;YAClC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;YAChC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,EACvC;YACE,OAAO,QAA0B,CAAC;SACrC;aAAM;YACH,MAAM,eAAe,CAAC,qBAAqB,CAAC,uCAAuC,CAAC,CAAC;SACxF;KACJ;;;;;;IAOO,qDAAmB,GAA3B,UAA4B,QAAwB;QAChD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;YAC1B,IAAI;gBACA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;aACvG;SACJ;QAED,OAAO,IAAI,CAAC;KACf;;;;;;IAOO,qDAAmB,GAA3B,UAA4B,IAAU;QAClC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gIAAgI,CAAC,CAAC;YACtJ,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;KAC3B;;;;;IAMe,yDAAuB,GAAvC,UAAwC,OAAsC;;;;;;;wBAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;wBAExE,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5D,kBAAkB,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;wBACpD,kBAAkB,CAAC,aAAa,EAAE,CAAC;wBAG3B,MAAM,GAA6B,OAAO,OAApC,EAAK,mBAAmB,UAAK,OAAO,EAA5C,UAAkC,CAAF,CAAa;wBAC7C,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;wBAC5C,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;wBAErC,SAAS,GAAG;;4BAEd,QAAQ,KAAI,CAAC,KAAK;gCACd,KAAK,KAAK,CAAC,SAAS,CAAC;gCACrB,KAAK,KAAK,CAAC,6BAA6B;oCACpC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;oCACjF,OAAO,WAAW,CAAC,IAAI,CAAC;6BAG/B;;4BAGD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gCACjB,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gCACtE,OAAO,SAAS,CAAC;6BACpB;;4BAGD,QAAQ,OAAO,CAAC,MAAM;gCAClB,KAAK,WAAW,CAAC,IAAI,CAAC;gCACtB,KAAK,WAAW,CAAC,OAAO,CAAC;gCACzB,KAAK,WAAW,CAAC,KAAK;oCAClB,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;oCACpF,OAAO,OAAO,CAAC,MAAM,CAAC;gCAC1B;oCACI,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAqC,OAAO,CAAC,MAAM,wCAAqC,CAAC,CAAC;oCAC5G,MAAM,gBAAgB,CAAC,4CAA4C,EAAE,CAAC;6BAC7E;yBACJ,CAAC;wBAEI,gBAAgB,yBACf,mBAAmB,KACtB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EACnC,SAAS,EAAE,kBAAkB,CAAC,SAAS,EACvC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,EAC7B,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,EACrD,MAAM,EAAE,SAAS,EAAE,EACnB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,SAAS,EAAE,OAAO,CAAC,oBAAoB,EACvC,oBAAoB,EAAE,QAAQ,CAAC,KAAK,EACpC,eAAe,iCACR,OAAO,CAAC,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,KAC/B,SAAS,EAAE,eAAe,CAAC,cAAc,KAE7C,mBAAmB,EAAE,KAAK;2BAC7B,CAAC;8BAEE,OAAO,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,GAAG,CAAA,EAAzD,wBAAyD;wBAGnD,aAAa,GAAgC;4BAC/C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;4BACpD,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;yBAC7B,CAAC;wBAEI,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBACjD,qBAAM,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAA;;wBAA/D,UAAU,GAAG,SAAkD;;wBAGrE,gBAAgB,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;wBAChD,gBAAgB,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;;4BAG5C,sBAAO,gBAAgB,EAAC;;;;KAC3B;IACL,8BAAC;AAAD,CA/cA,CAA6C,qBAAqB;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { OIDC_DEFAULT_SCOPES, StringUtils, UrlString, Constants, AuthError, ThrottlingUtils, ProtocolUtils, PerformanceEvents } from '@azure/msal-common';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { UrlString, AuthError, Constants, ThrottlingUtils, ProtocolUtils } from '@azure/msal-common';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentCacheClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentCacheClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"SilentCacheClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentCacheClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAgC,MAAM,oBAAoB,CAAC;AAC3L,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,qBAAa,iBAAkB,SAAQ,yBAAyB;IAC5D;;;OAGG;IACG,YAAY,CAAC,aAAa,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA6BzF;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB;;;;OAIG;cACa,sBAAsB,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMzK,uBAAuB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAQhH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { StandardInteractionClient } from './StandardInteractionClient.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentCacheClient.js","sources":["../../src/interaction_client/SilentCacheClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { CommonSilentFlowRequest, AuthenticationResult, SilentFlowClient, ServerTelemetryManager, AccountInfo, AzureCloudOptions, PerformanceEvents, AuthError} from \"@azure/msal-common\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { ApiId } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError, BrowserAuthErrorMessage } from \"../error/BrowserAuthError\";\n\nexport class SilentCacheClient extends StandardInteractionClient {\n /**\n * Returns unexpired tokens from the cache, if available\n * @param silentRequest\n */\n async acquireToken(silentRequest: CommonSilentFlowRequest): Promise<AuthenticationResult> {\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentCacheClientAcquireToken, silentRequest.correlationId);\n // Telemetry manager only used to increment cacheHits here\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\n\n const silentAuthClient = await this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Silent auth client created\");\n\n try {\n const cachedToken = await silentAuthClient.acquireCachedToken(silentRequest);\n\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: true\n });\n return cachedToken;\n } catch (error) {\n if (error instanceof BrowserAuthError && error.errorCode === BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {\n this.logger.verbose(\"Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.\");\n }\n acquireTokenMeasurement.endMeasurement({\n errorCode: error instanceof AuthError && error.errorCode || undefined,\n subErrorCode: error instanceof AuthError && error.subError || undefined,\n success: false\n });\n throw error;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise<void> {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Creates an Silent Flow Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createSilentFlowClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise<SilentFlowClient> {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);\n return new SilentFlowClient(clientConfig, this.performanceClient);\n }\n\n async initializeSilentRequest(request: SilentRequest, account: AccountInfo): Promise<CommonSilentFlowRequest> {\n return {\n ...request,\n ...await this.initializeBaseRequest(request),\n account: account,\n forceRefresh: request.forceRefresh || false\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;;;;;IAWuC,qCAAyB;IAAhE;;KA6DC;;;;;IAxDS,wCAAY,GAAlB,UAAmB,aAAsC;;;;;;wBAC/C,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;wBAEhJ,sBAAsB,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;wBAEjF,qBAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAAA;;wBAAtI,gBAAgB,GAAG,SAAmH;wBAC5I,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;;;;wBAG1B,qBAAM,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAA;;wBAAtE,WAAW,GAAG,SAAwD;wBAE5E,uBAAuB,CAAC,cAAc,CAAC;4BACnC,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,IAAI;yBAClB,CAAC,CAAC;wBACH,sBAAO,WAAW,EAAC;;;wBAEnB,IAAI,OAAK,YAAY,gBAAgB,IAAI,OAAK,CAAC,SAAS,KAAK,uBAAuB,CAAC,2BAA2B,CAAC,IAAI,EAAE;4BACnH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sHAAsH,CAAC,CAAC;yBAC/I;wBACD,uBAAuB,CAAC,cAAc,CAAC;4BACnC,SAAS,EAAE,OAAK,YAAY,SAAS,IAAI,OAAK,CAAC,SAAS,IAAI,SAAS;4BACrE,YAAY,EAAE,OAAK,YAAY,SAAS,IAAI,OAAK,CAAC,QAAQ,IAAI,SAAS;4BACvE,OAAO,EAAE,KAAK;yBACjB,CAAC,CAAC;wBACH,MAAM,OAAK,CAAC;;;;;KAEnB;;;;IAKD,kCAAM,GAAN;;QAEI,OAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,kCAAkC,EAAE,CAAC,CAAC;KAChF;;;;;;IAOe,kDAAsB,GAAtC,UAAuC,sBAA8C,EAAE,YAAqB,EAAE,iBAAqC;;;;;4BAE1H,qBAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAA;;wBAAzG,YAAY,GAAG,SAA0F;wBAC/G,sBAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAC;;;;KACrE;IAEK,mDAAuB,GAA7B,UAA8B,OAAsB,EAAE,OAAoB;;;;;;2CAE/D,OAAO;wBACP,qBAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAA;4BAFhD,gFAEO,SAAyC,OAC5C,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK,MAC7C;;;;KACL;IACL,wBAAC;AAAD,CA7DA,CAAuC,yBAAyB;;;;"}
|
|
1
|
+
{"version":3,"file":"SilentCacheClient.js","sources":["../../src/interaction_client/SilentCacheClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { CommonSilentFlowRequest, AuthenticationResult, SilentFlowClient, ServerTelemetryManager, AccountInfo, AzureCloudOptions, PerformanceEvents, AuthError } from \"@azure/msal-common\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { ApiId } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError, BrowserAuthErrorMessage } from \"../error/BrowserAuthError\";\n\nexport class SilentCacheClient extends StandardInteractionClient {\n /**\n * Returns unexpired tokens from the cache, if available\n * @param silentRequest\n */\n async acquireToken(silentRequest: CommonSilentFlowRequest): Promise<AuthenticationResult> {\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentCacheClientAcquireToken, silentRequest.correlationId);\n // Telemetry manager only used to increment cacheHits here\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\n\n const silentAuthClient = await this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Silent auth client created\");\n\n try {\n const cachedToken = await silentAuthClient.acquireCachedToken(silentRequest);\n\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: true\n });\n return cachedToken;\n } catch (error) {\n if (error instanceof BrowserAuthError && error.errorCode === BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {\n this.logger.verbose(\"Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.\");\n }\n acquireTokenMeasurement.endMeasurement({\n errorCode: error instanceof AuthError && error.errorCode || undefined,\n subErrorCode: error instanceof AuthError && error.subError || undefined,\n success: false\n });\n throw error;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise<void> {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Creates an Silent Flow Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createSilentFlowClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise<SilentFlowClient> {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);\n return new SilentFlowClient(clientConfig, this.performanceClient);\n }\n\n async initializeSilentRequest(request: SilentRequest, account: AccountInfo): Promise<CommonSilentFlowRequest> {\n return {\n ...request,\n ...await this.initializeBaseRequest(request),\n account: account,\n forceRefresh: request.forceRefresh || false\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;;;;;IAWuC,qCAAyB;IAAhE;;KA6DC;;;;;IAxDS,wCAAY,GAAlB,UAAmB,aAAsC;;;;;;wBAC/C,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;wBAEhJ,sBAAsB,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;wBAEjF,qBAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAAA;;wBAAtI,gBAAgB,GAAG,SAAmH;wBAC5I,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;;;;wBAG1B,qBAAM,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAA;;wBAAtE,WAAW,GAAG,SAAwD;wBAE5E,uBAAuB,CAAC,cAAc,CAAC;4BACnC,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,IAAI;yBAClB,CAAC,CAAC;wBACH,sBAAO,WAAW,EAAC;;;wBAEnB,IAAI,OAAK,YAAY,gBAAgB,IAAI,OAAK,CAAC,SAAS,KAAK,uBAAuB,CAAC,2BAA2B,CAAC,IAAI,EAAE;4BACnH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sHAAsH,CAAC,CAAC;yBAC/I;wBACD,uBAAuB,CAAC,cAAc,CAAC;4BACnC,SAAS,EAAE,OAAK,YAAY,SAAS,IAAI,OAAK,CAAC,SAAS,IAAI,SAAS;4BACrE,YAAY,EAAE,OAAK,YAAY,SAAS,IAAI,OAAK,CAAC,QAAQ,IAAI,SAAS;4BACvE,OAAO,EAAE,KAAK;yBACjB,CAAC,CAAC;wBACH,MAAM,OAAK,CAAC;;;;;KAEnB;;;;IAKD,kCAAM,GAAN;;QAEI,OAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,kCAAkC,EAAE,CAAC,CAAC;KAChF;;;;;;IAOe,kDAAsB,GAAtC,UAAuC,sBAA8C,EAAE,YAAqB,EAAE,iBAAqC;;;;;4BAE1H,qBAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAA;;wBAAzG,YAAY,GAAG,SAA0F;wBAC/G,sBAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAC;;;;KACrE;IAEK,mDAAuB,GAA7B,UAA8B,OAAsB,EAAE,OAAoB;;;;;;2CAE/D,OAAO;wBACP,qBAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAA;4BAFhD,gFAEO,SAAyC,OAC5C,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK,MAC7C;;;;KACL;IACL,wBAAC;AAAD,CA7DA,CAAuC,yBAAyB;;;;"}
|
|
@@ -13,7 +13,7 @@ export declare class SilentIframeClient extends StandardInteractionClient {
|
|
|
13
13
|
protected nativeStorage: BrowserCacheManager;
|
|
14
14
|
constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, nativeMessageHandler?: NativeMessageHandler, correlationId?: string);
|
|
15
15
|
/**
|
|
16
|
-
* Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none
|
|
16
|
+
* Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session
|
|
17
17
|
* @param request
|
|
18
18
|
*/
|
|
19
19
|
acquireToken(request: SsoSilentRequest): Promise<AuthenticationResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentIframeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentIframeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAA4D,uBAAuB,EAAmF,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AACtR,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAmB,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAGnF,qBAAa,kBAAmB,SAAQ,yBAAyB;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC;gBAEjC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,aAAa,CAAC,EAAE,MAAM;IAMrV;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SilentIframeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentIframeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAA4D,uBAAuB,EAAmF,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AACtR,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAmB,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAGnF,qBAAa,kBAAmB,SAAQ,yBAAyB;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC;gBAEjC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,aAAa,CAAC,EAAE,MAAM;IAMrV;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqD5E;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB;;;;;OAKG;cACa,iBAAiB,CAAC,UAAU,EAAE,uBAAuB,EAAE,aAAa,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAqChJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { AuthError, Constants, PerformanceEvents, StringUtils, PromptValue, UrlString, ProtocolUtils } from '@azure/msal-common';
|
|
@@ -22,7 +22,7 @@ var SilentIframeClient = /** @class */ (function (_super) {
|
|
|
22
22
|
return _this;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none
|
|
25
|
+
* Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session
|
|
26
26
|
* @param request
|
|
27
27
|
*/
|
|
28
28
|
SilentIframeClient.prototype.acquireToken = function (request) {
|
|
@@ -37,14 +37,14 @@ var SilentIframeClient = /** @class */ (function (_super) {
|
|
|
37
37
|
if (StringUtils.isEmpty(request.loginHint) && StringUtils.isEmpty(request.sid) && (!request.account || StringUtils.isEmpty(request.account.username))) {
|
|
38
38
|
this.logger.warning("No user hint provided. The authorization server may need more information to complete this request.");
|
|
39
39
|
}
|
|
40
|
-
// Check that prompt is set to none, throw error if it is set to anything else.
|
|
41
|
-
if (request.prompt && request.prompt !== PromptValue.NONE) {
|
|
40
|
+
// Check that prompt is set to none or no_session, throw error if it is set to anything else.
|
|
41
|
+
if (request.prompt && (request.prompt !== PromptValue.NONE) && (request.prompt !== PromptValue.NO_SESSION)) {
|
|
42
42
|
acquireTokenMeasurement.endMeasurement({
|
|
43
43
|
success: false
|
|
44
44
|
});
|
|
45
45
|
throw BrowserAuthError.createSilentPromptValueError(request.prompt);
|
|
46
46
|
}
|
|
47
|
-
return [4 /*yield*/, this.initializeAuthorizationRequest(__assign(__assign({}, request), { prompt: PromptValue.NONE }), InteractionType.Silent)];
|
|
47
|
+
return [4 /*yield*/, this.initializeAuthorizationRequest(__assign(__assign({}, request), { prompt: request.prompt || PromptValue.NONE }), InteractionType.Silent)];
|
|
48
48
|
case 1:
|
|
49
49
|
silentRequest = _a.sent();
|
|
50
50
|
this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);
|
|
@@ -59,7 +59,8 @@ var SilentIframeClient = /** @class */ (function (_super) {
|
|
|
59
59
|
return [4 /*yield*/, this.silentTokenHelper(authClient, silentRequest).then(function (result) {
|
|
60
60
|
acquireTokenMeasurement.endMeasurement({
|
|
61
61
|
success: true,
|
|
62
|
-
fromCache: false
|
|
62
|
+
fromCache: false,
|
|
63
|
+
requestId: result.requestId
|
|
63
64
|
});
|
|
64
65
|
return result;
|
|
65
66
|
})];
|
|
@@ -123,7 +124,7 @@ var SilentIframeClient = /** @class */ (function (_super) {
|
|
|
123
124
|
}
|
|
124
125
|
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, this.correlationId);
|
|
125
126
|
userRequestState = ProtocolUtils.parseRequestState(this.browserCrypto, state).userRequestState;
|
|
126
|
-
return [2 /*return*/, nativeInteractionClient.acquireToken(__assign(__assign({}, silentRequest), { state: userRequestState, prompt: PromptValue.NONE })).finally(function () {
|
|
127
|
+
return [2 /*return*/, nativeInteractionClient.acquireToken(__assign(__assign({}, silentRequest), { state: userRequestState, prompt: silentRequest.prompt || PromptValue.NONE })).finally(function () {
|
|
127
128
|
_this.browserStorage.cleanRequestByState(state);
|
|
128
129
|
})];
|
|
129
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentIframeClient.js","sources":["../../src/interaction_client/SilentIframeClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, ICrypto, Logger, StringUtils, PromptValue, CommonAuthorizationCodeRequest, AuthorizationCodeClient, AuthError, Constants, UrlString, ServerAuthorizationCodeResponse, ProtocolUtils, IPerformanceClient, PerformanceEvents } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { AuthorizationUrlRequest } from \"../request/AuthorizationUrlRequest\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { InteractionType, ApiId } from \"../utils/BrowserConstants\";\nimport { SilentHandler } from \"../interaction_handler/SilentHandler\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { NativeInteractionClient } from \"./NativeInteractionClient\";\n\nexport class SilentIframeClient extends StandardInteractionClient {\n protected apiId: ApiId;\n protected nativeStorage: BrowserCacheManager;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, nativeMessageHandler?: NativeMessageHandler, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);\n this.apiId = apiId;\n this.nativeStorage = nativeStorageImpl;\n }\n\n /**\n * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none\n * @param request\n */\n async acquireToken(request: SsoSilentRequest): Promise<AuthenticationResult> {\n this.logger.verbose(\"acquireTokenByIframe called\");\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);\n // Check that we have some SSO data\n if (StringUtils.isEmpty(request.loginHint) && StringUtils.isEmpty(request.sid) && (!request.account || StringUtils.isEmpty(request.account.username))) {\n this.logger.warning(\"No user hint provided. The authorization server may need more information to complete this request.\");\n }\n\n // Check that prompt is set to none, throw error if it is set to anything else.\n if (request.prompt && request.prompt !== PromptValue.NONE) {\n acquireTokenMeasurement.endMeasurement({\n success: false\n });\n throw BrowserAuthError.createSilentPromptValueError(request.prompt);\n }\n\n // Create silent request\n const silentRequest: AuthorizationUrlRequest = await this.initializeAuthorizationRequest({\n ...request,\n prompt: PromptValue.NONE\n }, InteractionType.Silent);\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);\n\n const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\n\n try {\n // Initialize the client\n const authClient: AuthorizationCodeClient = await this.createAuthCodeClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Auth code client created\");\n\n return await this.silentTokenHelper(authClient, silentRequest).then((result: AuthenticationResult) => {\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: false\n });\n return result;\n });\n } catch (e) {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(silentRequest.state);\n acquireTokenMeasurement.endMeasurement({\n errorCode: e instanceof AuthError && e.errorCode || undefined,\n subErrorCode: e instanceof AuthError && e.subError || undefined,\n success: false\n });\n throw e;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise<void> {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Helper which acquires an authorization code silently using a hidden iframe from given url\n * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.\n * @param navigateUrl\n * @param userRequestScopes\n */\n protected async silentTokenHelper(authClient: AuthorizationCodeClient, silentRequest: AuthorizationUrlRequest): Promise<AuthenticationResult> {\n // Create auth code request and generate PKCE params\n const authCodeRequest: CommonAuthorizationCodeRequest = await this.initializeAuthorizationCodeRequest(silentRequest);\n // Create authorize request url\n const navigateUrl = await authClient.getAuthCodeUrl({\n ...silentRequest,\n nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme)\n });\n // Create silent handler\n const silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system.navigateFrameWait);\n // Get the frame handle for the silent request\n const msalFrame = await silentHandler.initiateAuthRequest(navigateUrl);\n // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.\n const hash = await silentHandler.monitorIframeForHash(msalFrame, this.config.system.iframeHashTimeout);\n // Deserialize hash fragment response parameters.\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n const state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Silent, authCodeRequest.correlationId);\n\n if (serverParams.accountId) {\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\n if (!this.nativeMessageHandler) {\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\n }\n 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, this.correlationId);\n const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, state);\n return nativeInteractionClient.acquireToken({\n ...silentRequest,\n state: userRequestState,\n prompt: PromptValue.NONE\n }).finally(() => {\n this.browserStorage.cleanRequestByState(state);\n });\n }\n\n // Handle response from hash string\n return silentHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SilentIframeClient.js","sources":["../../src/interaction_client/SilentIframeClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, ICrypto, Logger, StringUtils, PromptValue, CommonAuthorizationCodeRequest, AuthorizationCodeClient, AuthError, Constants, UrlString, ServerAuthorizationCodeResponse, ProtocolUtils, IPerformanceClient, PerformanceEvents } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { AuthorizationUrlRequest } from \"../request/AuthorizationUrlRequest\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { InteractionType, ApiId } from \"../utils/BrowserConstants\";\nimport { SilentHandler } from \"../interaction_handler/SilentHandler\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { NativeInteractionClient } from \"./NativeInteractionClient\";\n\nexport class SilentIframeClient extends StandardInteractionClient {\n protected apiId: ApiId;\n protected nativeStorage: BrowserCacheManager;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, nativeMessageHandler?: NativeMessageHandler, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);\n this.apiId = apiId;\n this.nativeStorage = nativeStorageImpl;\n }\n\n /**\n * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session\n * @param request\n */\n async acquireToken(request: SsoSilentRequest): Promise<AuthenticationResult> {\n this.logger.verbose(\"acquireTokenByIframe called\");\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);\n // Check that we have some SSO data\n if (StringUtils.isEmpty(request.loginHint) && StringUtils.isEmpty(request.sid) && (!request.account || StringUtils.isEmpty(request.account.username))) {\n this.logger.warning(\"No user hint provided. The authorization server may need more information to complete this request.\");\n }\n\n // Check that prompt is set to none or no_session, throw error if it is set to anything else.\n if (request.prompt && (request.prompt !== PromptValue.NONE) && (request.prompt !== PromptValue.NO_SESSION)) {\n acquireTokenMeasurement.endMeasurement({\n success: false\n });\n throw BrowserAuthError.createSilentPromptValueError(request.prompt);\n }\n\n // Create silent request\n const silentRequest: AuthorizationUrlRequest = await this.initializeAuthorizationRequest({\n ...request,\n prompt: request.prompt || PromptValue.NONE\n }, InteractionType.Silent);\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);\n\n const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\n\n try {\n // Initialize the client\n const authClient: AuthorizationCodeClient = await this.createAuthCodeClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Auth code client created\");\n\n return await this.silentTokenHelper(authClient, silentRequest).then((result: AuthenticationResult) => {\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: false,\n requestId: result.requestId\n });\n return result;\n });\n } catch (e) {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(silentRequest.state);\n acquireTokenMeasurement.endMeasurement({\n errorCode: e instanceof AuthError && e.errorCode || undefined,\n subErrorCode: e instanceof AuthError && e.subError || undefined,\n success: false\n });\n throw e;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise<void> {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Helper which acquires an authorization code silently using a hidden iframe from given url\n * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.\n * @param navigateUrl\n * @param userRequestScopes\n */\n protected async silentTokenHelper(authClient: AuthorizationCodeClient, silentRequest: AuthorizationUrlRequest): Promise<AuthenticationResult> {\n // Create auth code request and generate PKCE params\n const authCodeRequest: CommonAuthorizationCodeRequest = await this.initializeAuthorizationCodeRequest(silentRequest);\n // Create authorize request url\n const navigateUrl = await authClient.getAuthCodeUrl({\n ...silentRequest,\n nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme)\n });\n // Create silent handler\n const silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system.navigateFrameWait);\n // Get the frame handle for the silent request\n const msalFrame = await silentHandler.initiateAuthRequest(navigateUrl);\n // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.\n const hash = await silentHandler.monitorIframeForHash(msalFrame, this.config.system.iframeHashTimeout);\n // Deserialize hash fragment response parameters.\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n const state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Silent, authCodeRequest.correlationId);\n\n if (serverParams.accountId) {\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\n if (!this.nativeMessageHandler) {\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\n }\n 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, this.correlationId);\n const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, state);\n return nativeInteractionClient.acquireToken({\n ...silentRequest,\n state: userRequestState,\n prompt: silentRequest.prompt || PromptValue.NONE\n }).finally(() => {\n this.browserStorage.cleanRequestByState(state);\n });\n }\n\n // Handle response from hash string\n return silentHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentRefreshClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentRefreshClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAAa,iBAAiB,EAAqB,MAAM,oBAAoB,CAAC;AAIhL,qBAAa,mBAAoB,SAAQ,yBAAyB;IAC9D;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SilentRefreshClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentRefreshClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAAa,iBAAiB,EAAqB,MAAM,oBAAoB,CAAC;AAIhL,qBAAa,mBAAoB,SAAQ,yBAAyB;IAC9D;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmCnF;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB;;;;OAIG;cACa,wBAAwB,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAKtL"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { StandardInteractionClient } from './StandardInteractionClient.js';
|
|
@@ -41,7 +41,8 @@ var SilentRefreshClient = /** @class */ (function (_super) {
|
|
|
41
41
|
.then(function (result) {
|
|
42
42
|
acquireTokenMeasurement.endMeasurement({
|
|
43
43
|
success: true,
|
|
44
|
-
fromCache: result.fromCache
|
|
44
|
+
fromCache: result.fromCache,
|
|
45
|
+
requestId: result.requestId
|
|
45
46
|
});
|
|
46
47
|
return result;
|
|
47
48
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentRefreshClient.js","sources":["../../src/interaction_client/SilentRefreshClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { CommonSilentFlowRequest, AuthenticationResult, ServerTelemetryManager, RefreshTokenClient, AuthError, AzureCloudOptions, PerformanceEvents } from \"@azure/msal-common\";\nimport { ApiId } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\n\nexport class SilentRefreshClient extends StandardInteractionClient {\n /**\n * Exchanges the refresh token for new tokens\n * @param request\n */\n async acquireToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult> {\n const silentRequest: CommonSilentFlowRequest = {\n ...request,\n ...await this.initializeBaseRequest(request)\n };\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentRefreshClientAcquireToken, silentRequest.correlationId);\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\n\n const refreshTokenClient = await this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Refresh token client created\");\n // Send request to renew token. Auth module will throw errors if token cannot be renewed.\n return refreshTokenClient.acquireTokenByRefreshToken(silentRequest)\n .then((result: AuthenticationResult) => {\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: result.fromCache\n });\n\n return result;\n })\n .catch((e: AuthError) => {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n acquireTokenMeasurement.endMeasurement({\n errorCode: e.errorCode,\n subErrorCode: e.subError,\n success: false\n });\n throw e;\n });\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise<void> {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Creates a Refresh Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createRefreshTokenClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise<RefreshTokenClient> {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);\n return new RefreshTokenClient(clientConfig, this.performanceClient);\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;;;;;IAUyC,uCAAyB;IAAlE;;
|
|
1
|
+
{"version":3,"file":"SilentRefreshClient.js","sources":["../../src/interaction_client/SilentRefreshClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { CommonSilentFlowRequest, AuthenticationResult, ServerTelemetryManager, RefreshTokenClient, AuthError, AzureCloudOptions, PerformanceEvents } from \"@azure/msal-common\";\nimport { ApiId } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\n\nexport class SilentRefreshClient extends StandardInteractionClient {\n /**\n * Exchanges the refresh token for new tokens\n * @param request\n */\n async acquireToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult> {\n const silentRequest: CommonSilentFlowRequest = {\n ...request,\n ...await this.initializeBaseRequest(request)\n };\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentRefreshClientAcquireToken, silentRequest.correlationId);\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\n\n const refreshTokenClient = await this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Refresh token client created\");\n // Send request to renew token. Auth module will throw errors if token cannot be renewed.\n return refreshTokenClient.acquireTokenByRefreshToken(silentRequest)\n .then((result: AuthenticationResult) => {\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: result.fromCache,\n requestId: result.requestId\n });\n\n return result;\n })\n .catch((e: AuthError) => {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n acquireTokenMeasurement.endMeasurement({\n errorCode: e.errorCode,\n subErrorCode: e.subError,\n success: false\n });\n throw e;\n });\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise<void> {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Creates a Refresh Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createRefreshTokenClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise<RefreshTokenClient> {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);\n return new RefreshTokenClient(clientConfig, this.performanceClient);\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;;;;;IAUyC,uCAAyB;IAAlE;;KA0DC;;;;;IArDS,0CAAY,GAAlB,UAAmB,OAAgC;;;;;;;2CAExC,OAAO;wBACP,qBAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAA;;wBAF1C,aAAa,qCAEZ,SAAyC,GAC/C;wBACK,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,+BAA+B,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;wBAClJ,sBAAsB,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;wBAE/E,qBAAM,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,EAAE,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAAA;;wBAA1I,kBAAkB,GAAG,SAAqH;wBAChJ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;;wBAEpD,sBAAO,kBAAkB,CAAC,0BAA0B,CAAC,aAAa,CAAC;iCAC9D,IAAI,CAAC,UAAC,MAA4B;gCAC/B,uBAAuB,CAAC,cAAc,CAAC;oCACnC,OAAO,EAAE,IAAI;oCACb,SAAS,EAAE,MAAM,CAAC,SAAS;oCAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;iCAC9B,CAAC,CAAC;gCAEH,OAAO,MAAM,CAAC;6BACjB,CAAC;iCACD,KAAK,CAAC,UAAC,CAAY;gCAChB,IAAI,CAAC,YAAY,SAAS,EAAE;oCACvB,CAAe,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;iCACzD;gCACD,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gCAC7C,uBAAuB,CAAC,cAAc,CAAC;oCACnC,SAAS,EAAE,CAAC,CAAC,SAAS;oCACtB,YAAY,EAAE,CAAC,CAAC,QAAQ;oCACxB,OAAO,EAAE,KAAK;iCACjB,CAAC,CAAC;gCACH,MAAM,CAAC,CAAC;6BACX,CAAC,EAAC;;;;KACV;;;;IAKD,oCAAM,GAAN;;QAEI,OAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,kCAAkC,EAAE,CAAC,CAAC;KAChF;;;;;;IAOe,sDAAwB,GAAxC,UAAyC,sBAA8C,EAAE,YAAqB,EAAE,iBAAqC;;;;;4BAE5H,qBAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAA;;wBAAzG,YAAY,GAAG,SAA0F;wBAC/G,sBAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAC;;;;KACvE;IACL,0BAAC;AAAD,CA1DA,CAAyC,yBAAyB;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';
|
|
4
4
|
import { UrlString, Constants, AuthorizationCodeClient, PerformanceEvents, Authority, AuthorityFactory, ResponseMode, StringUtils, ProtocolUtils } from '@azure/msal-common';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
4
4
|
import { StringUtils, ClientAuthError, ServerError, AuthorityFactory } from '@azure/msal-common';
|
package/dist/internals.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
export { BrowserCacheManager } from './cache/BrowserCacheManager.js';
|
|
4
4
|
export { StandardInteractionClient } from './interaction_client/StandardInteractionClient.js';
|
package/dist/packageMetadata.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.29.0 2022-10-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
/* eslint-disable header/header */
|
|
4
4
|
var name = "@azure/msal-browser";
|
|
5
|
-
var version = "2.
|
|
5
|
+
var version = "2.29.0";
|
|
6
6
|
|
|
7
7
|
export { name, version };
|
|
8
8
|
//# sourceMappingURL=packageMetadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageMetadata.js","sources":["../src/packageMetadata.ts"],"sourcesContent":["/* eslint-disable header/header */\nexport const name = \"@azure/msal-browser\";\nexport const version = \"2.
|
|
1
|
+
{"version":3,"file":"packageMetadata.js","sources":["../src/packageMetadata.ts"],"sourcesContent":["/* eslint-disable header/header */\nexport const name = \"@azure/msal-browser\";\nexport const version = \"2.29.0\";\n"],"names":[],"mappings":";;AAAA;IACa,IAAI,GAAG,sBAAsB;IAC7B,OAAO,GAAG;;;;"}
|