@azure/msal-browser 2.28.3 → 2.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +1 -1
  2. package/dist/_virtual/_tslib.js +1 -1
  3. package/dist/app/ClientApplication.d.ts +19 -10
  4. package/dist/app/ClientApplication.d.ts.map +1 -1
  5. package/dist/app/ClientApplication.js +67 -66
  6. package/dist/app/ClientApplication.js.map +1 -1
  7. package/dist/app/IPublicClientApplication.js +1 -1
  8. package/dist/app/PublicClientApplication.d.ts.map +1 -1
  9. package/dist/app/PublicClientApplication.js +35 -10
  10. package/dist/app/PublicClientApplication.js.map +1 -1
  11. package/dist/broker/nativeBroker/NativeMessageHandler.js +1 -1
  12. package/dist/cache/AsyncMemoryStorage.js +1 -1
  13. package/dist/cache/BrowserCacheManager.js +1 -1
  14. package/dist/cache/BrowserStorage.js +1 -1
  15. package/dist/cache/CryptoKeyStore.js +1 -1
  16. package/dist/cache/DatabaseStorage.js +1 -1
  17. package/dist/cache/ITokenCache.d.ts +6 -3
  18. package/dist/cache/ITokenCache.d.ts.map +1 -1
  19. package/dist/cache/MemoryStorage.js +1 -1
  20. package/dist/cache/TokenCache.d.ts +33 -5
  21. package/dist/cache/TokenCache.d.ts.map +1 -1
  22. package/dist/cache/TokenCache.js +121 -20
  23. package/dist/cache/TokenCache.js.map +1 -1
  24. package/dist/config/Configuration.d.ts +20 -0
  25. package/dist/config/Configuration.d.ts.map +1 -1
  26. package/dist/config/Configuration.js +6 -3
  27. package/dist/config/Configuration.js.map +1 -1
  28. package/dist/crypto/BrowserCrypto.d.ts +19 -59
  29. package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
  30. package/dist/crypto/BrowserCrypto.js +65 -180
  31. package/dist/crypto/BrowserCrypto.js.map +1 -1
  32. package/dist/crypto/CryptoOps.d.ts +2 -1
  33. package/dist/crypto/CryptoOps.d.ts.map +1 -1
  34. package/dist/crypto/CryptoOps.js +5 -5
  35. package/dist/crypto/CryptoOps.js.map +1 -1
  36. package/dist/crypto/GuidGenerator.js +1 -1
  37. package/dist/crypto/ISubtleCrypto.d.ts +10 -0
  38. package/dist/crypto/ISubtleCrypto.d.ts.map +1 -0
  39. package/dist/crypto/ModernBrowserCrypto.d.ts +10 -0
  40. package/dist/crypto/ModernBrowserCrypto.d.ts.map +1 -0
  41. package/dist/crypto/ModernBrowserCrypto.js +55 -0
  42. package/dist/crypto/ModernBrowserCrypto.js.map +1 -0
  43. package/dist/crypto/MsBrowserCrypto.d.ts +10 -0
  44. package/dist/crypto/MsBrowserCrypto.d.ts.map +1 -0
  45. package/dist/crypto/MsBrowserCrypto.js +112 -0
  46. package/dist/crypto/MsBrowserCrypto.js.map +1 -0
  47. package/dist/crypto/MsrBrowserCrypto.d.ts +18 -0
  48. package/dist/crypto/MsrBrowserCrypto.d.ts.map +1 -0
  49. package/dist/crypto/MsrBrowserCrypto.js +59 -0
  50. package/dist/crypto/MsrBrowserCrypto.js.map +1 -0
  51. package/dist/crypto/PkceGenerator.js +1 -1
  52. package/dist/crypto/SignedHttpRequest.js +1 -1
  53. package/dist/encode/Base64Decode.js +1 -1
  54. package/dist/encode/Base64Encode.js +1 -1
  55. package/dist/error/BrowserAuthError.js +2 -2
  56. package/dist/error/BrowserAuthError.js.map +1 -1
  57. package/dist/error/BrowserConfigurationAuthError.d.ts +8 -0
  58. package/dist/error/BrowserConfigurationAuthError.d.ts.map +1 -1
  59. package/dist/error/BrowserConfigurationAuthError.js +11 -1
  60. package/dist/error/BrowserConfigurationAuthError.js.map +1 -1
  61. package/dist/error/NativeAuthError.js +1 -1
  62. package/dist/event/EventHandler.js +1 -1
  63. package/dist/event/EventMessage.js +1 -1
  64. package/dist/event/EventType.js +1 -1
  65. package/dist/index.cjs.js +767 -376
  66. package/dist/index.cjs.js.map +1 -1
  67. package/dist/index.d.ts +1 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +2 -2
  70. package/dist/interaction_client/BaseInteractionClient.js +1 -1
  71. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +1 -1
  72. package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  73. package/dist/interaction_client/NativeInteractionClient.js +3 -2
  74. package/dist/interaction_client/NativeInteractionClient.js.map +1 -1
  75. package/dist/interaction_client/PopupClient.js +4 -4
  76. package/dist/interaction_client/PopupClient.js.map +1 -1
  77. package/dist/interaction_client/RedirectClient.js +1 -1
  78. package/dist/interaction_client/SilentAuthCodeClient.js +2 -2
  79. package/dist/interaction_client/SilentAuthCodeClient.js.map +1 -1
  80. package/dist/interaction_client/SilentCacheClient.d.ts.map +1 -1
  81. package/dist/interaction_client/SilentCacheClient.js +1 -1
  82. package/dist/interaction_client/SilentCacheClient.js.map +1 -1
  83. package/dist/interaction_client/SilentIframeClient.d.ts +1 -1
  84. package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
  85. package/dist/interaction_client/SilentIframeClient.js +9 -8
  86. package/dist/interaction_client/SilentIframeClient.js.map +1 -1
  87. package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
  88. package/dist/interaction_client/SilentRefreshClient.js +3 -2
  89. package/dist/interaction_client/SilentRefreshClient.js.map +1 -1
  90. package/dist/interaction_client/StandardInteractionClient.js +1 -1
  91. package/dist/interaction_handler/InteractionHandler.js +1 -1
  92. package/dist/interaction_handler/RedirectHandler.js +1 -1
  93. package/dist/interaction_handler/SilentHandler.d.ts +3 -1
  94. package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
  95. package/dist/interaction_handler/SilentHandler.js +5 -5
  96. package/dist/interaction_handler/SilentHandler.js.map +1 -1
  97. package/dist/internals.js +1 -1
  98. package/dist/navigation/NavigationClient.js +1 -1
  99. package/dist/network/FetchClient.js +1 -1
  100. package/dist/network/XhrClient.js +1 -1
  101. package/dist/packageMetadata.d.ts +1 -1
  102. package/dist/packageMetadata.js +2 -2
  103. package/dist/packageMetadata.js.map +1 -1
  104. package/dist/request/PopupRequest.d.ts +1 -0
  105. package/dist/request/PopupRequest.d.ts.map +1 -1
  106. package/dist/request/RedirectRequest.d.ts +1 -0
  107. package/dist/request/RedirectRequest.d.ts.map +1 -1
  108. package/dist/request/SilentRequest.d.ts +9 -2
  109. package/dist/request/SilentRequest.d.ts.map +1 -1
  110. package/dist/request/SsoSilentRequest.d.ts +1 -0
  111. package/dist/request/SsoSilentRequest.d.ts.map +1 -1
  112. package/dist/telemetry/BrowserPerformanceClient.d.ts +2 -1
  113. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  114. package/dist/telemetry/BrowserPerformanceClient.js +3 -3
  115. package/dist/telemetry/BrowserPerformanceClient.js.map +1 -1
  116. package/dist/telemetry/BrowserPerformanceMeasurement.js +1 -1
  117. package/dist/utils/BrowserConstants.d.ts +9 -1
  118. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  119. package/dist/utils/BrowserConstants.js +41 -4
  120. package/dist/utils/BrowserConstants.js.map +1 -1
  121. package/dist/utils/BrowserProtocolUtils.js +1 -1
  122. package/dist/utils/BrowserStringUtils.d.ts +5 -0
  123. package/dist/utils/BrowserStringUtils.d.ts.map +1 -1
  124. package/dist/utils/BrowserStringUtils.js +8 -1
  125. package/dist/utils/BrowserStringUtils.js.map +1 -1
  126. package/dist/utils/BrowserUtils.js +1 -1
  127. package/dist/utils/MathUtils.js +1 -1
  128. package/lib/msal-browser.js +767 -376
  129. package/lib/msal-browser.js.map +1 -1
  130. package/lib/msal-browser.min.js +37 -37
  131. package/package.json +2 -2
