@azure/msal-browser 3.5.1-beta.1 → 3.7.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 (290) hide show
  1. package/dist/app/IPublicClientApplication.d.ts +51 -51
  2. package/dist/app/IPublicClientApplication.mjs +102 -102
  3. package/dist/app/IPublicClientApplication.mjs.map +1 -1
  4. package/dist/app/PublicClientApplication.d.ts +269 -268
  5. package/dist/app/PublicClientApplication.d.ts.map +1 -1
  6. package/dist/app/PublicClientApplication.mjs +333 -333
  7. package/dist/app/PublicClientApplication.mjs.map +1 -1
  8. package/dist/app/PublicClientNext.d.ts +273 -273
  9. package/dist/app/PublicClientNext.mjs +351 -351
  10. package/dist/app/PublicClientNext.mjs.map +1 -1
  11. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
  12. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
  13. package/dist/broker/nativeBroker/NativeMessageHandler.mjs.map +1 -1
  14. package/dist/broker/nativeBroker/NativeRequest.d.ts +44 -44
  15. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  16. package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
  17. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
  18. package/dist/broker/nativeBroker/NativeStatusCodes.mjs.map +1 -1
  19. package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
  20. package/dist/cache/AsyncMemoryStorage.mjs +132 -132
  21. package/dist/cache/AsyncMemoryStorage.mjs.map +1 -1
  22. package/dist/cache/BrowserCacheManager.d.ts +395 -383
  23. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  24. package/dist/cache/BrowserCacheManager.mjs +1283 -1263
  25. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  26. package/dist/cache/BrowserStorage.d.ts +11 -11
  27. package/dist/cache/BrowserStorage.mjs +32 -32
  28. package/dist/cache/BrowserStorage.mjs.map +1 -1
  29. package/dist/cache/CryptoKeyStore.d.ts +18 -18
  30. package/dist/cache/CryptoKeyStore.mjs +40 -40
  31. package/dist/cache/CryptoKeyStore.mjs.map +1 -1
  32. package/dist/cache/DatabaseStorage.d.ts +56 -56
  33. package/dist/cache/DatabaseStorage.mjs +190 -190
  34. package/dist/cache/DatabaseStorage.mjs.map +1 -1
  35. package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
  36. package/dist/cache/ITokenCache.d.ts +11 -11
  37. package/dist/cache/IWindowStorage.d.ts +27 -27
  38. package/dist/cache/MemoryStorage.d.ts +11 -11
  39. package/dist/cache/MemoryStorage.mjs +31 -31
  40. package/dist/cache/MemoryStorage.mjs.map +1 -1
  41. package/dist/cache/TokenCache.d.ts +77 -77
  42. package/dist/cache/TokenCache.d.ts.map +1 -1
  43. package/dist/cache/TokenCache.mjs +223 -225
  44. package/dist/cache/TokenCache.mjs.map +1 -1
  45. package/dist/config/Configuration.d.ts +206 -206
  46. package/dist/config/Configuration.d.ts.map +1 -1
  47. package/dist/config/Configuration.mjs +128 -128
  48. package/dist/config/Configuration.mjs.map +1 -1
  49. package/dist/controllers/ControllerFactory.d.ts +4 -4
  50. package/dist/controllers/ControllerFactory.d.ts.map +1 -1
  51. package/dist/controllers/ControllerFactory.mjs +29 -29
  52. package/dist/controllers/ControllerFactory.mjs.map +1 -1
  53. package/dist/controllers/IController.d.ts +61 -61
  54. package/dist/controllers/NestedAppAuthController.d.ts +95 -95
  55. package/dist/controllers/NestedAppAuthController.mjs +334 -334
  56. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  57. package/dist/controllers/StandardController.d.ts +407 -407
  58. package/dist/controllers/StandardController.d.ts.map +1 -1
  59. package/dist/controllers/StandardController.mjs +1307 -1294
  60. package/dist/controllers/StandardController.mjs.map +1 -1
  61. package/dist/controllers/UnknownOperatingContextController.d.ts +87 -87
  62. package/dist/controllers/UnknownOperatingContextController.mjs +264 -264
  63. package/dist/controllers/UnknownOperatingContextController.mjs.map +1 -1
  64. package/dist/crypto/BrowserCrypto.d.ts +44 -44
  65. package/dist/crypto/BrowserCrypto.mjs +93 -93
  66. package/dist/crypto/BrowserCrypto.mjs.map +1 -1
  67. package/dist/crypto/CryptoOps.d.ts +63 -63
  68. package/dist/crypto/CryptoOps.mjs +145 -145
  69. package/dist/crypto/CryptoOps.mjs.map +1 -1
  70. package/dist/crypto/PkceGenerator.d.ts +8 -8
  71. package/dist/crypto/PkceGenerator.mjs +54 -54
  72. package/dist/crypto/PkceGenerator.mjs.map +1 -1
  73. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  74. package/dist/crypto/SignedHttpRequest.mjs +39 -39
  75. package/dist/crypto/SignedHttpRequest.mjs.map +1 -1
  76. package/dist/encode/Base64Decode.d.ts +9 -9
  77. package/dist/encode/Base64Decode.mjs +36 -36
  78. package/dist/encode/Base64Decode.mjs.map +1 -1
  79. package/dist/encode/Base64Encode.d.ts +19 -19
  80. package/dist/encode/Base64Encode.mjs +43 -43
  81. package/dist/encode/Base64Encode.mjs.map +1 -1
  82. package/dist/error/BrowserAuthError.d.ts +250 -250
  83. package/dist/error/BrowserAuthError.mjs +258 -258
  84. package/dist/error/BrowserAuthError.mjs.map +1 -1
  85. package/dist/error/BrowserAuthErrorCodes.d.ts +45 -45
  86. package/dist/error/BrowserAuthErrorCodes.mjs +49 -49
  87. package/dist/error/BrowserAuthErrorCodes.mjs.map +1 -1
  88. package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
  89. package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
  90. package/dist/error/BrowserConfigurationAuthError.mjs.map +1 -1
  91. package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
  92. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
  93. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs.map +1 -1
  94. package/dist/error/NativeAuthError.d.ts +29 -29
  95. package/dist/error/NativeAuthError.mjs +60 -60
  96. package/dist/error/NativeAuthError.mjs.map +1 -1
  97. package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
  98. package/dist/error/NativeAuthErrorCodes.mjs +6 -6
  99. package/dist/error/NativeAuthErrorCodes.mjs.map +1 -1
  100. package/dist/error/NestedAppAuthError.d.ts +14 -14
  101. package/dist/error/NestedAppAuthError.mjs +23 -23
  102. package/dist/error/NestedAppAuthError.mjs.map +1 -1
  103. package/dist/event/EventHandler.d.ts +41 -41
  104. package/dist/event/EventHandler.mjs +119 -119
  105. package/dist/event/EventHandler.mjs.map +1 -1
  106. package/dist/event/EventMessage.d.ts +25 -25
  107. package/dist/event/EventMessage.mjs +68 -68
  108. package/dist/event/EventMessage.mjs.map +1 -1
  109. package/dist/event/EventType.d.ts +28 -28
  110. package/dist/event/EventType.mjs +31 -31
  111. package/dist/event/EventType.mjs.map +1 -1
  112. package/dist/index.d.ts +39 -39
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.mjs +1 -1
  115. package/dist/interaction_client/BaseInteractionClient.d.ts +54 -54
  116. package/dist/interaction_client/BaseInteractionClient.mjs +152 -152
  117. package/dist/interaction_client/BaseInteractionClient.mjs.map +1 -1
  118. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  119. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
  120. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs.map +1 -1
  121. package/dist/interaction_client/NativeInteractionClient.d.ts +140 -140
  122. package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  123. package/dist/interaction_client/NativeInteractionClient.mjs +541 -549
  124. package/dist/interaction_client/NativeInteractionClient.mjs.map +1 -1
  125. package/dist/interaction_client/PopupClient.d.ts +105 -105
  126. package/dist/interaction_client/PopupClient.mjs +432 -432
  127. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  128. package/dist/interaction_client/RedirectClient.d.ts +49 -49
  129. package/dist/interaction_client/RedirectClient.mjs +311 -311
  130. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  131. package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
  132. package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
  133. package/dist/interaction_client/SilentAuthCodeClient.mjs.map +1 -1
  134. package/dist/interaction_client/SilentCacheClient.d.ts +24 -24
  135. package/dist/interaction_client/SilentCacheClient.mjs +61 -61
  136. package/dist/interaction_client/SilentCacheClient.mjs.map +1 -1
  137. package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
  138. package/dist/interaction_client/SilentIframeClient.mjs +96 -96
  139. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  140. package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
  141. package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
  142. package/dist/interaction_client/SilentRefreshClient.mjs +47 -43
  143. package/dist/interaction_client/SilentRefreshClient.mjs.map +1 -1
  144. package/dist/interaction_client/StandardInteractionClient.d.ts +54 -54
  145. package/dist/interaction_client/StandardInteractionClient.mjs +222 -222
  146. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  147. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  148. package/dist/interaction_handler/InteractionHandler.mjs +93 -93
  149. package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
  150. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  151. package/dist/interaction_handler/RedirectHandler.mjs +134 -134
  152. package/dist/interaction_handler/RedirectHandler.mjs.map +1 -1
  153. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  154. package/dist/interaction_handler/SilentHandler.mjs +133 -133
  155. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  156. package/dist/naa/AccountInfo.d.ts +11 -11
  157. package/dist/naa/AuthBridge.d.ts +8 -5
  158. package/dist/naa/AuthBridge.d.ts.map +1 -1
  159. package/dist/naa/AuthResult.d.ts +7 -0
  160. package/dist/naa/AuthResult.d.ts.map +1 -0
  161. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  162. package/dist/naa/BridgeError.d.ts +9 -9
  163. package/dist/naa/BridgeError.mjs +7 -7
  164. package/dist/naa/BridgeError.mjs.map +1 -1
  165. package/dist/naa/BridgeProxy.d.ts +68 -72
  166. package/dist/naa/BridgeProxy.d.ts.map +1 -1
  167. package/dist/naa/BridgeProxy.mjs +155 -152
  168. package/dist/naa/BridgeProxy.mjs.map +1 -1
  169. package/dist/naa/BridgeRequest.d.ts +7 -6
  170. package/dist/naa/BridgeRequest.d.ts.map +1 -1
  171. package/dist/naa/BridgeRequestEnvelope.d.ts +12 -13
  172. package/dist/naa/BridgeRequestEnvelope.d.ts.map +1 -1
  173. package/dist/naa/BridgeResponseEnvelope.d.ts +13 -10
  174. package/dist/naa/BridgeResponseEnvelope.d.ts.map +1 -1
  175. package/dist/naa/BridgeStatusCode.d.ts +11 -10
  176. package/dist/naa/BridgeStatusCode.d.ts.map +1 -1
  177. package/dist/naa/BridgeStatusCode.mjs +15 -16
  178. package/dist/naa/BridgeStatusCode.mjs.map +1 -1
  179. package/dist/naa/IBridgeProxy.d.ts +10 -12
  180. package/dist/naa/IBridgeProxy.d.ts.map +1 -1
  181. package/dist/naa/{InitializeBridgeResponse.d.ts → InitContext.d.ts} +7 -7
  182. package/dist/naa/InitContext.d.ts.map +1 -0
  183. package/dist/naa/TokenRequest.d.ts +18 -19
  184. package/dist/naa/TokenRequest.d.ts.map +1 -1
  185. package/dist/naa/TokenResponse.d.ts +13 -15
  186. package/dist/naa/TokenResponse.d.ts.map +1 -1
  187. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -23
  188. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  189. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +141 -141
  190. package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
  191. package/dist/navigation/INavigationClient.d.ts +16 -16
  192. package/dist/navigation/NavigationClient.d.ts +22 -22
  193. package/dist/navigation/NavigationClient.mjs +40 -40
  194. package/dist/navigation/NavigationClient.mjs.map +1 -1
  195. package/dist/navigation/NavigationOptions.d.ts +12 -12
  196. package/dist/network/FetchClient.d.ts +26 -26
  197. package/dist/network/FetchClient.mjs +99 -99
  198. package/dist/network/FetchClient.mjs.map +1 -1
  199. package/dist/operatingcontext/BaseOperatingContext.d.ts +41 -40
  200. package/dist/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
  201. package/dist/operatingcontext/BaseOperatingContext.mjs +96 -45
  202. package/dist/operatingcontext/BaseOperatingContext.mjs.map +1 -1
  203. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  204. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  205. package/dist/operatingcontext/StandardOperatingContext.mjs.map +1 -1
  206. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
  207. package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -85
  208. package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
  209. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  210. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  211. package/dist/operatingcontext/UnknownOperatingContext.mjs.map +1 -1
  212. package/dist/packageMetadata.d.ts +2 -2
  213. package/dist/packageMetadata.d.ts.map +1 -1
  214. package/dist/packageMetadata.mjs +4 -4
  215. package/dist/packageMetadata.mjs.map +1 -1
  216. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  217. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  218. package/dist/request/ClearCacheRequest.d.ts +10 -10
  219. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  220. package/dist/request/EndSessionRequest.d.ts +15 -15
  221. package/dist/request/PopupRequest.d.ts +34 -34
  222. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  223. package/dist/request/RedirectRequest.d.ts +35 -35
  224. package/dist/request/SilentRequest.d.ts +32 -32
  225. package/dist/request/SsoSilentRequest.d.ts +29 -29
  226. package/dist/response/AuthenticationResult.d.ts +4 -4
  227. package/dist/response/ResponseHandler.d.ts +7 -7
  228. package/dist/response/ResponseHandler.mjs +36 -36
  229. package/dist/response/ResponseHandler.mjs.map +1 -1
  230. package/dist/telemetry/BrowserPerformanceClient.d.ts +34 -36
  231. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  232. package/dist/telemetry/BrowserPerformanceClient.mjs +163 -126
  233. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  234. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  235. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  236. package/dist/telemetry/BrowserPerformanceMeasurement.mjs.map +1 -1
  237. package/dist/utils/BrowserConstants.d.ts +180 -176
  238. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  239. package/dist/utils/BrowserConstants.mjs +213 -205
  240. package/dist/utils/BrowserConstants.mjs.map +1 -1
  241. package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
  242. package/dist/utils/BrowserProtocolUtils.mjs +21 -21
  243. package/dist/utils/BrowserProtocolUtils.mjs.map +1 -1
  244. package/dist/utils/BrowserUtils.d.ts +56 -56
  245. package/dist/utils/BrowserUtils.mjs +125 -125
  246. package/dist/utils/BrowserUtils.mjs.map +1 -1
  247. package/lib/msal-browser.cjs +18304 -17929
  248. package/lib/msal-browser.cjs.map +1 -1
  249. package/lib/msal-browser.js +18304 -17929
  250. package/lib/msal-browser.js.map +1 -1
  251. package/lib/msal-browser.min.js +66 -68
  252. package/package.json +103 -102
  253. package/src/app/PublicClientApplication.ts +2 -1
  254. package/src/cache/BrowserCacheManager.ts +38 -23
  255. package/src/cache/DatabaseStorage.ts +1 -1
  256. package/src/cache/TokenCache.ts +34 -29
  257. package/src/config/Configuration.ts +1 -1
  258. package/src/controllers/ControllerFactory.ts +3 -5
  259. package/src/controllers/StandardController.ts +53 -26
  260. package/src/crypto/CryptoOps.ts +1 -1
  261. package/src/crypto/SignedHttpRequest.ts +1 -1
  262. package/src/index.ts +1 -0
  263. package/src/interaction_client/BaseInteractionClient.ts +2 -2
  264. package/src/interaction_client/NativeInteractionClient.ts +24 -20
  265. package/src/interaction_client/PopupClient.ts +1 -1
  266. package/src/interaction_client/RedirectClient.ts +3 -3
  267. package/src/interaction_client/SilentAuthCodeClient.ts +1 -1
  268. package/src/interaction_client/SilentRefreshClient.ts +8 -0
  269. package/src/interaction_client/StandardInteractionClient.ts +1 -1
  270. package/src/interaction_handler/SilentHandler.ts +2 -2
  271. package/src/naa/AuthBridge.ts +3 -2
  272. package/src/naa/AuthResult.ts +12 -0
  273. package/src/naa/BridgeProxy.ts +64 -71
  274. package/src/naa/BridgeRequest.ts +6 -2
  275. package/src/naa/BridgeRequestEnvelope.ts +1 -13
  276. package/src/naa/BridgeResponseEnvelope.ts +5 -7
  277. package/src/naa/BridgeStatusCode.ts +12 -10
  278. package/src/naa/IBridgeProxy.ts +3 -14
  279. package/src/naa/{InitializeBridgeResponse.ts → InitContext.ts} +1 -1
  280. package/src/naa/TokenRequest.ts +1 -2
  281. package/src/naa/TokenResponse.ts +1 -4
  282. package/src/naa/mapping/NestedAppAuthAdapter.ts +19 -19
  283. package/src/operatingcontext/BaseOperatingContext.ts +64 -7
  284. package/src/packageMetadata.ts +1 -1
  285. package/src/telemetry/BrowserPerformanceClient.ts +95 -42
  286. package/src/utils/BrowserConstants.ts +11 -0
  287. package/dist/naa/AccountRequests.d.ts +0 -10
  288. package/dist/naa/AccountRequests.d.ts.map +0 -1
  289. package/dist/naa/InitializeBridgeResponse.d.ts.map +0 -1
  290. package/src/naa/AccountRequests.ts +0 -16
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v3.5.1-beta.1 2023-11-14 */
1
+ /*! @azure/msal-browser v3.7.0 2024-01-09 */
2
2
  'use strict';
