@azure/msal-browser 3.20.0 → 3.21.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 (208) hide show
  1. package/dist/app/IPublicClientApplication.d.ts +53 -53
  2. package/dist/app/IPublicClientApplication.mjs +105 -105
  3. package/dist/app/PublicClientApplication.d.ts +293 -293
  4. package/dist/app/PublicClientApplication.mjs +364 -364
  5. package/dist/app/PublicClientNext.d.ts +276 -276
  6. package/dist/app/PublicClientNext.mjs +354 -354
  7. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
  8. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
  9. package/dist/broker/nativeBroker/NativeRequest.d.ts +45 -45
  10. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  11. package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
  12. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
  13. package/dist/cache/AccountManager.d.ts +48 -48
  14. package/dist/cache/AccountManager.mjs +126 -126
  15. package/dist/cache/AsyncMemoryStorage.d.ts +50 -50
  16. package/dist/cache/AsyncMemoryStorage.mjs +131 -131
  17. package/dist/cache/BrowserCacheManager.d.ts +410 -385
  18. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  19. package/dist/cache/BrowserCacheManager.mjs +1364 -1294
  20. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  21. package/dist/cache/BrowserStorage.d.ts +11 -11
  22. package/dist/cache/BrowserStorage.mjs +32 -32
  23. package/dist/cache/DatabaseStorage.d.ts +56 -56
  24. package/dist/cache/DatabaseStorage.mjs +200 -200
  25. package/dist/cache/IAsyncStorage.d.ts +27 -27
  26. package/dist/cache/ITokenCache.d.ts +11 -11
  27. package/dist/cache/IWindowStorage.d.ts +27 -27
  28. package/dist/cache/MemoryStorage.d.ts +11 -11
  29. package/dist/cache/MemoryStorage.mjs +31 -31
  30. package/dist/cache/TokenCache.d.ts +77 -77
  31. package/dist/cache/TokenCache.mjs +195 -195
  32. package/dist/config/Configuration.d.ts +213 -208
  33. package/dist/config/Configuration.d.ts.map +1 -1
  34. package/dist/config/Configuration.mjs +128 -128
  35. package/dist/config/Configuration.mjs.map +1 -1
  36. package/dist/controllers/ControllerFactory.d.ts +5 -5
  37. package/dist/controllers/ControllerFactory.mjs +25 -25
  38. package/dist/controllers/IController.d.ts +60 -60
  39. package/dist/controllers/NestedAppAuthController.d.ts +202 -202
  40. package/dist/controllers/NestedAppAuthController.mjs +473 -473
  41. package/dist/controllers/StandardController.d.ts +405 -405
  42. package/dist/controllers/StandardController.d.ts.map +1 -1
  43. package/dist/controllers/StandardController.mjs +1334 -1316
  44. package/dist/controllers/StandardController.mjs.map +1 -1
  45. package/dist/controllers/UnknownOperatingContextController.d.ts +86 -86
  46. package/dist/controllers/UnknownOperatingContextController.mjs +256 -256
  47. package/dist/crypto/BrowserCrypto.d.ts +52 -52
  48. package/dist/crypto/BrowserCrypto.mjs +151 -151
  49. package/dist/crypto/CryptoOps.d.ts +74 -74
  50. package/dist/crypto/CryptoOps.mjs +176 -176
  51. package/dist/crypto/PkceGenerator.d.ts +8 -8
  52. package/dist/crypto/PkceGenerator.mjs +54 -54
  53. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  54. package/dist/crypto/SignedHttpRequest.mjs +39 -39
  55. package/dist/encode/Base64Decode.d.ts +9 -9
  56. package/dist/encode/Base64Decode.mjs +36 -36
  57. package/dist/encode/Base64Encode.d.ts +19 -19
  58. package/dist/encode/Base64Encode.mjs +43 -43
  59. package/dist/error/BrowserAuthError.d.ts +256 -255
  60. package/dist/error/BrowserAuthError.d.ts.map +1 -1
  61. package/dist/error/BrowserAuthError.mjs +265 -264
  62. package/dist/error/BrowserAuthError.mjs.map +1 -1
  63. package/dist/error/BrowserAuthErrorCodes.d.ts +47 -46
  64. package/dist/error/BrowserAuthErrorCodes.d.ts.map +1 -1
  65. package/dist/error/BrowserAuthErrorCodes.mjs +53 -52
  66. package/dist/error/BrowserAuthErrorCodes.mjs.map +1 -1
  67. package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
  68. package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
  69. package/dist/error/BrowserConfigurationAuthError.mjs.map +1 -1
  70. package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
  71. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
  72. package/dist/error/NativeAuthError.d.ts +29 -29
  73. package/dist/error/NativeAuthError.mjs +60 -60
  74. package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
  75. package/dist/error/NativeAuthErrorCodes.mjs +6 -6
  76. package/dist/error/NestedAppAuthError.d.ts +14 -14
  77. package/dist/error/NestedAppAuthError.mjs +23 -23
  78. package/dist/event/EventHandler.d.ts +41 -41
  79. package/dist/event/EventHandler.mjs +125 -125
  80. package/dist/event/EventMessage.d.ts +25 -25
  81. package/dist/event/EventMessage.mjs +68 -68
  82. package/dist/event/EventType.d.ts +29 -29
  83. package/dist/event/EventType.mjs +32 -32
  84. package/dist/index.d.ts +40 -40
  85. package/dist/index.mjs +1 -1
  86. package/dist/interaction_client/BaseInteractionClient.d.ts +50 -50
  87. package/dist/interaction_client/BaseInteractionClient.mjs +106 -106
  88. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  89. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
  90. package/dist/interaction_client/NativeInteractionClient.d.ts +151 -151
  91. package/dist/interaction_client/NativeInteractionClient.mjs +621 -621
  92. package/dist/interaction_client/PopupClient.d.ts +118 -105
  93. package/dist/interaction_client/PopupClient.d.ts.map +1 -1
  94. package/dist/interaction_client/PopupClient.mjs +460 -434
  95. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  96. package/dist/interaction_client/RedirectClient.d.ts +50 -50
  97. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  98. package/dist/interaction_client/RedirectClient.mjs +349 -317
  99. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  100. package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
  101. package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
  102. package/dist/interaction_client/SilentCacheClient.d.ts +16 -16
  103. package/dist/interaction_client/SilentCacheClient.mjs +42 -42
  104. package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
  105. package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
  106. package/dist/interaction_client/SilentIframeClient.mjs +111 -101
  107. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  108. package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
  109. package/dist/interaction_client/SilentRefreshClient.mjs +47 -47
  110. package/dist/interaction_client/StandardInteractionClient.d.ts +48 -48
  111. package/dist/interaction_client/StandardInteractionClient.mjs +199 -199
  112. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  113. package/dist/interaction_handler/InteractionHandler.mjs +93 -93
  114. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  115. package/dist/interaction_handler/RedirectHandler.d.ts.map +1 -1
  116. package/dist/interaction_handler/RedirectHandler.mjs +135 -134
  117. package/dist/interaction_handler/RedirectHandler.mjs.map +1 -1
  118. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  119. package/dist/interaction_handler/SilentHandler.mjs +134 -134
  120. package/dist/naa/AccountInfo.d.ts +11 -11
  121. package/dist/naa/AuthBridge.d.ts +8 -8
  122. package/dist/naa/AuthResult.d.ts +6 -6
  123. package/dist/naa/BridgeAccountContext.d.ts +12 -12
  124. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  125. package/dist/naa/BridgeError.d.ts +9 -9
  126. package/dist/naa/BridgeError.mjs +7 -7
  127. package/dist/naa/BridgeProxy.d.ts +67 -67
  128. package/dist/naa/BridgeProxy.d.ts.map +1 -1
  129. package/dist/naa/BridgeProxy.mjs +153 -148
  130. package/dist/naa/BridgeProxy.mjs.map +1 -1
  131. package/dist/naa/BridgeRequest.d.ts +7 -7
  132. package/dist/naa/BridgeRequestEnvelope.d.ts +12 -12
  133. package/dist/naa/BridgeResponseEnvelope.d.ts +13 -13
  134. package/dist/naa/BridgeStatusCode.d.ts +11 -11
  135. package/dist/naa/BridgeStatusCode.mjs +14 -14
  136. package/dist/naa/IBridgeProxy.d.ts +10 -10
  137. package/dist/naa/InitContext.d.ts +8 -8
  138. package/dist/naa/TokenRequest.d.ts +18 -18
  139. package/dist/naa/TokenResponse.d.ts +13 -13
  140. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +35 -35
  141. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +179 -179
  142. package/dist/navigation/INavigationClient.d.ts +16 -16
  143. package/dist/navigation/NavigationClient.d.ts +22 -22
  144. package/dist/navigation/NavigationClient.mjs +40 -40
  145. package/dist/navigation/NavigationOptions.d.ts +12 -12
  146. package/dist/network/FetchClient.d.ts +26 -26
  147. package/dist/network/FetchClient.mjs +99 -99
  148. package/dist/operatingcontext/BaseOperatingContext.d.ts +41 -41
  149. package/dist/operatingcontext/BaseOperatingContext.mjs +94 -94
  150. package/dist/operatingcontext/NestedAppOperatingContext.d.ts +34 -34
  151. package/dist/operatingcontext/NestedAppOperatingContext.mjs +71 -71
  152. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  153. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  154. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  155. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  156. package/dist/packageMetadata.d.ts +2 -2
  157. package/dist/packageMetadata.mjs +4 -4
  158. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  159. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  160. package/dist/request/ClearCacheRequest.d.ts +10 -10
  161. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  162. package/dist/request/EndSessionRequest.d.ts +15 -15
  163. package/dist/request/InitializeApplicationRequest.d.ts +8 -8
  164. package/dist/request/PopupRequest.d.ts +34 -34
  165. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  166. package/dist/request/RedirectRequest.d.ts +40 -35
  167. package/dist/request/RedirectRequest.d.ts.map +1 -1
  168. package/dist/request/RequestHelpers.d.ts +13 -13
  169. package/dist/request/RequestHelpers.mjs +53 -53
  170. package/dist/request/SilentRequest.d.ts +33 -33
  171. package/dist/request/SsoSilentRequest.d.ts +29 -29
  172. package/dist/response/AuthenticationResult.d.ts +4 -4
  173. package/dist/response/ResponseHandler.d.ts +7 -7
  174. package/dist/response/ResponseHandler.mjs +36 -36
  175. package/dist/telemetry/BrowserPerformanceClient.d.ts +38 -34
  176. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  177. package/dist/telemetry/BrowserPerformanceClient.mjs +163 -163
  178. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  179. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  180. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  181. package/dist/utils/BrowserConstants.d.ts +182 -180
  182. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  183. package/dist/utils/BrowserConstants.mjs +214 -212
  184. package/dist/utils/BrowserConstants.mjs.map +1 -1
  185. package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
  186. package/dist/utils/BrowserProtocolUtils.mjs +21 -21
  187. package/dist/utils/BrowserUtils.d.ts +75 -75
  188. package/dist/utils/BrowserUtils.mjs +157 -157
  189. package/lib/msal-browser.cjs +19027 -18857
  190. package/lib/msal-browser.cjs.map +1 -1
  191. package/lib/msal-browser.js +19027 -18857
  192. package/lib/msal-browser.js.map +1 -1
  193. package/lib/msal-browser.min.js +62 -62
  194. package/package.json +2 -2
  195. package/src/cache/BrowserCacheManager.ts +95 -0
  196. package/src/config/Configuration.ts +9 -1
  197. package/src/controllers/StandardController.ts +30 -12
  198. package/src/error/BrowserAuthError.ts +2 -0
  199. package/src/error/BrowserAuthErrorCodes.ts +1 -0
  200. package/src/interaction_client/PopupClient.ts +202 -117
  201. package/src/interaction_client/RedirectClient.ts +62 -2
  202. package/src/interaction_client/SilentIframeClient.ts +41 -3
  203. package/src/interaction_handler/RedirectHandler.ts +1 -0
  204. package/src/naa/BridgeProxy.ts +7 -2
  205. package/src/packageMetadata.ts +1 -1
  206. package/src/request/RedirectRequest.ts +5 -0
  207. package/src/telemetry/BrowserPerformanceClient.ts +1 -1
  208. package/src/utils/BrowserConstants.ts +2 -0
