@azure/msal-browser 4.12.0 → 4.13.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 (199) hide show
  1. package/dist/app/IPublicClientApplication.mjs +1 -1
  2. package/dist/app/PublicClientApplication.mjs +1 -1
  3. package/dist/app/PublicClientNext.mjs +1 -1
  4. package/dist/broker/nativeBroker/IPlatformAuthHandler.d.ts +12 -0
  5. package/dist/broker/nativeBroker/IPlatformAuthHandler.d.ts.map +1 -0
  6. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  7. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.d.ts +30 -0
  8. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -0
  9. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +143 -0
  10. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -0
  11. package/dist/broker/nativeBroker/{NativeMessageHandler.d.ts → PlatformAuthExtensionHandler.d.ts} +16 -16
  12. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.d.ts.map +1 -0
  13. package/dist/broker/nativeBroker/{NativeMessageHandler.mjs → PlatformAuthExtensionHandler.mjs} +66 -58
  14. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs.map +1 -0
  15. package/dist/broker/nativeBroker/PlatformAuthProvider.d.ts +26 -0
  16. package/dist/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -0
  17. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +108 -0
  18. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs.map +1 -0
  19. package/dist/broker/nativeBroker/{NativeRequest.d.ts → PlatformAuthRequest.d.ts} +34 -3
  20. package/dist/broker/nativeBroker/PlatformAuthRequest.d.ts.map +1 -0
  21. package/dist/broker/nativeBroker/{NativeResponse.d.ts → PlatformAuthResponse.d.ts} +24 -2
  22. package/dist/broker/nativeBroker/PlatformAuthResponse.d.ts.map +1 -0
  23. package/dist/cache/AccountManager.mjs +1 -1
  24. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  25. package/dist/cache/BrowserCacheManager.d.ts +6 -2
  26. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  27. package/dist/cache/BrowserCacheManager.mjs +17 -2
  28. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  29. package/dist/cache/CacheHelpers.mjs +1 -1
  30. package/dist/cache/CookieStorage.mjs +1 -1
  31. package/dist/cache/DatabaseStorage.mjs +1 -1
  32. package/dist/cache/LocalStorage.mjs +1 -1
  33. package/dist/cache/MemoryStorage.mjs +1 -1
  34. package/dist/cache/SessionStorage.mjs +1 -1
  35. package/dist/cache/TokenCache.mjs +1 -1
  36. package/dist/config/Configuration.mjs +1 -1
  37. package/dist/controllers/ControllerFactory.mjs +1 -1
  38. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  39. package/dist/controllers/StandardController.d.ts +2 -2
  40. package/dist/controllers/StandardController.d.ts.map +1 -1
  41. package/dist/controllers/StandardController.mjs +30 -29
  42. package/dist/controllers/StandardController.mjs.map +1 -1
  43. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  44. package/dist/crypto/BrowserCrypto.mjs +1 -1
  45. package/dist/crypto/CryptoOps.mjs +1 -1
  46. package/dist/crypto/PkceGenerator.mjs +1 -1
  47. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  48. package/dist/encode/Base64Decode.mjs +1 -1
  49. package/dist/encode/Base64Encode.mjs +1 -1
  50. package/dist/error/BrowserAuthError.mjs +1 -1
  51. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  52. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  53. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  54. package/dist/error/NativeAuthError.mjs +1 -1
  55. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  56. package/dist/error/NestedAppAuthError.mjs +1 -1
  57. package/dist/event/EventHandler.mjs +1 -1
  58. package/dist/event/EventMessage.d.ts +10 -1
  59. package/dist/event/EventMessage.d.ts.map +1 -1
  60. package/dist/event/EventMessage.mjs +1 -1
  61. package/dist/event/EventMessage.mjs.map +1 -1
  62. package/dist/event/EventType.d.ts +1 -0
  63. package/dist/event/EventType.d.ts.map +1 -1
  64. package/dist/event/EventType.mjs +2 -1
  65. package/dist/event/EventType.mjs.map +1 -1
  66. package/dist/index.d.ts +2 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.mjs +2 -1
  69. package/dist/index.mjs.map +1 -1
  70. package/dist/interaction_client/BaseInteractionClient.d.ts +3 -3
  71. package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  72. package/dist/interaction_client/BaseInteractionClient.mjs +3 -3
  73. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  74. package/dist/interaction_client/{NativeInteractionClient.d.ts → PlatformAuthInteractionClient.d.ts} +21 -23
  75. package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -0
  76. package/dist/interaction_client/{NativeInteractionClient.mjs → PlatformAuthInteractionClient.mjs} +80 -111
  77. package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -0
  78. package/dist/interaction_client/PopupClient.d.ts +2 -2
  79. package/dist/interaction_client/PopupClient.d.ts.map +1 -1
  80. package/dist/interaction_client/PopupClient.mjs +7 -7
  81. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  82. package/dist/interaction_client/RedirectClient.d.ts +2 -2
  83. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  84. package/dist/interaction_client/RedirectClient.mjs +7 -8
  85. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  86. package/dist/interaction_client/SilentAuthCodeClient.d.ts +2 -2
  87. package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
  88. package/dist/interaction_client/SilentAuthCodeClient.mjs +3 -3
  89. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  90. package/dist/interaction_client/SilentIframeClient.d.ts +2 -2
  91. package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
  92. package/dist/interaction_client/SilentIframeClient.mjs +7 -8
  93. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  94. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  95. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  96. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  97. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  98. package/dist/naa/BridgeError.mjs +1 -1
  99. package/dist/naa/BridgeProxy.mjs +1 -1
  100. package/dist/naa/BridgeStatusCode.mjs +1 -1
  101. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  102. package/dist/navigation/NavigationClient.mjs +1 -1
  103. package/dist/network/FetchClient.mjs +1 -1
  104. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  105. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  106. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  107. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  108. package/dist/packageMetadata.d.ts +1 -1
  109. package/dist/packageMetadata.mjs +2 -2
  110. package/dist/protocol/Authorize.d.ts +4 -4
  111. package/dist/protocol/Authorize.d.ts.map +1 -1
  112. package/dist/protocol/Authorize.mjs +10 -9
  113. package/dist/protocol/Authorize.mjs.map +1 -1
  114. package/dist/request/RequestHelpers.mjs +1 -1
  115. package/dist/response/ResponseHandler.mjs +1 -1
  116. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  117. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  118. package/dist/utils/BrowserConstants.d.ts +8 -1
  119. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  120. package/dist/utils/BrowserConstants.mjs +11 -4
  121. package/dist/utils/BrowserConstants.mjs.map +1 -1
  122. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  123. package/dist/utils/BrowserUtils.mjs +1 -1
  124. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  125. package/lib/msal-browser.cjs +1539 -1318
  126. package/lib/msal-browser.cjs.map +1 -1
  127. package/lib/msal-browser.js +1539 -1318
  128. package/lib/msal-browser.js.map +1 -1
  129. package/lib/msal-browser.min.js +66 -66
  130. package/lib/types/broker/nativeBroker/IPlatformAuthHandler.d.ts +12 -0
  131. package/lib/types/broker/nativeBroker/IPlatformAuthHandler.d.ts.map +1 -0
  132. package/lib/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts +30 -0
  133. package/lib/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -0
  134. package/lib/types/broker/nativeBroker/{NativeMessageHandler.d.ts → PlatformAuthExtensionHandler.d.ts} +16 -16
  135. package/lib/types/broker/nativeBroker/PlatformAuthExtensionHandler.d.ts.map +1 -0
  136. package/lib/types/broker/nativeBroker/PlatformAuthProvider.d.ts +26 -0
  137. package/lib/types/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -0
  138. package/lib/types/broker/nativeBroker/{NativeRequest.d.ts → PlatformAuthRequest.d.ts} +34 -3
  139. package/lib/types/broker/nativeBroker/PlatformAuthRequest.d.ts.map +1 -0
  140. package/lib/types/broker/nativeBroker/{NativeResponse.d.ts → PlatformAuthResponse.d.ts} +24 -2
  141. package/lib/types/broker/nativeBroker/PlatformAuthResponse.d.ts.map +1 -0
  142. package/lib/types/cache/BrowserCacheManager.d.ts +6 -2
  143. package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
  144. package/lib/types/controllers/StandardController.d.ts +2 -2
  145. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  146. package/lib/types/event/EventMessage.d.ts +10 -1
  147. package/lib/types/event/EventMessage.d.ts.map +1 -1
  148. package/lib/types/event/EventType.d.ts +1 -0
  149. package/lib/types/event/EventType.d.ts.map +1 -1
  150. package/lib/types/index.d.ts +2 -1
  151. package/lib/types/index.d.ts.map +1 -1
  152. package/lib/types/interaction_client/BaseInteractionClient.d.ts +3 -3
  153. package/lib/types/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  154. package/lib/types/interaction_client/{NativeInteractionClient.d.ts → PlatformAuthInteractionClient.d.ts} +21 -23
  155. package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -0
  156. package/lib/types/interaction_client/PopupClient.d.ts +2 -2
  157. package/lib/types/interaction_client/PopupClient.d.ts.map +1 -1
  158. package/lib/types/interaction_client/RedirectClient.d.ts +2 -2
  159. package/lib/types/interaction_client/RedirectClient.d.ts.map +1 -1
  160. package/lib/types/interaction_client/SilentAuthCodeClient.d.ts +2 -2
  161. package/lib/types/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
  162. package/lib/types/interaction_client/SilentIframeClient.d.ts +2 -2
  163. package/lib/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
  164. package/lib/types/packageMetadata.d.ts +1 -1
  165. package/lib/types/protocol/Authorize.d.ts +4 -4
  166. package/lib/types/protocol/Authorize.d.ts.map +1 -1
  167. package/lib/types/utils/BrowserConstants.d.ts +8 -1
  168. package/lib/types/utils/BrowserConstants.d.ts.map +1 -1
  169. package/package.json +2 -2
  170. package/src/broker/nativeBroker/IPlatformAuthHandler.ts +17 -0
  171. package/src/broker/nativeBroker/PlatformAuthDOMHandler.ts +248 -0
  172. package/src/broker/nativeBroker/{NativeMessageHandler.ts → PlatformAuthExtensionHandler.ts} +90 -79
  173. package/src/broker/nativeBroker/PlatformAuthProvider.ts +164 -0
  174. package/src/broker/nativeBroker/{NativeRequest.ts → PlatformAuthRequest.ts} +41 -2
  175. package/src/broker/nativeBroker/{NativeResponse.ts → PlatformAuthResponse.ts} +25 -1
  176. package/src/cache/BrowserCacheManager.ts +27 -3
  177. package/src/controllers/StandardController.ts +51 -45
  178. package/src/event/EventMessage.ts +11 -0
  179. package/src/event/EventType.ts +1 -0
  180. package/src/index.ts +3 -0
  181. package/src/interaction_client/BaseInteractionClient.ts +4 -4
  182. package/src/interaction_client/{NativeInteractionClient.ts → PlatformAuthInteractionClient.ts} +136 -167
  183. package/src/interaction_client/PopupClient.ts +8 -7
  184. package/src/interaction_client/RedirectClient.ts +12 -12
  185. package/src/interaction_client/SilentAuthCodeClient.ts +3 -3
  186. package/src/interaction_client/SilentIframeClient.ts +12 -12
  187. package/src/packageMetadata.ts +1 -1
  188. package/src/protocol/Authorize.ts +12 -10
  189. package/src/utils/BrowserConstants.ts +9 -1
  190. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts.map +0 -1
  191. package/dist/broker/nativeBroker/NativeMessageHandler.mjs.map +0 -1
  192. package/dist/broker/nativeBroker/NativeRequest.d.ts.map +0 -1
  193. package/dist/broker/nativeBroker/NativeResponse.d.ts.map +0 -1
  194. package/dist/interaction_client/NativeInteractionClient.d.ts.map +0 -1
  195. package/dist/interaction_client/NativeInteractionClient.mjs.map +0 -1
  196. package/lib/types/broker/nativeBroker/NativeMessageHandler.d.ts.map +0 -1
  197. package/lib/types/broker/nativeBroker/NativeRequest.d.ts.map +0 -1
  198. package/lib/types/broker/nativeBroker/NativeResponse.d.ts.map +0 -1
  199. package/lib/types/interaction_client/NativeInteractionClient.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.12.0 2025-05-06 */