@@ -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;IAoD5E;;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
+ {"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.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
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
  })];
@@ -107,7 +108,7 @@ var SilentIframeClient = /** @class */ (function (_super) {
107
108
  return [4 /*yield*/, authClient.getAuthCodeUrl(__assign(__assign({}, silentRequest), { nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme) }))];
108
109
  case 2:
109
110
  navigateUrl = _a.sent();
110
- silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system.navigateFrameWait);
111
+ silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system);
111
112
  return [4 /*yield*/, silentHandler.initiateAuthRequest(navigateUrl)];
112
113
  case 3:
113
114
  msalFrame = _a.sent();
@@ -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);\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;IAkCnF;;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
+ {"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.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
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;;KAyDC;;;;;IApDS,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;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,CAzDA,CAAyC,yBAAyB;;;;"}
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.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
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.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  import { __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { StringUtils, ClientAuthError, ServerError, AuthorityFactory } from '@azure/msal-common';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { StringUtils, ClientAuthError, ServerError } from '@azure/msal-common';
@@ -1,9 +1,11 @@
1
1
  import { CommonAuthorizationCodeRequest, AuthorizationCodeClient, Logger } from "@azure/msal-common";
2
2
  import { InteractionHandler } from "./InteractionHandler";
3
3
  import { BrowserCacheManager } from "../cache/BrowserCacheManager";
4
+ import { BrowserSystemOptions } from "../config/Configuration";
4
5
  export declare class SilentHandler extends InteractionHandler {
5
6
  private navigateFrameWait;
6
- constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger, navigateFrameWait: number);
7
+ private pollIntervalMilliseconds;
8
+ constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger, systemOptions: Required<Pick<BrowserSystemOptions, "navigateFrameWait" | "pollIntervalMilliseconds">>);
7
9
  /**
8
10
  * Creates a hidden iframe to given URL using user-requested scopes as an id.
9
11
  * @param urlNavigate
@@ -1 +1 @@
1
- {"version":3,"file":"SilentHandler.d.ts","sourceRoot":"","sources":["../../src/interaction_handler/SilentHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,8BAA8B,EAAE,uBAAuB,EAAa,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGnE,qBAAa,aAAc,SAAQ,kBAAkB;IAEjD,OAAO,CAAC,iBAAiB,CAAS;gBACtB,cAAc,EAAE,uBAAuB,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAKjL;;;;OAIG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAUzE;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgDjF;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAsBjB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CAK7B"}
1
+ {"version":3,"file":"SilentHandler.d.ts","sourceRoot":"","sources":["../../src/interaction_handler/SilentHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,8BAA8B,EAAE,uBAAuB,EAAa,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA6B,MAAM,yBAAyB,CAAC;AAE1F,qBAAa,aAAc,SAAQ,kBAAkB;IAEjD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,wBAAwB,CAAS;gBAE7B,cAAc,EAAE,uBAAuB,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,GAAG,0BAA0B,CAAC,CAAC;IAM7P;;;;OAIG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAUzE;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgDjF;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAsBjB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CAK7B"}
@@ -1,9 +1,8 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { StringUtils, Constants, UrlString } from '@azure/msal-common';
5
5
  import { InteractionHandler } from './InteractionHandler.js';
6
- import { BrowserConstants } from '../utils/BrowserConstants.js';
7
6
  import { BrowserAuthError } from '../error/BrowserAuthError.js';
8
7
  import { DEFAULT_IFRAME_TIMEOUT_MS } from '../config/Configuration.js';
9
8
 
@@ -13,9 +12,10 @@ import { DEFAULT_IFRAME_TIMEOUT_MS } from '../config/Configuration.js';
13
12
  */
14
13
  var SilentHandler = /** @class */ (function (_super) {
15
14
  __extends(SilentHandler, _super);
16
- function SilentHandler(authCodeModule, storageImpl, authCodeRequest, logger, navigateFrameWait) {
15
+ function SilentHandler(authCodeModule, storageImpl, authCodeRequest, logger, systemOptions) {
17
16
  var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, logger) || this;
18
- _this.navigateFrameWait = navigateFrameWait;
17
+ _this.navigateFrameWait = systemOptions.navigateFrameWait;
18
+ _this.pollIntervalMilliseconds = systemOptions.pollIntervalMilliseconds;
19
19
  return _this;
20
20
  }
21
21
  /**
@@ -93,7 +93,7 @@ var SilentHandler = /** @class */ (function (_super) {
93
93
  resolve(contentHash);
94
94
  return;
95
95
  }
96
- }, BrowserConstants.POLL_INTERVAL_MS);
96
+ }, _this.pollIntervalMilliseconds);
97
97
  });