@@ -1,143 +1,143 @@
1
- /*! @azure/msal-browser v3.20.0 2024-07-23 */
1
+ /*! @azure/msal-browser v3.21.0 2024-08-13 */
2
2
  'use strict';
3
3
  import { PerformanceEvents, invokeAsync, invoke, ServerResponseType } from '@azure/msal-common';
4
4
  import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
5
5
  import { DEFAULT_IFRAME_TIMEOUT_MS } from '../config/Configuration.mjs';
6
6
  import { emptyNavigateUri, monitorWindowTimeout } from '../error/BrowserAuthErrorCodes.mjs';
7
7
 
8
- /*
9
- * Copyright (c) Microsoft Corporation. All rights reserved.
10
- * Licensed under the MIT License.
11
- */
12
- /**
13
- * Creates a hidden iframe to given URL using user-requested scopes as an id.
14
- * @param urlNavigate
15
- * @param userRequestScopes
16
- */
17
- async function initiateAuthRequest(requestUrl, performanceClient, logger, correlationId, navigateFrameWait) {
18
- performanceClient.addQueueMeasurement(PerformanceEvents.SilentHandlerInitiateAuthRequest, correlationId);
19
- if (!requestUrl) {
20
- // Throw error if request URL is empty.
21
- logger.info("Navigate url is empty");
22
- throw createBrowserAuthError(emptyNavigateUri);
23
- }
24
- if (navigateFrameWait) {
25
- return invokeAsync(loadFrame, PerformanceEvents.SilentHandlerLoadFrame, logger, performanceClient, correlationId)(requestUrl, navigateFrameWait, performanceClient, correlationId);
26
- }
27
- return invoke(loadFrameSync, PerformanceEvents.SilentHandlerLoadFrameSync, logger, performanceClient, correlationId)(requestUrl);
28
- }
29
- /**
30
- * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.
31
- * @param iframe
32
- * @param timeout
33
- */
34
- async function monitorIframeForHash(iframe, timeout, pollIntervalMilliseconds, performanceClient, logger, correlationId, responseType) {
35
- performanceClient.addQueueMeasurement(PerformanceEvents.SilentHandlerMonitorIframeForHash, correlationId);
36
- return new Promise((resolve, reject) => {
37
- if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {
38
- 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.`);
39
- }
40
- /*
41
- * Polling for iframes can be purely timing based,
42
- * since we don't need to account for interaction.
43
- */
44
- const timeoutId = window.setTimeout(() => {
45
- window.clearInterval(intervalId);
46
- reject(createBrowserAuthError(monitorWindowTimeout));
47
- }, timeout);
48
- const intervalId = window.setInterval(() => {
49
- let href = "";
50
- const contentWindow = iframe.contentWindow;
51
- try {
52
- /*
53
- * Will throw if cross origin,
54
- * which should be caught and ignored
55
- * since we need the interval to keep running while on STS UI.
56
- */
57
- href = contentWindow ? contentWindow.location.href : "";
58
- }
59
- catch (e) { }
60
- if (!href || href === "about:blank") {
61
- return;
62
- }
63
- let responseString = "";
64
- if (contentWindow) {
65
- if (responseType === ServerResponseType.QUERY) {
66
- responseString = contentWindow.location.search;
67
- }
68
- else {
69
- responseString = contentWindow.location.hash;
70
- }
71
- }
72
- window.clearTimeout(timeoutId);
73
- window.clearInterval(intervalId);
74
- resolve(responseString);
75
- }, pollIntervalMilliseconds);
76
- }).finally(() => {
77
- invoke(removeHiddenIframe, PerformanceEvents.RemoveHiddenIframe, logger, performanceClient, correlationId)(iframe);
78
- });
79
- }
80
- /**
81
- * @hidden
82
- * Loads iframe with authorization endpoint URL
83
- * @ignore
84
- * @deprecated
85
- */
86
- function loadFrame(urlNavigate, navigateFrameWait, performanceClient, correlationId) {
87
- performanceClient.addQueueMeasurement(PerformanceEvents.SilentHandlerLoadFrame, correlationId);
88
- /*
89
- * This trick overcomes iframe navigation in IE
90
- * IE does not load the page consistently in iframe
91
- */
92
- return new Promise((resolve, reject) => {
93
- const frameHandle = createHiddenIframe();
94
- window.setTimeout(() => {
95
- if (!frameHandle) {
96
- reject("Unable to load iframe");
97
- return;
98
- }
99
- frameHandle.src = urlNavigate;
100
- resolve(frameHandle);
101
- }, navigateFrameWait);
102
- });
103
- }
104
- /**
105
- * @hidden
106
- * Loads the iframe synchronously when the navigateTimeFrame is set to `0`
107
- * @param urlNavigate
108
- * @param frameName
109
- * @param logger
110
- */
111
- function loadFrameSync(urlNavigate) {
112
- const frameHandle = createHiddenIframe();
113
- frameHandle.src = urlNavigate;
114
- return frameHandle;
115
- }
116
- /**
117
- * @hidden
118
- * Creates a new hidden iframe or gets an existing one for silent token renewal.
119
- * @ignore
120
- */
121
- function createHiddenIframe() {
122
- const authFrame = document.createElement("iframe");
123
- authFrame.className = "msalSilentIframe";
124
- authFrame.style.visibility = "hidden";
125
- authFrame.style.position = "absolute";
126
- authFrame.style.width = authFrame.style.height = "0";
127
- authFrame.style.border = "0";
128
- authFrame.setAttribute("sandbox", "allow-scripts allow-same-origin allow-forms");
129
- document.body.appendChild(authFrame);
130
- return authFrame;
131
- }
132
- /**
133
- * @hidden
134
- * Removes a hidden iframe from the page.
135
- * @ignore
136
- */
137
- function removeHiddenIframe(iframe) {
138
- if (document.body === iframe.parentNode) {
139
- document.body.removeChild(iframe);
140
- }
8
+ /*
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License.
11
+ */
12
+ /**
13
+ * Creates a hidden iframe to given URL using user-requested scopes as an id.
14
+ * @param urlNavigate
15
+ * @param userRequestScopes
16
+ */
17
+ async function initiateAuthRequest(requestUrl, performanceClient, logger, correlationId, navigateFrameWait) {
18
+ performanceClient.addQueueMeasurement(PerformanceEvents.SilentHandlerInitiateAuthRequest, correlationId);
19
+ if (!requestUrl) {
20
+ // Throw error if request URL is empty.
21
+ logger.info("Navigate url is empty");
22
+ throw createBrowserAuthError(emptyNavigateUri);
23
+ }
24
+ if (navigateFrameWait) {
25
+ return invokeAsync(loadFrame, PerformanceEvents.SilentHandlerLoadFrame, logger, performanceClient, correlationId)(requestUrl, navigateFrameWait, performanceClient, correlationId);
26
+ }
27
+ return invoke(loadFrameSync, PerformanceEvents.SilentHandlerLoadFrameSync, logger, performanceClient, correlationId)(requestUrl);
28
+ }
29
+ /**
30
+ * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.
31
+ * @param iframe
32
+ * @param timeout
33
+ */
34
+ async function monitorIframeForHash(iframe, timeout, pollIntervalMilliseconds, performanceClient, logger, correlationId, responseType) {
35
+ performanceClient.addQueueMeasurement(PerformanceEvents.SilentHandlerMonitorIframeForHash, correlationId);
36
+ return new Promise((resolve, reject) => {
37
+ if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {
38
+ 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.`);
39
+ }
40
+ /*
41
+ * Polling for iframes can be purely timing based,
42
+ * since we don't need to account for interaction.
43
+ */
44
+ const timeoutId = window.setTimeout(() => {
45
+ window.clearInterval(intervalId);
46
+ reject(createBrowserAuthError(monitorWindowTimeout));
47
+ }, timeout);
48
+ const intervalId = window.setInterval(() => {
49
+ let href = "";
50
+ const contentWindow = iframe.contentWindow;
51
+ try {
52
+ /*
53
+ * Will throw if cross origin,
54
+ * which should be caught and ignored
55
+ * since we need the interval to keep running while on STS UI.
56
+ */
57
+ href = contentWindow ? contentWindow.location.href : "";
58
+ }
59
+ catch (e) { }
60
+ if (!href || href === "about:blank") {
61
+ return;
62
+ }
63
+ let responseString = "";
64
+ if (contentWindow) {
65
+ if (responseType === ServerResponseType.QUERY) {
66
+ responseString = contentWindow.location.search;
67
+ }
68
+ else {
69
+ responseString = contentWindow.location.hash;
70
+ }
71
+ }
72
+ window.clearTimeout(timeoutId);
73
+ window.clearInterval(intervalId);
74
+ resolve(responseString);
75
+ }, pollIntervalMilliseconds);
76
+ }).finally(() => {
77
+ invoke(removeHiddenIframe, PerformanceEvents.RemoveHiddenIframe, logger, performanceClient, correlationId)(iframe);
78
+ });
79
+ }
80
+ /**
81
+ * @hidden
82
+ * Loads iframe with authorization endpoint URL
83
+ * @ignore
84
+ * @deprecated
85
+ */
86
+ function loadFrame(urlNavigate, navigateFrameWait, performanceClient, correlationId) {
87
+ performanceClient.addQueueMeasurement(PerformanceEvents.SilentHandlerLoadFrame, correlationId);
88
+ /*
89
+ * This trick overcomes iframe navigation in IE
90
+ * IE does not load the page consistently in iframe
91
+ */
92
+ return new Promise((resolve, reject) => {
93
+ const frameHandle = createHiddenIframe();
94
+ window.setTimeout(() => {
95
+ if (!frameHandle) {
96
+ reject("Unable to load iframe");
97
+ return;
98
+ }
99
+ frameHandle.src = urlNavigate;
100
+ resolve(frameHandle);
101
+ }, navigateFrameWait);
102
+ });
103
+ }
104
+ /**
105
+ * @hidden
106
+ * Loads the iframe synchronously when the navigateTimeFrame is set to `0`
107
+ * @param urlNavigate
108
+ * @param frameName
109
+ * @param logger
110
+ */
111
+ function loadFrameSync(urlNavigate) {
112
+ const frameHandle = createHiddenIframe();
113
+ frameHandle.src = urlNavigate;
114
+ return frameHandle;
115
+ }
116
+ /**
117
+ * @hidden
118
+ * Creates a new hidden iframe or gets an existing one for silent token renewal.
119
+ * @ignore
120
+ */
121
+ function createHiddenIframe() {
122
+ const authFrame = document.createElement("iframe");
123
+ authFrame.className = "msalSilentIframe";
124
+ authFrame.style.visibility = "hidden";
125
+ authFrame.style.position = "absolute";
126
+ authFrame.style.width = authFrame.style.height = "0";
127
+ authFrame.style.border = "0";
128
+ authFrame.setAttribute("sandbox", "allow-scripts allow-same-origin allow-forms");
129
+ document.body.appendChild(authFrame);
130
+ return authFrame;
131
+ }
132
+ /**
133
+ * @hidden
134
+ * Removes a hidden iframe from the page.
135
+ * @ignore
136
+ */
137
+ function removeHiddenIframe(iframe) {
138
+ if (document.body === iframe.parentNode) {
139
+ document.body.removeChild(iframe);
140
+ }
141
141
  }