3
3
  import { NativeConstants, NativeExtensionMethod } from '../../utils/BrowserConstants.mjs';
4
4
  import { PerformanceEvents, createAuthError, AuthErrorCodes, AuthenticationScheme } from '@azure/msal-common';
@@ -7,259 +7,259 @@ import { createBrowserAuthError } from '../../error/BrowserAuthError.mjs';
7
7
  import { createNewGuid } from '../../crypto/BrowserCrypto.mjs';
8
8
  import { nativeHandshakeTimeout, nativeExtensionNotInstalled } from '../../error/BrowserAuthErrorCodes.mjs';
9
9
 
10
- /*
11
- * Copyright (c) Microsoft Corporation. All rights reserved.
12
- * Licensed under the MIT License.
13
- */
14
- class NativeMessageHandler {
15
- constructor(logger, handshakeTimeoutMs, performanceClient, extensionId) {
16
- this.logger = logger;
17
- this.handshakeTimeoutMs = handshakeTimeoutMs;
18
- this.extensionId = extensionId;
19
- this.resolvers = new Map(); // Used for non-handshake messages
20
- this.handshakeResolvers = new Map(); // Used for handshake messages
21
- this.messageChannel = new MessageChannel();
22
- this.windowListener = this.onWindowMessage.bind(this); // Window event callback doesn't have access to 'this' unless it's bound
23
- this.performanceClient = performanceClient;
24
- this.handshakeEvent = performanceClient.startMeasurement(PerformanceEvents.NativeMessageHandlerHandshake);
25
- }
26
- /**
27
- * Sends a given message to the extension and resolves with the extension response
28
- * @param body
29
- */
30
- async sendMessage(body) {
31
- this.logger.trace("NativeMessageHandler - sendMessage called.");
32
- const req = {
33
- channel: NativeConstants.CHANNEL_ID,
34
- extensionId: this.extensionId,
35
- responseId: createNewGuid(),
36
- body: body,
37
- };
38
- this.logger.trace("NativeMessageHandler - Sending request to browser extension");
39
- this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(req)}`);
40
- this.messageChannel.port1.postMessage(req);
41
- return new Promise((resolve, reject) => {
42
- this.resolvers.set(req.responseId, { resolve, reject });
43
- });
44
- }
45
- /**
46
- * Returns an instance of the MessageHandler that has successfully established a connection with an extension
47
- * @param {Logger} logger
48
- * @param {number} handshakeTimeoutMs
49
- * @param {IPerformanceClient} performanceClient
50
- * @param {ICrypto} crypto
51
- */
52
- static async createProvider(logger, handshakeTimeoutMs, performanceClient) {
53
- logger.trace("NativeMessageHandler - createProvider called.");
54
- try {
55
- const preferredProvider = new NativeMessageHandler(logger, handshakeTimeoutMs, performanceClient, NativeConstants.PREFERRED_EXTENSION_ID);
56
- await preferredProvider.sendHandshakeRequest();
57
- return preferredProvider;
58
- }
59
- catch (e) {
60
- // If preferred extension fails for whatever reason, fallback to using any installed extension
61
- const backupProvider = new NativeMessageHandler(logger, handshakeTimeoutMs, performanceClient);
62
- await backupProvider.sendHandshakeRequest();
63
- return backupProvider;
64
- }
65
- }
66
- /**
67
- * Send handshake request helper.
68
- */
69
- async sendHandshakeRequest() {
70
- this.logger.trace("NativeMessageHandler - sendHandshakeRequest called.");
71
- // Register this event listener before sending handshake
72
- window.addEventListener("message", this.windowListener, false); // false is important, because content script message processing should work first
73
- const req = {
74
- channel: NativeConstants.CHANNEL_ID,
75
- extensionId: this.extensionId,
76
- responseId: createNewGuid(),
77
- body: {
78
- method: NativeExtensionMethod.HandshakeRequest,
79
- },
80
- };
81
- this.handshakeEvent.add({
82
- extensionId: this.extensionId,
83
- extensionHandshakeTimeoutMs: this.handshakeTimeoutMs,
84
- });
85
- this.messageChannel.port1.onmessage = (event) => {
86
- this.onChannelMessage(event);
87
- };
88
- window.postMessage(req, window.origin, [this.messageChannel.port2]);
89
- return new Promise((resolve, reject) => {
90
- this.handshakeResolvers.set(req.responseId, { resolve, reject });
91
- this.timeoutId = window.setTimeout(() => {
92
- /*
93
- * Throw an error if neither HandshakeResponse nor original Handshake request are received in a reasonable timeframe.
94
- * This typically suggests an event handler stopped propagation of the Handshake request but did not respond to it on the MessageChannel port
95
- */
96
- window.removeEventListener("message", this.windowListener, false);
97
- this.messageChannel.port1.close();
98
- this.messageChannel.port2.close();
99
- this.handshakeEvent.end({
100
- extensionHandshakeTimedOut: true,
101
- success: false,
102
- });
103
- reject(createBrowserAuthError(nativeHandshakeTimeout));
104
- this.handshakeResolvers.delete(req.responseId);
105
- }, this.handshakeTimeoutMs); // Use a reasonable timeout in milliseconds here
106
- });
107
- }
108
- /**
109
- * Invoked when a message is posted to the window. If a handshake request is received it means the extension is not installed.
110
- * @param event
111
- */
112
- onWindowMessage(event) {
113
- this.logger.trace("NativeMessageHandler - onWindowMessage called");
114
- // We only accept messages from ourselves
115
- if (event.source !== window) {
116
- return;
117
- }
118
- const request = event.data;
119
- if (!request.channel ||
120
- request.channel !== NativeConstants.CHANNEL_ID) {
121
- return;
122
- }
123
- if (request.extensionId && request.extensionId !== this.extensionId) {
124
- return;
125
- }
126
- if (request.body.method === NativeExtensionMethod.HandshakeRequest) {
127
- const handshakeResolver = this.handshakeResolvers.get(request.responseId);
128
- /*
129
- * Filter out responses with no matched resolvers sooner to keep channel ports open while waiting for
130
- * the proper response.
131
- */
132
- if (!handshakeResolver) {
133
- this.logger.trace(`NativeMessageHandler.onWindowMessage - resolver can't be found for request ${request.responseId}`);
134
- return;
135
- }
136
- // If we receive this message back it means no extension intercepted the request, meaning no extension supporting handshake protocol is installed
137
- this.logger.verbose(request.extensionId
138
- ? `Extension with id: ${request.extensionId} not installed`
139
- : "No extension installed");
140
- clearTimeout(this.timeoutId);
141
- this.messageChannel.port1.close();
142
- this.messageChannel.port2.close();
143
- window.removeEventListener("message", this.windowListener, false);
144
- this.handshakeEvent.end({
145
- success: false,
146
- extensionInstalled: false,
147
- });
148
- handshakeResolver.reject(createBrowserAuthError(nativeExtensionNotInstalled));
149
- }
150
- }
151
- /**
152
- * Invoked when a message is received from the extension on the MessageChannel port
153
- * @param event
154
- */
155
- onChannelMessage(event) {
156
- this.logger.trace("NativeMessageHandler - onChannelMessage called.");
157
- const request = event.data;
158
- const resolver = this.resolvers.get(request.responseId);
159
- const handshakeResolver = this.handshakeResolvers.get(request.responseId);
160
- try {
161
- const method = request.body.method;
162
- if (method === NativeExtensionMethod.Response) {
163
- if (!resolver) {
164
- return;
165
- }
166
- const response = request.body.response;
167
- this.logger.trace("NativeMessageHandler - Received response from browser extension");
168
- this.logger.tracePii(`NativeMessageHandler - Received response from browser extension: ${JSON.stringify(response)}`);
169
- if (response.status !== "Success") {
170
- resolver.reject(createNativeAuthError(response.code, response.description, response.ext));
171
- }
172
- else if (response.result) {
173
- if (response.result["code"] &&
174
- response.result["description"]) {
175
- resolver.reject(createNativeAuthError(response.result["code"], response.result["description"], response.result["ext"]));
176
- }
177
- else {
178
- resolver.resolve(response.result);
179
- }
180
- }
181
- else {
182
- throw createAuthError(AuthErrorCodes.unexpectedError, "Event does not contain result.");
183
- }
184
- this.resolvers.delete(request.responseId);
185
- }
186
- else if (method === NativeExtensionMethod.HandshakeResponse) {
187
- if (!handshakeResolver) {
188
- this.logger.trace(`NativeMessageHandler.onChannelMessage - resolver can't be found for request ${request.responseId}`);
189
- return;
190
- }
191
- clearTimeout(this.timeoutId); // Clear setTimeout
192
- window.removeEventListener("message", this.windowListener, false); // Remove 'No extension' listener
193
- this.extensionId = request.extensionId;
194
- this.extensionVersion = request.body.version;
195
- this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`);
196
- this.handshakeEvent.end({
197
- extensionInstalled: true,
198
- success: true,
199
- });
200
- handshakeResolver.resolve();
201
- this.handshakeResolvers.delete(request.responseId);
202
- }
203
- // Do nothing if method is not Response or HandshakeResponse
204
- }
205
- catch (err) {
206
- this.logger.error("Error parsing response from WAM Extension");
207
- this.logger.errorPii(`Error parsing response from WAM Extension: ${err}`);
208
- this.logger.errorPii(`Unable to parse ${event}`);
209
- if (resolver) {
210
- resolver.reject(err);
211
- }
212
- else if (handshakeResolver) {
213
- handshakeResolver.reject(err);
214
- }
215
- }
216
- }
217
- /**
218
- * Returns the Id for the browser extension this handler is communicating with
219
- * @returns
220
- */
221
- getExtensionId() {
222
- return this.extensionId;
223
- }
224
- /**
225
- * Returns the version for the browser extension this handler is communicating with
226
- * @returns
227
- */
228
- getExtensionVersion() {
229
- return this.extensionVersion;
230
- }
231
- /**
232
- * Returns boolean indicating whether or not the request should attempt to use native broker
233
- * @param logger
234
- * @param config
235
- * @param nativeExtensionProvider
236
- * @param authenticationScheme
237
- */
238
- static isNativeAvailable(config, logger, nativeExtensionProvider, authenticationScheme) {
239
- logger.trace("isNativeAvailable called");
240
- if (!config.system.allowNativeBroker) {
241
- logger.trace("isNativeAvailable: allowNativeBroker is not enabled, returning false");
242
- // Developer disabled WAM
243
- return false;
244
- }
245
- if (!nativeExtensionProvider) {
246
- logger.trace("isNativeAvailable: WAM extension provider is not initialized, returning false");
247
- // Extension is not available
248
- return false;
249
- }
250
- if (authenticationScheme) {
251
- switch (authenticationScheme) {
252
- case AuthenticationScheme.BEARER:
253
- case AuthenticationScheme.POP:
254
- logger.trace("isNativeAvailable: authenticationScheme is supported, returning true");
255
- return true;
256
- default:
257
- logger.trace("isNativeAvailable: authenticationScheme is not supported, returning false");
258
- return false;
259
- }
260
- }
261
- return true;
262
- }
10
+ /*
11
+ * Copyright (c) Microsoft Corporation. All rights reserved.
12
+ * Licensed under the MIT License.
13
+ */
14
+ class NativeMessageHandler {
15
+ constructor(logger, handshakeTimeoutMs, performanceClient, extensionId) {
16
+ this.logger = logger;
17
+ this.handshakeTimeoutMs = handshakeTimeoutMs;
18
+ this.extensionId = extensionId;
19
+ this.resolvers = new Map(); // Used for non-handshake messages
20
+ this.handshakeResolvers = new Map(); // Used for handshake messages
21
+ this.messageChannel = new MessageChannel();
22
+ this.windowListener = this.onWindowMessage.bind(this); // Window event callback doesn't have access to 'this' unless it's bound
23
+ this.performanceClient = performanceClient;
24
+ this.handshakeEvent = performanceClient.startMeasurement(PerformanceEvents.NativeMessageHandlerHandshake);
25
+ }
26
+ /**
27
+ * Sends a given message to the extension and resolves with the extension response
28
+ * @param body
29
+ */
30
+ async sendMessage(body) {
31
+ this.logger.trace("NativeMessageHandler - sendMessage called.");
32
+ const req = {
33
+ channel: NativeConstants.CHANNEL_ID,
34
+ extensionId: this.extensionId,
35
+ responseId: createNewGuid(),
36
+ body: body,
37
+ };
38
+ this.logger.trace("NativeMessageHandler - Sending request to browser extension");
39
+ this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(req)}`);
40
+ this.messageChannel.port1.postMessage(req);
41
+ return new Promise((resolve, reject) => {
42
+ this.resolvers.set(req.responseId, { resolve, reject });
43
+ });
44
+ }
45
+ /**
46
+ * Returns an instance of the MessageHandler that has successfully established a connection with an extension
47
+ * @param {Logger} logger
48
+ * @param {number} handshakeTimeoutMs
49
+ * @param {IPerformanceClient} performanceClient
50
+ * @param {ICrypto} crypto
51
+ */
52
+ static async createProvider(logger, handshakeTimeoutMs, performanceClient) {
53
+ logger.trace("NativeMessageHandler - createProvider called.");
54
+ try {
55
+ const preferredProvider = new NativeMessageHandler(logger, handshakeTimeoutMs, performanceClient, NativeConstants.PREFERRED_EXTENSION_ID);
56
+ await preferredProvider.sendHandshakeRequest();
57
+ return preferredProvider;
58
+ }
59
+ catch (e) {
60
+ // If preferred extension fails for whatever reason, fallback to using any installed extension
61
+ const backupProvider = new NativeMessageHandler(logger, handshakeTimeoutMs, performanceClient);
62
+ await backupProvider.sendHandshakeRequest();
63
+ return backupProvider;
64
+ }
65
+ }
66
+ /**
67
+ * Send handshake request helper.
68
+ */
69
+ async sendHandshakeRequest() {
70
+ this.logger.trace("NativeMessageHandler - sendHandshakeRequest called.");
71
+ // Register this event listener before sending handshake
72
+ window.addEventListener("message", this.windowListener, false); // false is important, because content script message processing should work first
73
+ const req = {
74
+ channel: NativeConstants.CHANNEL_ID,
75
+ extensionId: this.extensionId,
76
+ responseId: createNewGuid(),
77
+ body: {
78
+ method: NativeExtensionMethod.HandshakeRequest,
79
+ },
80
+ };
81
+ this.handshakeEvent.add({
82
+ extensionId: this.extensionId,
83
+ extensionHandshakeTimeoutMs: this.handshakeTimeoutMs,
84
+ });
85
+ this.messageChannel.port1.onmessage = (event) => {
86
+ this.onChannelMessage(event);
87
+ };
88
+ window.postMessage(req, window.origin, [this.messageChannel.port2]);
89
+ return new Promise((resolve, reject) => {
90
+ this.handshakeResolvers.set(req.responseId, { resolve, reject });
91
+ this.timeoutId = window.setTimeout(() => {
92
+ /*
93
+ * Throw an error if neither HandshakeResponse nor original Handshake request are received in a reasonable timeframe.
94
+ * This typically suggests an event handler stopped propagation of the Handshake request but did not respond to it on the MessageChannel port
95
+ */
96
+ window.removeEventListener("message", this.windowListener, false);
97
+ this.messageChannel.port1.close();
98
+ this.messageChannel.port2.close();
99
+ this.handshakeEvent.end({
100
+ extensionHandshakeTimedOut: true,
101
+ success: false,
102
+ });
103
+ reject(createBrowserAuthError(nativeHandshakeTimeout));
104
+ this.handshakeResolvers.delete(req.responseId);
105
+ }, this.handshakeTimeoutMs); // Use a reasonable timeout in milliseconds here
106
+ });
107
+ }
108
+ /**
109
+ * Invoked when a message is posted to the window. If a handshake request is received it means the extension is not installed.
110
+ * @param event
111
+ */
112
+ onWindowMessage(event) {
113
+ this.logger.trace("NativeMessageHandler - onWindowMessage called");
114
+ // We only accept messages from ourselves
115
+ if (event.source !== window) {
116
+ return;
117
+ }
118
+ const request = event.data;
119
+ if (!request.channel ||
120
+ request.channel !== NativeConstants.CHANNEL_ID) {
121
+ return;
122
+ }
123
+ if (request.extensionId && request.extensionId !== this.extensionId) {
124
+ return;
125
+ }
126
+ if (request.body.method === NativeExtensionMethod.HandshakeRequest) {
127
+ const handshakeResolver = this.handshakeResolvers.get(request.responseId);
128
+ /*
129
+ * Filter out responses with no matched resolvers sooner to keep channel ports open while waiting for
130
+ * the proper response.
131
+ */
132
+ if (!handshakeResolver) {
133
+ this.logger.trace(`NativeMessageHandler.onWindowMessage - resolver can't be found for request ${request.responseId}`);
134
+ return;
135
+ }
136
+ // If we receive this message back it means no extension intercepted the request, meaning no extension supporting handshake protocol is installed
137
+ this.logger.verbose(request.extensionId
138
+ ? `Extension with id: ${request.extensionId} not installed`
139
+ : "No extension installed");
140
+ clearTimeout(this.timeoutId);
141
+ this.messageChannel.port1.close();
142
+ this.messageChannel.port2.close();
143
+ window.removeEventListener("message", this.windowListener, false);
144
+ this.handshakeEvent.end({
145
+ success: false,
146
+ extensionInstalled: false,
147
+ });
148
+ handshakeResolver.reject(createBrowserAuthError(nativeExtensionNotInstalled));
149
+ }
150
+ }
151
+ /**
152
+ * Invoked when a message is received from the extension on the MessageChannel port
153
+ * @param event
154
+ */
155
+ onChannelMessage(event) {
156
+ this.logger.trace("NativeMessageHandler - onChannelMessage called.");
157
+ const request = event.data;
158
+ const resolver = this.resolvers.get(request.responseId);
159
+ const handshakeResolver = this.handshakeResolvers.get(request.responseId);
160
+ try {
161
+ const method = request.body.method;
162
+ if (method === NativeExtensionMethod.Response) {
163
+ if (!resolver) {
164
+ return;
165
+ }
166
+ const response = request.body.response;
167
+ this.logger.trace("NativeMessageHandler - Received response from browser extension");
168
+ this.logger.tracePii(`NativeMessageHandler - Received response from browser extension: ${JSON.stringify(response)}`);
169
+ if (response.status !== "Success") {
170
+ resolver.reject(createNativeAuthError(response.code, response.description, response.ext));
171
+ }
172
+ else if (response.result) {
173
+ if (response.result["code"] &&
174
+ response.result["description"]) {
175
+ resolver.reject(createNativeAuthError(response.result["code"], response.result["description"], response.result["ext"]));
176
+ }
177
+ else {
178
+ resolver.resolve(response.result);
179
+ }
180
+ }
181
+ else {
182
+ throw createAuthError(AuthErrorCodes.unexpectedError, "Event does not contain result.");
183
+ }
184
+ this.resolvers.delete(request.responseId);
185
+ }
186
+ else if (method === NativeExtensionMethod.HandshakeResponse) {
187
+ if (!handshakeResolver) {
188
+ this.logger.trace(`NativeMessageHandler.onChannelMessage - resolver can't be found for request ${request.responseId}`);
189
+ return;
190
+ }
191
+ clearTimeout(this.timeoutId); // Clear setTimeout
192
+ window.removeEventListener("message", this.windowListener, false); // Remove 'No extension' listener
193
+ this.extensionId = request.extensionId;
194
+ this.extensionVersion = request.body.version;
195
+ this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`);
196
+ this.handshakeEvent.end({
197
+ extensionInstalled: true,
198
+ success: true,
199
+ });
200
+ handshakeResolver.resolve();
201
+ this.handshakeResolvers.delete(request.responseId);
202
+ }
203
+ // Do nothing if method is not Response or HandshakeResponse
204
+ }
205
+ catch (err) {
206
+ this.logger.error("Error parsing response from WAM Extension");
207
+ this.logger.errorPii(`Error parsing response from WAM Extension: ${err}`);
208
+ this.logger.errorPii(`Unable to parse ${event}`);
209
+ if (resolver) {
210
+ resolver.reject(err);
211
+ }
212
+ else if (handshakeResolver) {
213
+ handshakeResolver.reject(err);
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * Returns the Id for the browser extension this handler is communicating with
219
+ * @returns
220
+ */
221
+ getExtensionId() {
222
+ return this.extensionId;
223
+ }
224
+ /**
225
+ * Returns the version for the browser extension this handler is communicating with
226
+ * @returns
227
+ */
228
+ getExtensionVersion() {
229
+ return this.extensionVersion;
230
+ }
231
+ /**
232
+ * Returns boolean indicating whether or not the request should attempt to use native broker
233
+ * @param logger
234
+ * @param config
235
+ * @param nativeExtensionProvider
236
+ * @param authenticationScheme
237
+ */
238
+ static isNativeAvailable(config, logger, nativeExtensionProvider, authenticationScheme) {
239
+ logger.trace("isNativeAvailable called");
240
+ if (!config.system.allowNativeBroker) {
241
+ logger.trace("isNativeAvailable: allowNativeBroker is not enabled, returning false");
242
+ // Developer disabled WAM
243
+ return false;
244
+ }
245
+ if (!nativeExtensionProvider) {
246
+ logger.trace("isNativeAvailable: WAM extension provider is not initialized, returning false");
247
+ // Extension is not available
248
+ return false;
249
+ }
250
+ if (authenticationScheme) {
251
+ switch (authenticationScheme) {
252
+ case AuthenticationScheme.BEARER:
253
+ case AuthenticationScheme.POP:
254
+ logger.trace("isNativeAvailable: authenticationScheme is supported, returning true");
255
+ return true;
256
+ default:
257
+ logger.trace("isNativeAvailable: authenticationScheme is not supported, returning false");
258
+ return false;
259
+ }
260
+ }
261
+ return true;
262
+ }
263
263
  }
264
264
 
265
265
  export { NativeMessageHandler };
@@ -1 +1 @@
1
- {"version":3,"file":"NativeMessageHandler.mjs","sources":["../../../src/broker/nativeBroker/NativeMessageHandler.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AASA;AAUA;AASA;AAUA;AAMW,0BAAmD,CAAA;IAC1D,sCAAiE,EAAA,iBAAA,EAAA,WAAA,EAAA;QAC1D,IAAC,gBAA+B,CAAA;AACvC,QAAA,IAAQ,CAAA,kBAAS,GAAA,kBAA8C,CAAA;AAC/D,QAAA,IAAQ,CAAA,WAAS,GAAA,WAAiB,CAAqB;AACvD,QAAA,IAAQ,CAAA,SAAS,GAAA,IAAA,GAAA,EAAA,CAAc;AAG3B,QAAA,IAAA,CAAA,kBACA,GAAA,IAAA,GAAA,EAAA,CAAA;AAiBJ,QAAA,IAAA,CAAA,cAAA,GAAA,IAAA,cAAA,EAAA,CAAA;;;AAGG,QAAA,IAAA,CAAA,cAAA,GAAA,iBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,6BAAA,CAAA,CAAA;KACc;AAwBjB;;;;;;AAMG,QAAA,MAAA,GAAA,GAAA;AACU,YAAA,OAAA,EAAA,eACK,CAAA;AA0BlB,YAAA,WAAA,EAAA,IAAA,CAAA,WAAA;;AAEG,YAAA,IAAA,EAAA,IAAA;;AAuDH,QAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA,6DAAA,CAAA,CAAA;;;AAGG,QAAA,OAAA,IAAA,OAAA,CAAA,CAAA,OAAA,EAAA,MAAA,KAAA;AACH,YAAQ,IAAe,CAAA,SAAA,CAAA,GAAA,CAAA,GAAA,CAAA,UAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,CAAA;AAyDvB,SAAA,CAAA,CAAA;;;AAGG;AACH;AAiGA;;;AAGG;IACH,aAAc,cAAa,CAAS,MAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA;AAIpC,QAAA,MAAA,CAAA,KAAA,CAAA,+CAAA,CAAA,CAAA;;;AAGG,YAAA,MAAA,iBAAA,CAAA,oBAAA,EAAA,CAAA;YACgB,OAAA,iBAAa,CAAS;AAIzC,SAAA;;;;;;AAMG,SAAA;KACG;AAyCT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NativeMessageHandler.mjs","sources":["../../../src/broker/nativeBroker/NativeMessageHandler.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.nativeHandshakeTimeout","BrowserAuthErrorCodes.nativeExtensionNotInstalled"],"mappings":"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"}
@@ -1,45 +1,45 @@
1
- import { NativeExtensionMethod } from "../../utils/BrowserConstants";
2
- import { StoreInCache, StringDict } from "@azure/msal-common";
3
- /**
4
- * Token request which native broker will use to acquire tokens
5
- */
6
- export type NativeTokenRequest = {
7
- accountId: string;
8
- clientId: string;
9
- authority: string;
10
- redirectUri: string;
11
- scope: string;
12
- correlationId: string;
13
- windowTitleSubstring: string;
14
- prompt?: string;
15
- nonce?: string;
16
- claims?: string;
17
- state?: string;
18
- reqCnf?: string;
19
- keyId?: string;
20
- tokenType?: string;
21
- shrClaims?: string;
22
- shrNonce?: string;
23
- resourceRequestMethod?: string;
24
- resourceRequestUri?: string;
25
- extendedExpiryToken?: boolean;
26
- extraParameters?: StringDict;
27
- storeInCache?: StoreInCache;
28
- };
29
- /**
30
- * Request which will be forwarded to native broker by the browser extension
31
- */
32
- export type NativeExtensionRequestBody = {
33
- method: NativeExtensionMethod;
34
- request?: NativeTokenRequest;
35
- };
36
- /**
37
- * Browser extension request
38
- */
39
- export type NativeExtensionRequest = {
40
- channel: string;
41
- responseId: string;
42
- extensionId?: string;
43
- body: NativeExtensionRequestBody;
44
- };
1
+ import { NativeExtensionMethod } from "../../utils/BrowserConstants";
2
+ import { StoreInCache, StringDict } from "@azure/msal-common";
3
+ /**
4
+ * Token request which native broker will use to acquire tokens
5
+ */
6
+ export type NativeTokenRequest = {
7
+ accountId: string;
8
+ clientId: string;
9
+ authority: string;
10
+ redirectUri: string;
11
+ scope: string;
12
+ correlationId: string;
13
+ windowTitleSubstring: string;
14
+ prompt?: string;
15
+ nonce?: string;
16
+ claims?: string;
17
+ state?: string;
18
+ reqCnf?: string;
19
+ keyId?: string;
20
+ tokenType?: string;
21
+ shrClaims?: string;
22
+ shrNonce?: string;
23
+ resourceRequestMethod?: string;
24
+ resourceRequestUri?: string;
25
+ extendedExpiryToken?: boolean;
26
+ extraParameters?: StringDict;
27
+ storeInCache?: StoreInCache;
28
+ };
29
+ /**
30
+ * Request which will be forwarded to native broker by the browser extension
31
+ */
32
+ export type NativeExtensionRequestBody = {
33
+ method: NativeExtensionMethod;
34
+ request?: NativeTokenRequest;
35
+ };
36
+ /**
37
+ * Browser extension request
38
+ */
39
+ export type NativeExtensionRequest = {
40
+ channel: string;
41
+ responseId: string;
42
+ extensionId?: string;
43
+ body: NativeExtensionRequestBody;
44
+ };
45
45
  //# sourceMappingURL=NativeRequest.d.ts.map