98
98
  };
99
99
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SilentHandler.js","sources":["../../src/interaction_handler/SilentHandler.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { UrlString, StringUtils, CommonAuthorizationCodeRequest, AuthorizationCodeClient, Constants, Logger } from \"@azure/msal-common\";\nimport { InteractionHandler } from \"./InteractionHandler\";\nimport { BrowserConstants } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { DEFAULT_IFRAME_TIMEOUT_MS } from \"../config/Configuration\";\n\nexport class SilentHandler extends InteractionHandler {\n\n private navigateFrameWait: number;\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger, navigateFrameWait: number) {\n super(authCodeModule, storageImpl, authCodeRequest, logger);\n this.navigateFrameWait = navigateFrameWait;\n }\n\n /**\n * Creates a hidden iframe to given URL using user-requested scopes as an id.\n * @param urlNavigate\n * @param userRequestScopes\n */\n async initiateAuthRequest(requestUrl: string): Promise<HTMLIFrameElement> {\n if (StringUtils.isEmpty(requestUrl)) {\n // Throw error if request URL is empty.\n this.logger.info(\"Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n\n return this.navigateFrameWait ? await this.loadFrame(requestUrl) : this.loadFrameSync(requestUrl);\n }\n\n /**\n * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.\n * @param iframe\n * @param timeout\n */\n monitorIframeForHash(iframe: HTMLIFrameElement, timeout: number): Promise<string> {\n return new Promise((resolve, reject) => {\n if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {\n this.logger.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${timeout}ms) than the default (${DEFAULT_IFRAME_TIMEOUT_MS}ms). This may result in timeouts.`);\n }\n\n /*\n * Polling for iframes can be purely timing based,\n * since we don't need to account for interaction.\n */\n const nowMark = window.performance.now();\n const timeoutMark = nowMark + timeout;\n\n const intervalId = setInterval(() => {\n if (window.performance.now() > timeoutMark) {\n this.removeHiddenIframe(iframe);\n clearInterval(intervalId);\n reject(BrowserAuthError.createMonitorIframeTimeoutError());\n return;\n }\n\n let href: string = Constants.EMPTY_STRING;\n const contentWindow = iframe.contentWindow;\n try {\n /*\n * Will throw if cross origin,\n * which should be caught and ignored\n * since we need the interval to keep running while on STS UI.\n */\n href = contentWindow ? contentWindow.location.href : Constants.EMPTY_STRING;\n } catch (e) {}\n\n if (StringUtils.isEmpty(href)) {\n return;\n }\n\n const contentHash = contentWindow ? contentWindow.location.hash: Constants.EMPTY_STRING;\n if (UrlString.hashContainsKnownProperties(contentHash)) {\n // Success case\n this.removeHiddenIframe(iframe);\n clearInterval(intervalId);\n resolve(contentHash);\n return;\n }\n }, BrowserConstants.POLL_INTERVAL_MS);\n });\n }\n\n /**\n * @hidden\n * Loads iframe with authorization endpoint URL\n * @ignore\n */\n private loadFrame(urlNavigate: string): Promise<HTMLIFrameElement> {\n /*\n * This trick overcomes iframe navigation in IE\n * IE does not load the page consistently in iframe\n */\n\n return new Promise((resolve, reject) => {\n const frameHandle = this.createHiddenIframe();\n\n setTimeout(() => {\n if (!frameHandle) {\n reject(\"Unable to load iframe\");\n return;\n }\n\n frameHandle.src = urlNavigate;\n\n resolve(frameHandle);\n }, this.navigateFrameWait);\n });\n }\n\n /**\n * @hidden\n * Loads the iframe synchronously when the navigateTimeFrame is set to `0`\n * @param urlNavigate\n * @param frameName\n * @param logger\n */\n private loadFrameSync(urlNavigate: string): HTMLIFrameElement{\n const frameHandle = this.createHiddenIframe();\n\n frameHandle.src = urlNavigate;\n\n return frameHandle;\n }\n\n /**\n * @hidden\n * Creates a new hidden iframe or gets an existing one for silent token renewal.\n * @ignore\n */\n private createHiddenIframe(): HTMLIFrameElement {\n const authFrame = document.createElement(\"iframe\");\n\n authFrame.style.visibility = \"hidden\";\n authFrame.style.position = \"absolute\";\n authFrame.style.width = authFrame.style.height = \"0\";\n authFrame.style.border = \"0\";\n authFrame.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\n document.getElementsByTagName(\"body\")[0].appendChild(authFrame);\n\n return authFrame;\n }\n\n /**\n * @hidden\n * Removes a hidden iframe from the page.\n * @ignore\n */\n private removeHiddenIframe(iframe: HTMLIFrameElement): void {\n if (document.body === iframe.parentNode) {\n document.body.removeChild(iframe);\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SilentHandler.js","sources":["../../src/interaction_handler/SilentHandler.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { UrlString, StringUtils, CommonAuthorizationCodeRequest, AuthorizationCodeClient, Constants, Logger } from \"@azure/msal-common\";\nimport { InteractionHandler } from \"./InteractionHandler\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { BrowserSystemOptions, DEFAULT_IFRAME_TIMEOUT_MS } from \"../config/Configuration\";\n\nexport class SilentHandler extends InteractionHandler {\n\n private navigateFrameWait: number;\n private pollIntervalMilliseconds: number;\n\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger, systemOptions: Required<Pick<BrowserSystemOptions, \"navigateFrameWait\" | \"pollIntervalMilliseconds\">>) {\n super(authCodeModule, storageImpl, authCodeRequest, logger);\n this.navigateFrameWait = systemOptions.navigateFrameWait;\n this.pollIntervalMilliseconds = systemOptions.pollIntervalMilliseconds;\n }\n\n /**\n * Creates a hidden iframe to given URL using user-requested scopes as an id.\n * @param urlNavigate\n * @param userRequestScopes\n */\n async initiateAuthRequest(requestUrl: string): Promise<HTMLIFrameElement> {\n if (StringUtils.isEmpty(requestUrl)) {\n // Throw error if request URL is empty.\n this.logger.info(\"Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n\n return this.navigateFrameWait ? await this.loadFrame(requestUrl) : this.loadFrameSync(requestUrl);\n }\n\n /**\n * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.\n * @param iframe\n * @param timeout\n */\n monitorIframeForHash(iframe: HTMLIFrameElement, timeout: number): Promise<string> {\n return new Promise((resolve, reject) => {\n if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {\n this.logger.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${timeout}ms) than the default (${DEFAULT_IFRAME_TIMEOUT_MS}ms). This may result in timeouts.`);\n }\n\n /*\n * Polling for iframes can be purely timing based,\n * since we don't need to account for interaction.\n */\n const nowMark = window.performance.now();\n const timeoutMark = nowMark + timeout;\n\n const intervalId = setInterval(() => {\n if (window.performance.now() > timeoutMark) {\n this.removeHiddenIframe(iframe);\n clearInterval(intervalId);\n reject(BrowserAuthError.createMonitorIframeTimeoutError());\n return;\n }\n\n let href: string = Constants.EMPTY_STRING;\n const contentWindow = iframe.contentWindow;\n try {\n /*\n * Will throw if cross origin,\n * which should be caught and ignored\n * since we need the interval to keep running while on STS UI.\n */\n href = contentWindow ? contentWindow.location.href : Constants.EMPTY_STRING;\n } catch (e) {}\n\n if (StringUtils.isEmpty(href)) {\n return;\n }\n\n const contentHash = contentWindow ? contentWindow.location.hash: Constants.EMPTY_STRING;\n if (UrlString.hashContainsKnownProperties(contentHash)) {\n // Success case\n this.removeHiddenIframe(iframe);\n clearInterval(intervalId);\n resolve(contentHash);\n return;\n }\n }, this.pollIntervalMilliseconds);\n });\n }\n\n /**\n * @hidden\n * Loads iframe with authorization endpoint URL\n * @ignore\n */\n private loadFrame(urlNavigate: string): Promise<HTMLIFrameElement> {\n /*\n * This trick overcomes iframe navigation in IE\n * IE does not load the page consistently in iframe\n */\n\n return new Promise((resolve, reject) => {\n const frameHandle = this.createHiddenIframe();\n\n setTimeout(() => {\n if (!frameHandle) {\n reject(\"Unable to load iframe\");\n return;\n }\n\n frameHandle.src = urlNavigate;\n\n resolve(frameHandle);\n }, this.navigateFrameWait);\n });\n }\n\n /**\n * @hidden\n * Loads the iframe synchronously when the navigateTimeFrame is set to `0`\n * @param urlNavigate\n * @param frameName\n * @param logger\n */\n private loadFrameSync(urlNavigate: string): HTMLIFrameElement{\n const frameHandle = this.createHiddenIframe();\n\n frameHandle.src = urlNavigate;\n\n return frameHandle;\n }\n\n /**\n * @hidden\n * Creates a new hidden iframe or gets an existing one for silent token renewal.\n * @ignore\n */\n private createHiddenIframe(): HTMLIFrameElement {\n const authFrame = document.createElement(\"iframe\");\n\n authFrame.style.visibility = \"hidden\";\n authFrame.style.position = \"absolute\";\n authFrame.style.width = authFrame.style.height = \"0\";\n authFrame.style.border = \"0\";\n authFrame.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\n document.getElementsByTagName(\"body\")[0].appendChild(authFrame);\n\n return authFrame;\n }\n\n /**\n * @hidden\n * Removes a hidden iframe from the page.\n * @ignore\n */\n private removeHiddenIframe(iframe: HTMLIFrameElement): void {\n if (document.body === iframe.parentNode) {\n document.body.removeChild(iframe);\n }\n }\n}\n"],"names":[],"mappings":"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"}
package/dist/internals.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  export { BrowserCacheManager } from './cache/BrowserCacheManager.js';
4
4
  export { StandardInteractionClient } from './interaction_client/StandardInteractionClient.js';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  import { __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { Constants } from '@azure/msal-common';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  import { __awaiter, __generator } from '../_virtual/_tslib.js';
4
4
  import { BrowserAuthError } from '../error/BrowserAuthError.js';
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@azure/msal-browser";
2
- export declare const version = "2.28.3";
2
+ export declare const version = "2.30.0";
3
3
  //# sourceMappingURL=packageMetadata.d.ts.map
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  /* eslint-disable header/header */
4
4
  var name = "@azure/msal-browser";
5
- var version = "2.28.3";
5
+ var version = "2.30.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.28.3\";\n"],"names":[],"mappings":";;AAAA;IACa,IAAI,GAAG,sBAAsB;IAC7B,OAAO,GAAG;;;;"}
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.30.0\";\n"],"names":[],"mappings":";;AAAA;IACa,IAAI,GAAG,sBAAsB;IAC7B,OAAO,GAAG;;;;"}
@@ -16,6 +16,7 @@ import { PopupWindowAttributes } from "./PopupWindowAttributes";
16
16
  * consent: will the trigger the OAuth consent dialog after the user signs in, asking the user to grant permissions to the app