1
+ /*! @azure/msal-browser v4.13.0 2025-05-30 */
2
2
  'use strict';
3
3
  import { createBrowserConfigurationAuthError } from '../error/BrowserConfigurationAuthError.mjs';
4
4
  import { stubbedPublicClientApplicationCalled } from '../error/BrowserConfigurationAuthErrorCodes.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.12.0 2025-05-06 */
1
+ /*! @azure/msal-browser v4.13.0 2025-05-30 */
2
2
  'use strict';
3
3
  import { createV3Controller } from '../controllers/ControllerFactory.mjs';
4
4
  import { StandardController } from '../controllers/StandardController.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.12.0 2025-05-06 */
1
+ /*! @azure/msal-browser v4.13.0 2025-05-30 */
2
2
  'use strict';
3
3
  import { createController } from '../controllers/ControllerFactory.mjs';
4
4
  import { UnknownOperatingContextController } from '../controllers/UnknownOperatingContextController.mjs';
@@ -0,0 +1,12 @@
1
+ import { PlatformAuthRequest } from "./PlatformAuthRequest.js";
2
+ import { PlatformAuthResponse } from "./PlatformAuthResponse.js";
3
+ /**
4
+ * Interface for the Platform Broker Handlers
5
+ */
6
+ export interface IPlatformAuthHandler {
7
+ getExtensionId(): string | undefined;
8
+ getExtensionVersion(): string | undefined;
9
+ getExtensionName(): string | undefined;
10
+ sendMessage(request: PlatformAuthRequest): Promise<PlatformAuthResponse>;
11
+ }
12
+ //# sourceMappingURL=IPlatformAuthHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPlatformAuthHandler.d.ts","sourceRoot":"","sources":["../../../src/broker/nativeBroker/IPlatformAuthHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,cAAc,IAAI,MAAM,GAAG,SAAS,CAAC;IACrC,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC1C,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvC,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC5E"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.12.0 2025-05-06 */
1
+ /*! @azure/msal-browser v4.13.0 2025-05-30 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -0,0 +1,30 @@
1
+ import { Logger, IPerformanceClient } from "@azure/msal-common/browser";
2
+ import { PlatformAuthRequest } from "./PlatformAuthRequest.js";
3
+ import { PlatformAuthResponse } from "./PlatformAuthResponse.js";
4
+ import { IPlatformAuthHandler } from "./IPlatformAuthHandler.js";
5
+ export declare class PlatformAuthDOMHandler implements IPlatformAuthHandler {
6
+ protected logger: Logger;
7
+ protected performanceClient: IPerformanceClient;
8
+ protected correlationId: string;
9
+ platformAuthType: string;
10
+ constructor(logger: Logger, performanceClient: IPerformanceClient, correlationId: string);
11
+ static createProvider(logger: Logger, performanceClient: IPerformanceClient, correlationId: string): Promise<PlatformAuthDOMHandler | undefined>;
12
+ /**
13
+ * Returns the Id for the broker extension this handler is communicating with
14
+ * @returns
15
+ */
16
+ getExtensionId(): string;
17
+ getExtensionVersion(): string | undefined;
18
+ getExtensionName(): string | undefined;
19
+ /**
20
+ * Send token request to platform broker via browser DOM API
21
+ * @param request
22
+ * @returns
23
+ */
24
+ sendMessage(request: PlatformAuthRequest): Promise<PlatformAuthResponse>;
25
+ private initializePlatformDOMRequest;
26
+ private validatePlatformBrokerResponse;
27
+ private convertToPlatformBrokerResponse;
28
+ private getDOMExtraParams;
29
+ }
30
+ //# sourceMappingURL=PlatformAuthDOMHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformAuthDOMHandler.d.ts","sourceRoot":"","sources":["../../../src/broker/nativeBroker/PlatformAuthDOMHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,MAAM,EAGN,kBAAkB,EAErB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEH,mBAAmB,EAEtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACH,oBAAoB,EAEvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,qBAAa,sBAAuB,YAAW,oBAAoB;IAC/D,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAChD,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;gBAGrB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,kBAAkB,EACrC,aAAa,EAAE,MAAM;WAQZ,cAAc,CACvB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,kBAAkB,EACrC,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IA0B9C;;;OAGG;IACH,cAAc,IAAI,MAAM;IAIxB,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAIzC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAItC;;;;OAIG;IACG,WAAW,CACb,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IAsBhC,OAAO,CAAC,4BAA4B;IA0CpC,OAAO,CAAC,8BAA8B;IAiDtC,OAAO,CAAC,+BAA+B;IAsBvC,OAAO,CAAC,iBAAiB;CAiB5B"}
@@ -0,0 +1,143 @@
1
+ /*! @azure/msal-browser v4.13.0 2025-05-30 */
2
+ 'use strict';
3
+ import { createAuthError, AuthErrorCodes } from '@azure/msal-common/browser';
4
+ import { PlatformAuthConstants } from '../../utils/BrowserConstants.mjs';
5
+ import { createNativeAuthError } from '../../error/NativeAuthError.mjs';
6
+
7
+ /*
8
+ * Copyright (c) Microsoft Corporation. All rights reserved.
9
+ * Licensed under the MIT License.
10
+ */
11
+ class PlatformAuthDOMHandler {
12
+ constructor(logger, performanceClient, correlationId) {
13
+ this.logger = logger;
14
+ this.performanceClient = performanceClient;
15
+ this.correlationId = correlationId;
16
+ this.platformAuthType = PlatformAuthConstants.PLATFORM_DOM_PROVIDER;
17
+ }
18
+ static async createProvider(logger, performanceClient, correlationId) {
19
+ logger.trace("PlatformAuthDOMHandler: createProvider called");
20
+ // @ts-ignore
21
+ if (window.navigator?.platformAuthentication) {
22
+ const supportedContracts =
23
+ // @ts-ignore
24
+ await window.navigator.platformAuthentication.getSupportedContracts(PlatformAuthConstants.MICROSOFT_ENTRA_BROKERID);
25
+ if (supportedContracts?.includes(PlatformAuthConstants.PLATFORM_DOM_APIS)) {
26
+ logger.trace("Platform auth api available in DOM");
27
+ return new PlatformAuthDOMHandler(logger, performanceClient, correlationId);
28
+ }
29
+ }
30
+ return undefined;
31
+ }
32
+ /**
33
+ * Returns the Id for the broker extension this handler is communicating with
34
+ * @returns
35
+ */
36
+ getExtensionId() {
37
+ return PlatformAuthConstants.MICROSOFT_ENTRA_BROKERID;
38
+ }
39
+ getExtensionVersion() {
40
+ return "";
41
+ }
42
+ getExtensionName() {
43
+ return PlatformAuthConstants.DOM_API_NAME;
44
+ }
45
+ /**
46
+ * Send token request to platform broker via browser DOM API
47
+ * @param request
48
+ * @returns
49
+ */
50
+ async sendMessage(request) {
51
+ this.logger.trace(this.platformAuthType + " - Sending request to browser DOM API");
52
+ try {
53
+ const platformDOMRequest = this.initializePlatformDOMRequest(request);
54
+ const response =
55
+ // @ts-ignore
56
+ await window.navigator.platformAuthentication.executeGetToken(platformDOMRequest);
57
+ return this.validatePlatformBrokerResponse(response);
58
+ }
59
+ catch (e) {
60
+ this.logger.error(this.platformAuthType + " - executeGetToken DOM API error");
61
+ throw e;
62
+ }
63
+ }
64
+ initializePlatformDOMRequest(request) {
65
+ this.logger.trace(this.platformAuthType + " - initializeNativeDOMRequest called");
66
+ const { accountId, clientId, authority, scope, redirectUri, correlationId, state, storeInCache, embeddedClientId, extraParameters, ...remainingProperties } = request;
67
+ const validExtraParameters = this.getDOMExtraParams(remainingProperties);
68
+ const platformDOMRequest = {
69
+ accountId: accountId,
70
+ brokerId: this.getExtensionId(),
71
+ authority: authority,
72
+ clientId: clientId,
73
+ correlationId: correlationId || this.correlationId,
74
+ extraParameters: { ...extraParameters, ...validExtraParameters },
75
+ isSecurityTokenService: false,
76
+ redirectUri: redirectUri,
77
+ scope: scope,
78
+ state: state,
79
+ storeInCache: storeInCache,
80
+ embeddedClientId: embeddedClientId,
81
+ };
82
+ return platformDOMRequest;
83
+ }
84
+ validatePlatformBrokerResponse(response) {
85
+ if (response.hasOwnProperty("isSuccess")) {
86
+ if (response.hasOwnProperty("accessToken") &&
87
+ response.hasOwnProperty("idToken") &&
88
+ response.hasOwnProperty("clientInfo") &&
89
+ response.hasOwnProperty("account") &&
90
+ response.hasOwnProperty("scopes") &&
91
+ response.hasOwnProperty("expiresIn")) {
92
+ this.logger.trace(this.platformAuthType +
93
+ " - platform broker returned successful and valid response");
94
+ return this.convertToPlatformBrokerResponse(response);
95
+ }
96
+ else if (response.hasOwnProperty("error")) {
97
+ const errorResponse = response;
98
+ if (errorResponse.isSuccess === false &&
99
+ errorResponse.error &&
100
+ errorResponse.error.code) {
101
+ this.logger.trace(this.platformAuthType +
102
+ " - platform broker returned error response");
103
+ throw createNativeAuthError(errorResponse.error.code, errorResponse.error.description, {
104
+ error: parseInt(errorResponse.error.errorCode),
105
+ protocol_error: errorResponse.error.protocolError,
106
+ status: errorResponse.error.status,
107
+ properties: errorResponse.error.properties,
108
+ });
109
+ }
110
+ }
111
+ }
112
+ throw createAuthError(AuthErrorCodes.unexpectedError, "Response missing expected properties.");
113
+ }
114
+ convertToPlatformBrokerResponse(response) {
115
+ this.logger.trace(this.platformAuthType + " - convertToNativeResponse called");
116
+ const nativeResponse = {
117
+ access_token: response.accessToken,
118
+ id_token: response.idToken,
119
+ client_info: response.clientInfo,
120
+ account: response.account,
121
+ expires_in: response.expiresIn,
122
+ scope: response.scopes,
123
+ state: response.state || "",
124
+ properties: response.properties || {},
125
+ extendedLifetimeToken: response.extendedLifetimeToken ?? false,
126
+ shr: response.proofOfPossessionPayload,
127
+ };
128
+ return nativeResponse;
129
+ }
130
+ getDOMExtraParams(extraParameters) {
131
+ const stringifiedParams = Object.entries(extraParameters).reduce((record, [key, value]) => {
132
+ record[key] = String(value);
133
+ return record;
134
+ }, {});
135
+ const validExtraParams = {
136
+ ...stringifiedParams,
137
+ };
138
+ return validExtraParams;
139
+ }
140
+ }
141
+
142
+ export { PlatformAuthDOMHandler };
143
+ //# sourceMappingURL=PlatformAuthDOMHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformAuthDOMHandler.mjs","sources":["../../../src/broker/nativeBroker/PlatformAuthDOMHandler.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { Logger, AuthenticationScheme, IPerformanceClient } from "@azure/msal-common/browser";
2
- import { NativeExtensionRequestBody } from "./NativeRequest.js";
3
- import { BrowserConfiguration } from "../../config/Configuration.js";
4
- export declare class NativeMessageHandler {
1
+ import { Logger, IPerformanceClient } from "@azure/msal-common/browser";
2
+ import { PlatformAuthRequest } from "./PlatformAuthRequest.js";
3
+ import { PlatformAuthResponse } from "./PlatformAuthResponse.js";
4
+ import { IPlatformAuthHandler } from "./IPlatformAuthHandler.js";
5
+ export declare class PlatformAuthExtensionHandler implements IPlatformAuthHandler {
5
6
  private extensionId;
6
7
  private extensionVersion;
7
8
  private logger;
@@ -13,12 +14,13 @@ export declare class NativeMessageHandler {
13
14
  private readonly windowListener;
14
15
  private readonly performanceClient;
15
16
  private readonly handshakeEvent;
17
+ platformAuthType: string;
16
18
  constructor(logger: Logger, handshakeTimeoutMs: number, performanceClient: IPerformanceClient, extensionId?: string);
17
19
  /**
18
20
  * Sends a given message to the extension and resolves with the extension response
19
- * @param body
21
+ * @param request
20
22
  */
21
- sendMessage(body: NativeExtensionRequestBody): Promise<object>;
23
+ sendMessage(request: PlatformAuthRequest): Promise<PlatformAuthResponse>;
22
24
  /**
23
25
  * Returns an instance of the MessageHandler that has successfully established a connection with an extension
24
26
  * @param {Logger} logger
@@ -26,7 +28,7 @@ export declare class NativeMessageHandler {
26
28
  * @param {IPerformanceClient} performanceClient
27
29
  * @param {ICrypto} crypto
28
30
  */
29
- static createProvider(logger: Logger, handshakeTimeoutMs: number, performanceClient: IPerformanceClient): Promise<NativeMessageHandler>;
31
+ static createProvider(logger: Logger, handshakeTimeoutMs: number, performanceClient: IPerformanceClient): Promise<PlatformAuthExtensionHandler>;
30
32
  /**
31
33
  * Send handshake request helper.
32
34
  */
@@ -41,6 +43,11 @@ export declare class NativeMessageHandler {
41
43
  * @param event
42
44
  */
43
45
  private onChannelMessage;
46
+ /**
47
+ * Validates native platform response before processing
48
+ * @param response
49
+ */
50
+ private validatePlatformBrokerResponse;
44
51
  /**
45
52
  * Returns the Id for the browser extension this handler is communicating with
46
53
  * @returns
@@ -51,13 +58,6 @@ export declare class NativeMessageHandler {
51
58
  * @returns
52
59
  */
53
60
  getExtensionVersion(): string | undefined;
54
- /**
55
- * Returns boolean indicating whether or not the request should attempt to use native broker
56
- * @param logger
57
- * @param config
58
- * @param nativeExtensionProvider
59
- * @param authenticationScheme
60
- */
61
- static isPlatformBrokerAvailable(config: BrowserConfiguration, logger: Logger, nativeExtensionProvider?: NativeMessageHandler, authenticationScheme?: AuthenticationScheme): boolean;
61
+ getExtensionName(): string | undefined;
62
62
  }
63
- //# sourceMappingURL=NativeMessageHandler.d.ts.map
63
+ //# sourceMappingURL=PlatformAuthExtensionHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformAuthExtensionHandler.d.ts","sourceRoot":"","sources":["../../../src/broker/nativeBroker/PlatformAuthExtensionHandler.ts"],"names":[],"mappings":"AASA,OAAO,EACH,MAAM,EAMN,kBAAkB,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGH,mBAAmB,EACtB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AASjE,qBAAa,4BAA6B,YAAW,oBAAoB;IACrE,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,gBAAgB,EAAE,MAAM,CAAC;gBAGrB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,kBAAkB,EACrC,WAAW,CAAC,EAAE,MAAM;IAiBxB;;;OAGG;IACG,WAAW,CACb,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IAqChC;;;;;;OAMG;WACU,cAAc,CACvB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,kBAAkB,GACtC,OAAO,CAAC,4BAA4B,CAAC;IAwBxC;;OAEG;YACW,oBAAoB;IAsDlC;;;OAGG;IACH,OAAO,CAAC,eAAe;IA0DvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuGxB;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAoBtC;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC;;;OAGG;IACH,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAIzC,gBAAgB,IAAI,MAAM,GAAG,SAAS;CAQzC"}
@@ -1,7 +1,7 @@
1
- /*! @azure/msal-browser v4.12.0 2025-05-06 */
1
+ /*! @azure/msal-browser v4.13.0 2025-05-30 */
2
2
  'use strict';
3
- import { NativeConstants, NativeExtensionMethod } from '../../utils/BrowserConstants.mjs';
4
- import { PerformanceEvents, createAuthError, AuthErrorCodes, AuthenticationScheme } from '@azure/msal-common/browser';
3
+ import { PlatformAuthConstants, NativeExtensionMethod } from '../../utils/BrowserConstants.mjs';
4
+ import { PerformanceEvents, createAuthError, AuthErrorCodes } from '@azure/msal-common/browser';
5
5
  import { createNativeAuthError } from '../../error/NativeAuthError.mjs';
6
6
  import { createBrowserAuthError } from '../../error/BrowserAuthError.mjs';
7
7
  import { createNewGuid } from '../../crypto/BrowserCrypto.mjs';
@@ -11,7 +11,7 @@ import { nativeHandshakeTimeout, nativeExtensionNotInstalled } from '../../error
11
11
  * Copyright (c) Microsoft Corporation. All rights reserved.
12
12
  * Licensed under the MIT License.
13
13
  */
14
- class NativeMessageHandler {
14
+ class PlatformAuthExtensionHandler {
15
15
  constructor(logger, handshakeTimeoutMs, performanceClient, extensionId) {
16
16
  this.logger = logger;
17
17
  this.handshakeTimeoutMs = handshakeTimeoutMs;
@@ -22,25 +22,35 @@ class NativeMessageHandler {
22
22
  this.windowListener = this.onWindowMessage.bind(this); // Window event callback doesn't have access to 'this' unless it's bound
23
23
  this.performanceClient = performanceClient;
24
24
  this.handshakeEvent = performanceClient.startMeasurement(PerformanceEvents.NativeMessageHandlerHandshake);
25
+ this.platformAuthType =
26
+ PlatformAuthConstants.PLATFORM_EXTENSION_PROVIDER;
25
27
  }
26
28
  /**
27
29
  * Sends a given message to the extension and resolves with the extension response
28
- * @param body
30
+ * @param request
29
31
  */
30
- async sendMessage(body) {
31
- this.logger.trace("NativeMessageHandler - sendMessage called.");
32
+ async sendMessage(request) {
33
+ this.logger.trace(this.platformAuthType + " - sendMessage called.");
34
+ // fall back to native calls
35
+ const messageBody = {
36
+ method: NativeExtensionMethod.GetToken,
37
+ request: request,
38
+ };
32
39
  const req = {
33
- channel: NativeConstants.CHANNEL_ID,
40
+ channel: PlatformAuthConstants.CHANNEL_ID,
34
41
  extensionId: this.extensionId,
35
42
  responseId: createNewGuid(),
36
- body: body,
43
+ body: messageBody,
37
44
  };
38
- this.logger.trace("NativeMessageHandler - Sending request to browser extension");
39
- this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(req)}`);
45
+ this.logger.trace(this.platformAuthType + " - Sending request to browser extension");
46
+ this.logger.tracePii(this.platformAuthType +
47
+ ` - Sending request to browser extension: ${JSON.stringify(req)}`);
40
48
  this.messageChannel.port1.postMessage(req);
41
- return new Promise((resolve, reject) => {
49
+ const response = await new Promise((resolve, reject) => {
42
50
  this.resolvers.set(req.responseId, { resolve, reject });
43
51
  });
52
+ const validatedResponse = this.validatePlatformBrokerResponse(response);
53
+ return validatedResponse;
44
54
  }
45
55
  /**
46
56
  * Returns an instance of the MessageHandler that has successfully established a connection with an extension
@@ -50,15 +60,15 @@ class NativeMessageHandler {
50
60
  * @param {ICrypto} crypto
51
61
  */
52
62
  static async createProvider(logger, handshakeTimeoutMs, performanceClient) {
53
- logger.trace("NativeMessageHandler - createProvider called.");
63
+ logger.trace("PlatformAuthExtensionHandler - createProvider called.");
54
64
  try {
55
- const preferredProvider = new NativeMessageHandler(logger, handshakeTimeoutMs, performanceClient, NativeConstants.PREFERRED_EXTENSION_ID);
65
+ const preferredProvider = new PlatformAuthExtensionHandler(logger, handshakeTimeoutMs, performanceClient, PlatformAuthConstants.PREFERRED_EXTENSION_ID);
56
66
  await preferredProvider.sendHandshakeRequest();
57
67
  return preferredProvider;
58
68
  }
59
69
  catch (e) {
60
70
  // If preferred extension fails for whatever reason, fallback to using any installed extension
61
- const backupProvider = new NativeMessageHandler(logger, handshakeTimeoutMs, performanceClient);
71
+ const backupProvider = new PlatformAuthExtensionHandler(logger, handshakeTimeoutMs, performanceClient);
62
72
  await backupProvider.sendHandshakeRequest();
63
73
  return backupProvider;
64
74
  }
@@ -67,11 +77,11 @@ class NativeMessageHandler {
67
77
  * Send handshake request helper.
68
78
  */
69
79
  async sendHandshakeRequest() {
70
- this.logger.trace("NativeMessageHandler - sendHandshakeRequest called.");
80
+ this.logger.trace(this.platformAuthType + " - sendHandshakeRequest called.");
71
81
  // Register this event listener before sending handshake
72
82
  window.addEventListener("message", this.windowListener, false); // false is important, because content script message processing should work first
73
83
  const req = {
74
- channel: NativeConstants.CHANNEL_ID,
84
+ channel: PlatformAuthConstants.CHANNEL_ID,
75
85
  extensionId: this.extensionId,
76
86
  responseId: createNewGuid(),
77
87
  body: {
@@ -110,14 +120,14 @@ class NativeMessageHandler {
110
120
  * @param event
111
121
  */
112
122
  onWindowMessage(event) {
113
- this.logger.trace("NativeMessageHandler - onWindowMessage called");
123
+ this.logger.trace(this.platformAuthType + " - onWindowMessage called");
114
124
  // We only accept messages from ourselves
115
125
  if (event.source !== window) {
116
126
  return;
117
127
  }
118
128
  const request = event.data;
119
129
  if (!request.channel ||
120
- request.channel !== NativeConstants.CHANNEL_ID) {
130
+ request.channel !== PlatformAuthConstants.CHANNEL_ID) {
121
131
  return;
122
132
  }
123
133
  if (request.extensionId && request.extensionId !== this.extensionId) {
@@ -130,7 +140,8 @@ class NativeMessageHandler {
130
140
  * the proper response.
131
141
  */
132
142
  if (!handshakeResolver) {
133
- this.logger.trace(`NativeMessageHandler.onWindowMessage - resolver can't be found for request ${request.responseId}`);
143
+ this.logger.trace(this.platformAuthType +
144
+ `.onWindowMessage - resolver can't be found for request ${request.responseId}`);
134
145
  return;
135
146
  }
136
147
  // If we receive this message back it means no extension intercepted the request, meaning no extension supporting handshake protocol is installed
@@ -153,7 +164,7 @@ class NativeMessageHandler {
153
164
  * @param event
154
165
  */
155
166
  onChannelMessage(event) {
156
- this.logger.trace("NativeMessageHandler - onChannelMessage called.");
167
+ this.logger.trace(this.platformAuthType + " - onChannelMessage called.");
157
168
  const request = event.data;
158
169
  const resolver = this.resolvers.get(request.responseId);
159
170
  const handshakeResolver = this.handshakeResolvers.get(request.responseId);
@@ -164,8 +175,10 @@ class NativeMessageHandler {
164
175
  return;
165
176
  }
166
177
  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)}`);
178
+ this.logger.trace(this.platformAuthType +
179
+ " - Received response from browser extension");
180
+ this.logger.tracePii(this.platformAuthType +
181
+ ` - Received response from browser extension: ${JSON.stringify(response)}`);
169
182
  if (response.status !== "Success") {
170
183
  resolver.reject(createNativeAuthError(response.code, response.description, response.ext));
171
184
  }
@@ -185,14 +198,16 @@ class NativeMessageHandler {
185
198
  }
186
199
  else if (method === NativeExtensionMethod.HandshakeResponse) {
187
200
  if (!handshakeResolver) {
188
- this.logger.trace(`NativeMessageHandler.onChannelMessage - resolver can't be found for request ${request.responseId}`);
201
+ this.logger.trace(this.platformAuthType +
202
+ `.onChannelMessage - resolver can't be found for request ${request.responseId}`);
189
203
  return;
190
204
  }
191
205
  clearTimeout(this.timeoutId); // Clear setTimeout
192
206
  window.removeEventListener("message", this.windowListener, false); // Remove 'No extension' listener
193
207
  this.extensionId = request.extensionId;
194
208
  this.extensionVersion = request.body.version;
195
- this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`);
209
+ this.logger.verbose(this.platformAuthType +
210
+ ` - Received HandshakeResponse from extension: ${this.extensionId}`);
196
211
  this.handshakeEvent.end({
197
212
  extensionInstalled: true,
198
213
  success: true,
@@ -214,6 +229,23 @@ class NativeMessageHandler {
214
229
  }
215
230
  }
216
231
  }
232
+ /**
233
+ * Validates native platform response before processing
234
+ * @param response
235
+ */
236
+ validatePlatformBrokerResponse(response) {
237
+ if (response.hasOwnProperty("access_token") &&
238
+ response.hasOwnProperty("id_token") &&
239
+ response.hasOwnProperty("client_info") &&
240
+ response.hasOwnProperty("account") &&
241
+ response.hasOwnProperty("scope") &&
242
+ response.hasOwnProperty("expires_in")) {
243
+ return response;
244
+ }
245
+ else {
246
+ throw createAuthError(AuthErrorCodes.unexpectedError, "Response missing expected properties.");
247
+ }
248
+ }
217
249
  /**
218
250
  * Returns the Id for the browser extension this handler is communicating with
219
251
  * @returns
@@ -228,39 +260,15 @@ class NativeMessageHandler {
228
260
  getExtensionVersion() {
229
261
  return this.extensionVersion;
230
262
  }
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 isPlatformBrokerAvailable(config, logger, nativeExtensionProvider, authenticationScheme) {
239
- logger.trace("isPlatformBrokerAvailable called");
240
- if (!config.system.allowPlatformBroker) {
241
- logger.trace("isPlatformBrokerAvailable: allowPlatformBroker is not enabled, returning false");
242
- // Developer disabled WAM
243
- return false;
244
- }
245
- if (!nativeExtensionProvider) {
246
- logger.trace("isPlatformBrokerAvailable: Platform 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("isPlatformBrokerAvailable: authenticationScheme is supported, returning true");
255
- return true;
256
- default:
257
- logger.trace("isPlatformBrokerAvailable: authenticationScheme is not supported, returning false");
258
- return false;
259
- }
260
- }
261
- return true;
263
+ getExtensionName() {
264
+ return this.getExtensionId() ===
265
+ PlatformAuthConstants.PREFERRED_EXTENSION_ID
266
+ ? "chrome"
267
+ : this.getExtensionId()?.length
268
+ ? "unknown"
269
+ : undefined;
262
270
  }
263
271
  }
264
272
 
265
- export { NativeMessageHandler };
266
- //# sourceMappingURL=NativeMessageHandler.mjs.map
273
+ export { PlatformAuthExtensionHandler };
274
+ //# sourceMappingURL=PlatformAuthExtensionHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformAuthExtensionHandler.mjs","sources":["../../../src/broker/nativeBroker/PlatformAuthExtensionHandler.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.nativeHandshakeTimeout","BrowserAuthErrorCodes.nativeExtensionNotInstalled"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { LoggerOptions, IPerformanceClient, Logger, AuthenticationScheme } from "@azure/msal-common/browser";
2
+ import { BrowserConfiguration } from "../../config/Configuration.js";
3
+ import { IPlatformAuthHandler } from "./IPlatformAuthHandler.js";
4
+ /**
5
+ * Checks if the platform broker is available in the current environment.
6
+ * @param loggerOptions
7
+ * @param perfClient
8
+ * @returns
9
+ */
10
+ export declare function isPlatformBrokerAvailable(loggerOptions?: LoggerOptions, perfClient?: IPerformanceClient, correlationId?: string): Promise<boolean>;
11
+ export declare function getPlatformAuthProvider(logger: Logger, performanceClient: IPerformanceClient, correlationId: string, nativeBrokerHandshakeTimeout?: number): Promise<IPlatformAuthHandler | undefined>;
12
+ /**
13
+ * Returns true if the DOM API support for platform auth is enabled in session storage
14
+ * @returns boolean
15
+ * @deprecated
16
+ */
17
+ export declare function isDomEnabledForPlatformAuth(): boolean;
18
+ /**
19
+ * Returns boolean indicating whether or not the request should attempt to use native broker
20
+ * @param logger
21
+ * @param config
22
+ * @param platformAuthProvider
23
+ * @param authenticationScheme
24
+ */
25
+ export declare function isPlatformAuthAllowed(config: BrowserConfiguration, logger: Logger, platformAuthProvider?: IPlatformAuthHandler, authenticationScheme?: AuthenticationScheme): boolean;
26
+ //# sourceMappingURL=PlatformAuthProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformAuthProvider.d.ts","sourceRoot":"","sources":["../../../src/broker/nativeBroker/PlatformAuthProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,aAAa,EACb,kBAAkB,EAClB,MAAM,EACN,oBAAoB,EAEvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACH,oBAAoB,EAEvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQjE;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC3C,aAAa,CAAC,EAAE,aAAa,EAC7B,UAAU,CAAC,EAAE,kBAAkB,EAC/B,aAAa,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,kBAAkB,EACrC,aAAa,EAAE,MAAM,EACrB,4BAA4B,CAAC,EAAE,MAAM,GACtC,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAuC3C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CASrD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,oBAAoB,CAAC,EAAE,oBAAoB,GAC5C,OAAO,CAkCT"}