142
142
 
143
143
  export { initiateAuthRequest, monitorIframeForHash };
@@ -1,12 +1,12 @@
1
- export type AccountInfo = {
2
- homeAccountId?: string;
3
- environment: string;
4
- tenantId?: string;
5
- username: string;
6
- localAccountId?: string;
7
- name?: string;
8
- idToken?: string;
9
- platformBrokerId?: string;
10
- idTokenClaims?: object;
11
- };
1
+ export type AccountInfo = {
2
+ homeAccountId?: string;
3
+ environment: string;
4
+ tenantId?: string;
5
+ username: string;
6
+ localAccountId?: string;
7
+ name?: string;
8
+ idToken?: string;
9
+ platformBrokerId?: string;
10
+ idTokenClaims?: object;
11
+ };
12
12
  //# sourceMappingURL=AccountInfo.d.ts.map
@@ -1,9 +1,9 @@
1
- export type AuthBridgeResponse = string | {
2
- data: string;
3
- };
4
- export interface AuthBridge {
5
- addEventListener: (eventName: string, callback: (response: AuthBridgeResponse) => void) => void;
6
- postMessage: (message: string) => void;
7
- removeEventListener: (eventName: string, callback: (response: AuthBridgeResponse) => void) => void;
8
- }
1
+ export type AuthBridgeResponse = string | {
2
+ data: string;
3
+ };
4
+ export interface AuthBridge {
5
+ addEventListener: (eventName: string, callback: (response: AuthBridgeResponse) => void) => void;
6
+ postMessage: (message: string) => void;
7
+ removeEventListener: (eventName: string, callback: (response: AuthBridgeResponse) => void) => void;
8
+ }
9
9
  //# sourceMappingURL=AuthBridge.d.ts.map