17
17
  * select_account: will interrupt single sign-=on providing account selection experience listing all the accounts in session or any remembered accounts or an option to choose to use a different account
18
18
  * create: will direct the user to the account creation experience instead of the log in experience
19
+ * no_session: will not read existing session token when authenticating the user. Upon user being successfully authenticated, EVO won’t create a new session for the user. FOR INTERNAL USE ONLY.
19
20
  * - loginHint - Can be used to pre-fill the username/email address field of the sign-in page for the user, if you know the username/email address ahead of time. Often apps use this parameter during re-authentication, having already extracted the username from a previous sign-in using the login_hint or preferred_username claim.
20
21
  * - sid - Session ID, unique identifier for the session. Available as an optional claim on ID tokens.
21
22
  * - domainHint - Provides a hint about the tenant or domain that the user should use to sign in. The value of the domain hint is a registered domain for the tenant.
@@ -1 +1 @@
1
- {"version":3,"file":"PopupRequest.d.ts","sourceRoot":"","sources":["../../src/request/PopupRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,oBAAY,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,GAAC,QAAQ,GAAC,eAAe,GAAC,qBAAqB,GAAC,qBAAqB,GAAC,cAAc,CAAC,CAAC,GAAG;IAC1K,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CACjD,CAAC"}
1
+ {"version":3,"file":"PopupRequest.d.ts","sourceRoot":"","sources":["../../src/request/PopupRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,oBAAY,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,GAAC,QAAQ,GAAC,eAAe,GAAC,qBAAqB,GAAC,qBAAqB,GAAC,cAAc,CAAC,CAAC,GAAG;IAC1K,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CACjD,CAAC"}
@@ -15,6 +15,7 @@ import { CommonAuthorizationUrlRequest } from "@azure/msal-common";
15
15
  * consent: will the trigger the OAuth consent dialog after the user signs in, asking the user to grant permissions to the app
16
16
  * select_account: will interrupt single sign-=on providing account selection experience listing all the accounts in session or any remembered accounts or an option to choose to use a different account
17
17
  * create: will direct the user to the account creation experience instead of the log in experience
18
+ * no_session: will not read existing session token when authenticating the user. Upon user being successfully authenticated, EVO won’t create a new session for the user. FOR INTERNAL USE ONLY.
18
19
  * - loginHint - Can be used to pre-fill the username/email address field of the sign-in page for the user, if you know the username/email address ahead of time. Often apps use this parameter during re-authentication, having already extracted the username from a previous sign-in using the login_hint or preferred_username claim.
19
20
  * - sid - Session ID, unique identifier for the session. Available as an optional claim on ID tokens.
20
21
  * - domainHint - Provides a hint about the tenant or domain that the user should use to sign in. The value of the domain hint is a registered domain for the tenant.
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectRequest.d.ts","sourceRoot":"","sources":["../../src/request/RedirectRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,oBAAY,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,GAAC,QAAQ,GAAC,eAAe,GAAC,qBAAqB,GAAC,qBAAqB,GAAC,cAAc,CAAC,CAAC,GAAG;IAC7K,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;CACxD,CAAC"}
1
+ {"version":3,"file":"RedirectRequest.d.ts","sourceRoot":"","sources":["../../src/request/RedirectRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,oBAAY,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,GAAC,QAAQ,GAAC,eAAe,GAAC,qBAAqB,GAAC,qBAAqB,GAAC,cAAc,CAAC,CAAC,GAAG;IAC7K,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;CACxD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { AccountInfo, CommonSilentFlowRequest, StringDict } from "@azure/msal-common";
2
+ import { CacheLookupPolicy } from "../utils/BrowserConstants";
2
3
  /**
3
4
  * SilentRequest: Request object passed by user to retrieve tokens from the
4
5
  * cache, renew an expired token with a refresh token, or retrieve a code (first leg of authorization code grant flow)
@@ -9,9 +10,13 @@ import { AccountInfo, CommonSilentFlowRequest, StringDict } from "@azure/msal-co
9
10
  * - correlationId - Unique GUID set per request to trace a request end-to-end for telemetry purposes.
10
11
  * - account - Account entity to lookup the credentials.
11
12
  * - forceRefresh - Forces silent requests to make network calls if true.
12
- * - extraQueryParameters - String to string map of custom query parameters added to the /authorize call. Only used when renewing the refresh token.
13
- * - tokenQueryParameters - String to string map of custom query parameters added to the /token call. Only used when renewing access tokens.
13
+ * - extraQueryParameters - String to string map of custom query parameters added to the /authorize call. Only used when renewing the refresh token.
14
+ * - tokenQueryParameters - String to string map of custom query parameters added to the /token call. Only used when renewing access tokens.
14
15
  * - redirectUri - The redirect URI where authentication responses can be received by your application. It must exactly match one of the redirect URIs registered in the Azure portal. Only used for cases where refresh token is expired.
16
+ * - cacheLookupPolicy - Enum of different ways the silent token can be retrieved.
17
+ * - prompt - Indicates the type of user interaction that is required.
18
+ * none: will ensure that the user isn't presented with any interactive prompt. if request can't be completed via single-sign on, the endpoint will return an interaction_required error
19
+ * no_session: will not read existing session token when authenticating the user. Upon user being successfully authenticated, EVO won’t create a new session for the user. FOR INTERNAL USE ONLY.
15
20
  */
16
21
  export declare type SilentRequest = Omit<CommonSilentFlowRequest, "authority" | "correlationId" | "forceRefresh" | "account" | "requestedClaimsHash"> & {
17
22
  redirectUri?: string;
@@ -20,5 +25,7 @@ export declare type SilentRequest = Omit<CommonSilentFlowRequest, "authority" |
20
25
  account?: AccountInfo;
21
26
  correlationId?: string;
22
27
  forceRefresh?: boolean;
28
+ cacheLookupPolicy?: CacheLookupPolicy;
29
+ prompt?: string;
23
30
  };
24
31
  //# sourceMappingURL=SilentRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SilentRequest.d.ts","sourceRoot":"","sources":["../../src/request/SilentRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEtF;;;;;;;;;;;;;GAaG;AACH,oBAAY,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAC,eAAe,GAAC,cAAc,GAAC,SAAS,GAAC,qBAAqB,CAAC,GAAG;IACpI,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"SilentRequest.d.ts","sourceRoot":"","sources":["../../src/request/SilentRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,oBAAY,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAC,eAAe,GAAC,cAAc,GAAC,SAAS,GAAC,qBAAqB,CAAC,GAAG;IACpI,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -15,6 +15,7 @@ import { CommonAuthorizationUrlRequest } from "@azure/msal-common";
15
15
  * consent: will trigger the OAuth consent dialog after the user signs in, asking the user to grant permissions to the app
16
16
  * select_account: will interrupt single sign-=on providing account selection experience listing all the accounts in session or any remembered accounts or an option to choose to use a different account
17
17
  * create: will direct the user to the account creation experience instead of the log in experience
18
+ * no_session: will not read existing session token when authenticating the user. Upon user being successfully authenticated, EVO won’t create a new session for the user. FOR INTERNAL USE ONLY.
18
19
  * - loginHint - Can be used to pre-fill the username/email address field of the sign-in page for the user, if you know the username/email address ahead of time. Often apps use this parameter during re-authentication, having already extracted the username from a previous sign-in using the login_hint or preferred_username claim.
19
20
  * - sid - Session ID, unique identifier for the session. Available as an optional claim on ID tokens.
20
21
  * - domainHint - Provides a hint about the tenant or domain that the user should use to sign in. The value of the domain hint is a registered domain for the tenant.
@@ -1 +1 @@
1
- {"version":3,"file":"SsoSilentRequest.d.ts","sourceRoot":"","sources":["../../src/request/SsoSilentRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,oBAAY,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,GAAC,eAAe,GAAC,qBAAqB,GAAC,qBAAqB,GAAC,cAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"SsoSilentRequest.d.ts","sourceRoot":"","sources":["../../src/request/SsoSilentRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,oBAAY,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,GAAC,eAAe,GAAC,qBAAqB,GAAC,qBAAqB,GAAC,cAAc,CAAC,CAAC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { Logger, PerformanceEvents, IPerformanceClient, PerformanceClient, IPerformanceMeasurement, InProgressPerformanceEvent, ApplicationTelemetry } from "@azure/msal-common";
2
+ import { CryptoOptions } from "../config/Configuration";
2
3
  export declare class BrowserPerformanceClient extends PerformanceClient implements IPerformanceClient {
3
4
  private browserCrypto;
4
5
  private guidGenerator;
5
- constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry);
6
+ constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, cryptoOptions: CryptoOptions);
6
7
  startPerformanceMeasuremeant(measureName: string, correlationId: string): IPerformanceMeasurement;
7
8
  generateId(): string;
8
9
  private getPageVisibility;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPerformanceClient.d.ts","sourceRoot":"","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAoB,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAKnM,qBAAa,wBAAyB,SAAQ,iBAAkB,YAAW,kBAAkB;IACzF,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,oBAAoB;IAMxJ,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,uBAAuB;IAIjG,UAAU,IAAK,MAAM;IAIrB,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;OAOG;IACH,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,0BAA0B;CAiBvG"}
1
+ {"version":3,"file":"BrowserPerformanceClient.d.ts","sourceRoot":"","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAoB,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnM,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD,qBAAa,wBAAyB,SAAQ,iBAAkB,YAAW,kBAAkB;IACzF,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa;IAMtL,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,uBAAuB;IAIjG,UAAU,IAAK,MAAM;IAIrB,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;OAOG;IACH,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,0BAA0B;CAiBvG"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  import { __extends, __assign } from '../_virtual/_tslib.js';
4
4
  import { PerformanceClient } from '@azure/msal-common';
@@ -12,9 +12,9 @@ import { BrowserPerformanceMeasurement } from './BrowserPerformanceMeasurement.j
12
12
  */
13
13
  var BrowserPerformanceClient = /** @class */ (function (_super) {
14
14
  __extends(BrowserPerformanceClient, _super);
15
- function BrowserPerformanceClient(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry) {
15
+ function BrowserPerformanceClient(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry, cryptoOptions) {
16
16
  var _this = _super.call(this, clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry) || this;
17
- _this.browserCrypto = new BrowserCrypto(_this.logger);
17
+ _this.browserCrypto = new BrowserCrypto(_this.logger, cryptoOptions);
18
18
  _this.guidGenerator = new GuidGenerator(_this.browserCrypto);
19
19
  return _this;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPerformanceClient.js","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Logger, PerformanceEvent, PerformanceEvents, IPerformanceClient, PerformanceClient, IPerformanceMeasurement, InProgressPerformanceEvent, ApplicationTelemetry } from \"@azure/msal-common\";\nimport { BrowserCrypto } from \"../crypto/BrowserCrypto\";\nimport { GuidGenerator } from \"../crypto/GuidGenerator\";\nimport { BrowserPerformanceMeasurement } from \"./BrowserPerformanceMeasurement\";\n\nexport class BrowserPerformanceClient extends PerformanceClient implements IPerformanceClient {\n private browserCrypto: BrowserCrypto;\n private guidGenerator: GuidGenerator;\n \n constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry) {\n super(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry);\n this.browserCrypto = new BrowserCrypto(this.logger);\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\n }\n \n startPerformanceMeasuremeant(measureName: string, correlationId: string): IPerformanceMeasurement {\n return new BrowserPerformanceMeasurement(measureName, correlationId);\n }\n\n generateId() : string {\n return this.guidGenerator.generateGuid();\n }\n\n private getPageVisibility(): string | null {\n return document.visibilityState?.toString() || null;\n }\n \n /**\n * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.\n * Also captures browser page visibilityState.\n *\n * @param {PerformanceEvents} measureName\n * @param {?string} [correlationId]\n * @returns {((event?: Partial<PerformanceEvent>) => PerformanceEvent| null)}\n */\n startMeasurement(measureName: PerformanceEvents, correlationId?: string): InProgressPerformanceEvent {\n // Capture page visibilityState and then invoke start/end measurement\n const startPageVisibility = this.getPageVisibility();\n \n const inProgressEvent = super.startMeasurement(measureName, correlationId);\n\n return {\n ...inProgressEvent,\n endMeasurement: (event?: Partial<PerformanceEvent>): PerformanceEvent | null => {\n return inProgressEvent.endMeasurement({\n startPageVisibility,\n endPageVisibility: this.getPageVisibility(),\n ...event\n });\n }\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;;;;;IAU8C,4CAAiB;IAI3D,kCAAY,QAAgB,EAAE,SAAiB,EAAE,MAAc,EAAE,WAAmB,EAAE,cAAsB,EAAE,oBAA0C;QAAxJ,YACI,kBAAM,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,CAAC,SAGxF;QAFG,KAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;QACpD,KAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;;KAC9D;IAED,+DAA4B,GAA5B,UAA6B,WAAmB,EAAE,aAAqB;QACnE,OAAO,IAAI,6BAA6B,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;KACxE;IAED,6CAAU,GAAV;QACI,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC5C;IAEO,oDAAiB,GAAzB;;QACI,OAAO,OAAA,QAAQ,CAAC,eAAe,0CAAE,QAAQ,OAAM,IAAI,CAAC;KACvD;;;;;;;;;IAUD,mDAAgB,GAAhB,UAAiB,WAA8B,EAAE,aAAsB;QAAvE,iBAgBC;;QAdG,IAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAErD,IAAM,eAAe,GAAG,iBAAM,gBAAgB,YAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE3E,6BACO,eAAe,KAClB,cAAc,EAAE,UAAC,KAAiC;gBAC9C,OAAO,eAAe,CAAC,cAAc,YACjC,mBAAmB,qBAAA,EACnB,iBAAiB,EAAE,KAAI,CAAC,iBAAiB,EAAE,IACxC,KAAK,EACV,CAAC;aACN,IACH;KACL;IACL,+BAAC;AAAD,CA/CA,CAA8C,iBAAiB;;;;"}
1
+ {"version":3,"file":"BrowserPerformanceClient.js","sources":["../../src/telemetry/BrowserPerformanceClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Logger, PerformanceEvent, PerformanceEvents, IPerformanceClient, PerformanceClient, IPerformanceMeasurement, InProgressPerformanceEvent, ApplicationTelemetry } from \"@azure/msal-common\";\nimport { CryptoOptions } from \"../config/Configuration\";\nimport { BrowserCrypto } from \"../crypto/BrowserCrypto\";\nimport { GuidGenerator } from \"../crypto/GuidGenerator\";\nimport { BrowserPerformanceMeasurement } from \"./BrowserPerformanceMeasurement\";\n\nexport class BrowserPerformanceClient extends PerformanceClient implements IPerformanceClient {\n private browserCrypto: BrowserCrypto;\n private guidGenerator: GuidGenerator;\n \n constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, cryptoOptions: CryptoOptions) {\n super(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry);\n this.browserCrypto = new BrowserCrypto(this.logger, cryptoOptions);\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\n }\n \n startPerformanceMeasuremeant(measureName: string, correlationId: string): IPerformanceMeasurement {\n return new BrowserPerformanceMeasurement(measureName, correlationId);\n }\n\n generateId() : string {\n return this.guidGenerator.generateGuid();\n }\n\n private getPageVisibility(): string | null {\n return document.visibilityState?.toString() || null;\n }\n \n /**\n * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.\n * Also captures browser page visibilityState.\n *\n * @param {PerformanceEvents} measureName\n * @param {?string} [correlationId]\n * @returns {((event?: Partial<PerformanceEvent>) => PerformanceEvent| null)}\n */\n startMeasurement(measureName: PerformanceEvents, correlationId?: string): InProgressPerformanceEvent {\n // Capture page visibilityState and then invoke start/end measurement\n const startPageVisibility = this.getPageVisibility();\n \n const inProgressEvent = super.startMeasurement(measureName, correlationId);\n\n return {\n ...inProgressEvent,\n endMeasurement: (event?: Partial<PerformanceEvent>): PerformanceEvent | null => {\n return inProgressEvent.endMeasurement({\n startPageVisibility,\n endPageVisibility: this.getPageVisibility(),\n ...event\n });\n }\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;;;;;IAW8C,4CAAiB;IAI3D,kCAAY,QAAgB,EAAE,SAAiB,EAAE,MAAc,EAAE,WAAmB,EAAE,cAAsB,EAAE,oBAA0C,EAAE,aAA4B;QAAtL,YACI,kBAAM,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,CAAC,SAGxF;QAFG,KAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,KAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnE,KAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;;KAC9D;IAED,+DAA4B,GAA5B,UAA6B,WAAmB,EAAE,aAAqB;QACnE,OAAO,IAAI,6BAA6B,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;KACxE;IAED,6CAAU,GAAV;QACI,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC5C;IAEO,oDAAiB,GAAzB;;QACI,OAAO,OAAA,QAAQ,CAAC,eAAe,0CAAE,QAAQ,OAAM,IAAI,CAAC;KACvD;;;;;;;;;IAUD,mDAAgB,GAAhB,UAAiB,WAA8B,EAAE,aAAsB;QAAvE,iBAgBC;;QAdG,IAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAErD,IAAM,eAAe,GAAG,iBAAM,gBAAgB,YAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE3E,6BACO,eAAe,KAClB,cAAc,EAAE,UAAC,KAAiC;gBAC9C,OAAO,eAAe,CAAC,cAAc,YACjC,mBAAmB,qBAAA,EACnB,iBAAiB,EAAE,KAAI,CAAC,iBAAiB,EAAE,IACxC,KAAK,EACV,CAAC;aACN,IACH;KACL;IACL,+BAAC;AAAD,CA/CA,CAA8C,iBAAiB;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v2.28.3 2022-09-12 */
1
+ /*! @azure/msal-browser v2.30.0 2022-10-10 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -27,7 +27,7 @@ export declare const BrowserConstants: {
27
27
  /**
28
28
  * Default popup monitor poll interval in milliseconds
29
29
  */
30
- POLL_INTERVAL_MS: number;
30
+ DEFAULT_POLL_INTERVAL_MS: number;
31
31
  /**
32
32
  * Msal-browser SKU
33
33
  */
@@ -151,4 +151,12 @@ export declare enum WrapperSKU {
151
151
  export declare const DB_NAME = "msal.db";
152
152
  export declare const DB_VERSION = 1;
153
153
  export declare const DB_TABLE_NAME: string;
154
+ export declare enum CacheLookupPolicy {
155
+ Default = 0,
156
+ AccessToken = 1,
157
+ AccessTokenAndRefreshToken = 2,
158
+ RefreshToken = 3,
159
+ RefreshTokenAndNetwork = 4,
160
+ Skip = 5
161
+ }
154
162
  //# sourceMappingURL=BrowserConstants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserConstants.d.ts","sourceRoot":"","sources":["../../src/utils/BrowserConstants.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,gBAAgB;IACzB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEN,CAAC;AAEF,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAEF,oBAAY,qBAAqB;IAC7B,gBAAgB,cAAc;IAC9B,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACxB;AAED,oBAAY,oBAAoB;IAC5B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAClC;AAED;;GAEG;AACH,oBAAY,iBAAiB;IACzB,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC1B,SAAS,cAAc;IACvB,qBAAqB,yBAAyB;IAC9C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,aAAa,mBAAmB;IAChC,UAAU,mBAAmB;IAC7B,YAAY,uBAAuB;IACnC,QAAQ,YAAY;IACpB,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,sBAAsB,uBAAuB;IAC7C,cAAc,mBAAmB;IACjC,cAAc,0BAA0B;IACxC,cAAc,mBAAmB;CACpC;AAED;;GAEG;AACH,oBAAY,iBAAiB;IACzB,WAAW,gBAAgB;IAC3B,WAAW,oBAAoB;CAClC;AAED;;;;;GAKG;AACH,oBAAY,KAAK;IACb,oBAAoB,MAAM;IAC1B,iBAAiB,MAAM;IACvB,SAAS,MAAM;IACf,2BAA2B,MAAM;IACjC,qBAAqB,MAAM;IAC3B,kBAAkB,MAAM;IACxB,6BAA6B,KAAK;IAClC,MAAM,MAAM;IACZ,WAAW,MAAM;CACpB;AAKD,oBAAY,eAAe;IACvB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IACzB;;OAEG;IACH,OAAO,YAAY;IACnB;;OAEG;IACH,KAAK,UAAU;IACf;;OAEG;IACH,MAAM,WAAW;IACjB;;OAEG;IACH,YAAY,iBAAiB;IAC7B;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,cAAc,mBAAmB;IACjC;;OAEG;IACH,IAAI,SAAS;CAChB;AAED,eAAO,MAAM,eAAe,EAAE,eAAe,GAAC,YAE7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAGpC,oBAAY,UAAU;IAClB,KAAK,sBAAsB;IAC3B,OAAO,wBAAwB;CAClC;AAGD,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,aAAa,QAAoB,CAAC"}
1
+ {"version":3,"file":"BrowserConstants.d.ts","sourceRoot":"","sources":["../../src/utils/BrowserConstants.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,gBAAgB;IACzB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEN,CAAC;AAEF,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAEF,oBAAY,qBAAqB;IAC7B,gBAAgB,cAAc;IAC9B,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACxB;AAED,oBAAY,oBAAoB;IAC5B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAClC;AAED;;GAEG;AACH,oBAAY,iBAAiB;IACzB,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC1B,SAAS,cAAc;IACvB,qBAAqB,yBAAyB;IAC9C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,aAAa,mBAAmB;IAChC,UAAU,mBAAmB;IAC7B,YAAY,uBAAuB;IACnC,QAAQ,YAAY;IACpB,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,sBAAsB,uBAAuB;IAC7C,cAAc,mBAAmB;IACjC,cAAc,0BAA0B;IACxC,cAAc,mBAAmB;CACpC;AAED;;GAEG;AACH,oBAAY,iBAAiB;IACzB,WAAW,gBAAgB;IAC3B,WAAW,oBAAoB;CAClC;AAED;;;;;GAKG;AACH,oBAAY,KAAK;IACb,oBAAoB,MAAM;IAC1B,iBAAiB,MAAM;IACvB,SAAS,MAAM;IACf,2BAA2B,MAAM;IACjC,qBAAqB,MAAM;IAC3B,kBAAkB,MAAM;IACxB,6BAA6B,KAAK;IAClC,MAAM,MAAM;IACZ,WAAW,MAAM;CACpB;AAKD,oBAAY,eAAe;IACvB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IACzB;;OAEG;IACH,OAAO,YAAY;IACnB;;OAEG;IACH,KAAK,UAAU;IACf;;OAEG;IACH,MAAM,WAAW;IACjB;;OAEG;IACH,YAAY,iBAAiB;IAC7B;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,cAAc,mBAAmB;IACjC;;OAEG;IACH,IAAI,SAAS;CAChB;AAED,eAAO,MAAM,eAAe,EAAE,eAAe,GAAC,YAE7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAGpC,oBAAY,UAAU;IAClB,KAAK,sBAAsB;IAC3B,OAAO,wBAAwB;CAClC;AAGD,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,aAAa,QAAoB,CAAC;AAE/C,oBAAY,iBAAiB;IAMzB,OAAO,IAAI;IAKX,WAAW,IAAI;IAMf,0BAA0B,IAAI;IAM9B,YAAY,IAAI;IAMhB,sBAAsB,IAAI;IAK1B,IAAI,IAAI;CACX"}