@@ -1,7 +1,7 @@
1
- import { AccountInfo } from "./AccountInfo";
2
- import { TokenResponse } from "./TokenResponse";
3
- export type AuthResult = {
4
- token: TokenResponse;
5
- account: AccountInfo;
6
- };
1
+ import { AccountInfo } from "./AccountInfo";
2
+ import { TokenResponse } from "./TokenResponse";
3
+ export type AuthResult = {
4
+ token: TokenResponse;
5
+ account: AccountInfo;
6
+ };
7
7
  //# sourceMappingURL=AuthResult.d.ts.map
@@ -1,13 +1,13 @@
1
- /**
2
- * AccountContext is used to pass account information when the bridge is initialized
3
- *
4
- * NAA (MetaOS) apps are created and destroyed for the same session multiple times.
5
- * `AccountContext` helps in booting up the cached account when the bridge
6
- * is recreated for a new NAA instance in the same auth session.
7
- */
8
- export interface AccountContext {
9
- homeAccountId: string;
10
- environment: string;
11
- tenantId: string;
12
- }
1
+ /**
2
+ * AccountContext is used to pass account information when the bridge is initialized
3
+ *
4
+ * NAA (MetaOS) apps are created and destroyed for the same session multiple times.
5
+ * `AccountContext` helps in booting up the cached account when the bridge
6
+ * is recreated for a new NAA instance in the same auth session.
7
+ */
8
+ export interface AccountContext {
9
+ homeAccountId: string;
10
+ environment: string;
11
+ tenantId: string;
12
+ }
13
13
  //# sourceMappingURL=BridgeAccountContext.d.ts.map
@@ -1,4 +1,4 @@
1
- export interface BridgeCapabilities {
2
- queryAccount?: boolean;
3
- }
1
+ export interface BridgeCapabilities {
2
+ queryAccount?: boolean;
3
+ }
4
4
  //# sourceMappingURL=BridgeCapabilities.d.ts.map
@@ -1,10 +1,10 @@
1
- import { BridgeStatusCode } from "./BridgeStatusCode";
2
- export type BridgeError = {
3
- status: BridgeStatusCode;
4
- code?: string;
5
- subError?: string;
6
- description?: string;
7
- properties?: object;
8
- };
9
- export declare function isBridgeError(error: unknown): error is BridgeError;
1
+ import { BridgeStatusCode } from "./BridgeStatusCode";
2
+ export type BridgeError = {
3
+ status: BridgeStatusCode;
4
+ code?: string;
5
+ subError?: string;
6
+ description?: string;
7
+ properties?: object;
8
+ };
9
+ export declare function isBridgeError(error: unknown): error is BridgeError;
10
10
  //# sourceMappingURL=BridgeError.d.ts.map
@@ -1,11 +1,11 @@
1
- /*! @azure/msal-browser v3.20.0 2024-07-23 */
1
+ /*! @azure/msal-browser v3.21.0 2024-08-13 */
2
2
  'use strict';
3
- /*
4
- * Copyright (c) Microsoft Corporation. All rights reserved.
5
- * Licensed under the MIT License.
6
- */
7
- function isBridgeError(error) {
8
- return error.status !== undefined;
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ function isBridgeError(error) {
8
+ return error.status !== undefined;
9
9
  }
10
10
 
11
11
  export { isBridgeError };
@@ -1,68 +1,68 @@
1
- import { AuthBridge } from "./AuthBridge";
2
- import { AuthResult } from "./AuthResult";
3
- import { BridgeCapabilities } from "./BridgeCapabilities";
4
- import { AccountContext } from "./BridgeAccountContext";
5
- import { BridgeRequest } from "./BridgeRequest";
6
- import { IBridgeProxy } from "./IBridgeProxy";
7
- import { InitContext } from "./InitContext";
8
- import { TokenRequest } from "./TokenRequest";
9
- declare global {
10
- interface Window {
11
- nestedAppAuthBridge: AuthBridge;
12
- }
13
- }
14
- /**
15
- * BridgeProxy
16
- * Provides a proxy for accessing a bridge to a host app and/or
17
- * platform broker
18
- */
19
- export declare class BridgeProxy implements IBridgeProxy {
20
- static bridgeRequests: BridgeRequest[];
21
- sdkName: string;
22
- sdkVersion: string;
23
- capabilities?: BridgeCapabilities;
24
- accountContext?: AccountContext;
25
- /**
26
- * initializeNestedAppAuthBridge - Initializes the bridge to the host app
27
- * @returns a promise that resolves to an InitializeBridgeResponse or rejects with an Error
28
- * @remarks This method will be called by the create factory method
29
- * @remarks If the bridge is not available, this method will throw an error
30
- */
31
- protected static initializeNestedAppAuthBridge(): Promise<InitContext>;
32
- /**
33
- * getTokenInteractive - Attempts to get a token interactively from the bridge
34
- * @param request A token request
35
- * @returns a promise that resolves to an auth result or rejects with a BridgeError
36
- */
37
- getTokenInteractive(request: TokenRequest): Promise<AuthResult>;
38
- /**
39
- * getTokenSilent Attempts to get a token silently from the bridge
40
- * @param request A token request
41
- * @returns a promise that resolves to an auth result or rejects with a BridgeError
42
- */
43
- getTokenSilent(request: TokenRequest): Promise<AuthResult>;
44
- private getToken;
45
- getHostCapabilities(): BridgeCapabilities | null;
46
- getAccountContext(): AccountContext | null;
47
- /**
48
- * A method used to send a request to the bridge
49
- * @param request A token request
50
- * @returns a promise that resolves to a response of provided type or rejects with a BridgeError
51
- */
52
- private sendRequest;
53
- private static validateBridgeResultOrThrow;
54
- /**
55
- * Private constructor for BridgeProxy
56
- * @param sdkName The name of the SDK being used to make requests on behalf of the app
57
- * @param sdkVersion The version of the SDK being used to make requests on behalf of the app
58
- * @param capabilities The capabilities of the bridge / SDK / platform broker
59
- */
60
- private constructor();
61
- /**
62
- * Factory method for creating an implementation of IBridgeProxy
63
- * @returns A promise that resolves to a BridgeProxy implementation
64
- */
65
- static create(): Promise<IBridgeProxy>;
66
- }
67
- export default BridgeProxy;
1
+ import { AuthBridge } from "./AuthBridge";
2
+ import { AuthResult } from "./AuthResult";
3
+ import { BridgeCapabilities } from "./BridgeCapabilities";
4
+ import { AccountContext } from "./BridgeAccountContext";
5
+ import { BridgeRequest } from "./BridgeRequest";
6
+ import { IBridgeProxy } from "./IBridgeProxy";
7
+ import { InitContext } from "./InitContext";
8
+ import { TokenRequest } from "./TokenRequest";
9
+ declare global {
10
+ interface Window {
11
+ nestedAppAuthBridge: AuthBridge;
12
+ }
13
+ }
14
+ /**
15
+ * BridgeProxy
16
+ * Provides a proxy for accessing a bridge to a host app and/or
17
+ * platform broker
18
+ */
19
+ export declare class BridgeProxy implements IBridgeProxy {
20
+ static bridgeRequests: BridgeRequest[];
21
+ sdkName: string;
22
+ sdkVersion: string;
23
+ capabilities?: BridgeCapabilities;
24
+ accountContext?: AccountContext;
25
+ /**
26
+ * initializeNestedAppAuthBridge - Initializes the bridge to the host app
27
+ * @returns a promise that resolves to an InitializeBridgeResponse or rejects with an Error
28
+ * @remarks This method will be called by the create factory method
29
+ * @remarks If the bridge is not available, this method will throw an error
30
+ */
31
+ protected static initializeNestedAppAuthBridge(): Promise<InitContext>;
32
+ /**
33
+ * getTokenInteractive - Attempts to get a token interactively from the bridge
34
+ * @param request A token request
35
+ * @returns a promise that resolves to an auth result or rejects with a BridgeError
36
+ */
37
+ getTokenInteractive(request: TokenRequest): Promise<AuthResult>;
38
+ /**
39
+ * getTokenSilent Attempts to get a token silently from the bridge
40
+ * @param request A token request
41
+ * @returns a promise that resolves to an auth result or rejects with a BridgeError
42
+ */
43
+ getTokenSilent(request: TokenRequest): Promise<AuthResult>;
44
+ private getToken;
45
+ getHostCapabilities(): BridgeCapabilities | null;
46
+ getAccountContext(): AccountContext | null;
47
+ /**
48
+ * A method used to send a request to the bridge
49
+ * @param request A token request
50
+ * @returns a promise that resolves to a response of provided type or rejects with a BridgeError
51
+ */
52
+ private sendRequest;
53
+ private static validateBridgeResultOrThrow;
54
+ /**
55
+ * Private constructor for BridgeProxy
56
+ * @param sdkName The name of the SDK being used to make requests on behalf of the app
57
+ * @param sdkVersion The version of the SDK being used to make requests on behalf of the app
58
+ * @param capabilities The capabilities of the bridge / SDK / platform broker
59
+ */
60
+ private constructor();
61
+ /**
62
+ * Factory method for creating an implementation of IBridgeProxy
63
+ * @returns A promise that resolves to a BridgeProxy implementation
64
+ */
65
+ static create(): Promise<IBridgeProxy>;
66
+ }
67
+ export default BridgeProxy;
68
68
  //# sourceMappingURL=BridgeProxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeProxy.d.ts","sourceRoot":"","sources":["../../src/naa/BridgeProxy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAsB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,mBAAmB,EAAE,UAAU,CAAC;KACnC;CACJ;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC5C,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,CAAM;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;OAKG;qBACoB,6BAA6B,IAAI,OAAO,CAAC,WAAW,CAAC;IAgE5E;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAItE;;;;OAIG;IACI,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;YAInD,QAAQ;IAaf,mBAAmB,IAAI,kBAAkB,GAAG,IAAI;IAIhD,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAIjD;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAU1C;;;;;OAKG;IACH,OAAO;IAYP;;;OAGG;WACiB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAStD;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"BridgeProxy.d.ts","sourceRoot":"","sources":["../../src/naa/BridgeProxy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAsB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,mBAAmB,EAAE,UAAU,CAAC;KACnC;CACJ;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC5C,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,CAAM;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;OAKG;qBACoB,6BAA6B,IAAI,OAAO,CAAC,WAAW,CAAC;IAkE5E;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAItE;;;;OAIG;IACI,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;YAInD,QAAQ;IAaf,mBAAmB,IAAI,kBAAkB,GAAG,IAAI;IAIhD,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAIjD;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAU1C;;;;;OAKG;IACH,OAAO;IAYP;;;OAGG;WACiB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAStD;AAED,eAAe,WAAW,CAAC"}