@azure/msal-browser 3.5.1-beta.0 → 3.6.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 (257) 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 +1282 -1262
  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 +221 -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 +1291 -1293
  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 +539 -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.mjs +43 -43
  142. package/dist/interaction_client/SilentRefreshClient.mjs.map +1 -1
  143. package/dist/interaction_client/StandardInteractionClient.d.ts +54 -54
  144. package/dist/interaction_client/StandardInteractionClient.mjs +222 -222
  145. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  146. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  147. package/dist/interaction_handler/InteractionHandler.mjs +93 -93
  148. package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
  149. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  150. package/dist/interaction_handler/RedirectHandler.mjs +134 -134
  151. package/dist/interaction_handler/RedirectHandler.mjs.map +1 -1
  152. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  153. package/dist/interaction_handler/SilentHandler.mjs +133 -133
  154. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  155. package/dist/naa/AccountInfo.d.ts +11 -11
  156. package/dist/naa/AccountRequests.d.ts +9 -9
  157. package/dist/naa/AuthBridge.d.ts +8 -5
  158. package/dist/naa/AuthBridge.d.ts.map +1 -1
  159. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  160. package/dist/naa/BridgeError.d.ts +9 -9
  161. package/dist/naa/BridgeError.mjs +7 -7
  162. package/dist/naa/BridgeError.mjs.map +1 -1
  163. package/dist/naa/BridgeProxy.d.ts +72 -72
  164. package/dist/naa/BridgeProxy.d.ts.map +1 -1
  165. package/dist/naa/BridgeProxy.mjs +153 -152
  166. package/dist/naa/BridgeProxy.mjs.map +1 -1
  167. package/dist/naa/BridgeRequest.d.ts +6 -6
  168. package/dist/naa/BridgeRequestEnvelope.d.ts +13 -13
  169. package/dist/naa/BridgeResponseEnvelope.d.ts +10 -10
  170. package/dist/naa/BridgeStatusCode.d.ts +10 -10
  171. package/dist/naa/BridgeStatusCode.mjs +15 -15
  172. package/dist/naa/BridgeStatusCode.mjs.map +1 -1
  173. package/dist/naa/IBridgeProxy.d.ts +12 -12
  174. package/dist/naa/InitializeBridgeResponse.d.ts +6 -6
  175. package/dist/naa/TokenRequest.d.ts +19 -19
  176. package/dist/naa/TokenResponse.d.ts +15 -15
  177. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -23
  178. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +141 -141
  179. package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
  180. package/dist/navigation/INavigationClient.d.ts +16 -16
  181. package/dist/navigation/NavigationClient.d.ts +22 -22
  182. package/dist/navigation/NavigationClient.mjs +40 -40
  183. package/dist/navigation/NavigationClient.mjs.map +1 -1
  184. package/dist/navigation/NavigationOptions.d.ts +12 -12
  185. package/dist/network/FetchClient.d.ts +26 -26
  186. package/dist/network/FetchClient.mjs +99 -99
  187. package/dist/network/FetchClient.mjs.map +1 -1
  188. package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
  189. package/dist/operatingcontext/BaseOperatingContext.mjs +44 -44
  190. package/dist/operatingcontext/BaseOperatingContext.mjs.map +1 -1
  191. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  192. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  193. package/dist/operatingcontext/StandardOperatingContext.mjs.map +1 -1
  194. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
  195. package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -85
  196. package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
  197. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  198. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  199. package/dist/operatingcontext/UnknownOperatingContext.mjs.map +1 -1
  200. package/dist/packageMetadata.d.ts +2 -2
  201. package/dist/packageMetadata.mjs +4 -4
  202. package/dist/packageMetadata.mjs.map +1 -1
  203. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  204. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  205. package/dist/request/ClearCacheRequest.d.ts +10 -10
  206. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  207. package/dist/request/EndSessionRequest.d.ts +15 -15
  208. package/dist/request/PopupRequest.d.ts +34 -34
  209. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  210. package/dist/request/RedirectRequest.d.ts +35 -35
  211. package/dist/request/SilentRequest.d.ts +32 -32
  212. package/dist/request/SsoSilentRequest.d.ts +29 -29
  213. package/dist/response/AuthenticationResult.d.ts +4 -4
  214. package/dist/response/ResponseHandler.d.ts +7 -7
  215. package/dist/response/ResponseHandler.mjs +36 -36
  216. package/dist/response/ResponseHandler.mjs.map +1 -1
  217. package/dist/telemetry/BrowserPerformanceClient.d.ts +36 -36
  218. package/dist/telemetry/BrowserPerformanceClient.mjs +125 -125
  219. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  220. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  221. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  222. package/dist/telemetry/BrowserPerformanceMeasurement.mjs.map +1 -1
  223. package/dist/utils/BrowserConstants.d.ts +176 -176
  224. package/dist/utils/BrowserConstants.mjs +204 -204
  225. package/dist/utils/BrowserConstants.mjs.map +1 -1
  226. package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
  227. package/dist/utils/BrowserProtocolUtils.mjs +21 -21
  228. package/dist/utils/BrowserProtocolUtils.mjs.map +1 -1
  229. package/dist/utils/BrowserUtils.d.ts +56 -56
  230. package/dist/utils/BrowserUtils.mjs +125 -125
  231. package/dist/utils/BrowserUtils.mjs.map +1 -1
  232. package/lib/msal-browser.cjs +18217 -17928
  233. package/lib/msal-browser.cjs.map +1 -1
  234. package/lib/msal-browser.js +18217 -17928
  235. package/lib/msal-browser.js.map +1 -1
  236. package/lib/msal-browser.min.js +71 -68
  237. package/package.json +103 -102
  238. package/src/app/PublicClientApplication.ts +2 -1
  239. package/src/cache/BrowserCacheManager.ts +31 -4
  240. package/src/cache/DatabaseStorage.ts +1 -1
  241. package/src/cache/TokenCache.ts +33 -29
  242. package/src/config/Configuration.ts +1 -1
  243. package/src/controllers/ControllerFactory.ts +3 -5
  244. package/src/controllers/StandardController.ts +4 -6
  245. package/src/crypto/CryptoOps.ts +1 -1
  246. package/src/crypto/SignedHttpRequest.ts +1 -1
  247. package/src/index.ts +1 -0
  248. package/src/interaction_client/BaseInteractionClient.ts +2 -2
  249. package/src/interaction_client/NativeInteractionClient.ts +23 -20
  250. package/src/interaction_client/PopupClient.ts +1 -1
  251. package/src/interaction_client/RedirectClient.ts +3 -3
  252. package/src/interaction_client/SilentAuthCodeClient.ts +1 -1
  253. package/src/interaction_client/StandardInteractionClient.ts +1 -1
  254. package/src/interaction_handler/SilentHandler.ts +2 -2
  255. package/src/naa/AuthBridge.ts +3 -2
  256. package/src/naa/BridgeProxy.ts +6 -4
  257. package/src/packageMetadata.ts +1 -1
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
1
+ /*! @azure/msal-browser v3.6.0 2023-12-01 */
2
2
  'use strict';
3
3
  import { PerformanceEvents, PromptValue, invokeAsync, AuthError, invoke, ProtocolUtils } from '@azure/msal-common';
4
4
  import { StandardInteractionClient } from './StandardInteractionClient.mjs';
@@ -12,101 +12,101 @@ import { preconnect } from '../utils/BrowserUtils.mjs';
12
12
  import { deserializeResponse } from '../response/ResponseHandler.mjs';
13
13
  import { silentPromptValueError, silentLogoutUnsupported, nativeConnectionNotEstablished } from '../error/BrowserAuthErrorCodes.mjs';
14
14
 
15
- /*
16
- * Copyright (c) Microsoft Corporation. All rights reserved.
17
- * Licensed under the MIT License.
18
- */
19
- class SilentIframeClient extends StandardInteractionClient {
20
- constructor(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, nativeStorageImpl, nativeMessageHandler, correlationId) {
21
- super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);
22
- this.apiId = apiId;
23
- this.nativeStorage = nativeStorageImpl;
24
- }
25
- /**
26
- * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session
27
- * @param request
28
- */
29
- async acquireToken(request) {
30
- this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);
31
- // Check that we have some SSO data
32
- if (!request.loginHint &&
33
- !request.sid &&
34
- (!request.account || !request.account.username)) {
35
- this.logger.warning("No user hint provided. The authorization server may need more information to complete this request.");
36
- }
37
- // Check that prompt is set to none or no_session, throw error if it is set to anything else.
38
- if (request.prompt &&
39
- request.prompt !== PromptValue.NONE &&
40
- request.prompt !== PromptValue.NO_SESSION) {
41
- throw createBrowserAuthError(silentPromptValueError);
42
- }
43
- // Create silent request
44
- const silentRequest = await invokeAsync(this.initializeAuthorizationRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.logger, this.performanceClient, request.correlationId)({
45
- ...request,
46
- prompt: request.prompt || PromptValue.NONE,
47
- }, InteractionType.Silent);
48
- preconnect(silentRequest.authority);
49
- const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
50
- try {
51
- // Initialize the client
52
- const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, request.correlationId)(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);
53
- return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, request.correlationId)(authClient, silentRequest);
54
- }
55
- catch (e) {
56
- if (e instanceof AuthError) {
57
- e.setCorrelationId(this.correlationId);
58
- serverTelemetryManager.cacheFailedRequest(e);
59
- }
60
- throw e;
61
- }
62
- }
63
- /**
64
- * Currently Unsupported
65
- */
66
- logout() {
67
- // Synchronous so we must reject
68
- return Promise.reject(createBrowserAuthError(silentLogoutUnsupported));
69
- }
70
- /**
71
- * Helper which acquires an authorization code silently using a hidden iframe from given url
72
- * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.
73
- * @param navigateUrl
74
- * @param userRequestScopes
75
- */
76
- async silentTokenHelper(authClient, silentRequest) {
77
- const correlationId = silentRequest.correlationId;
78
- this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentIframeClientTokenHelper, correlationId);
79
- // Create auth code request and generate PKCE params
80
- const authCodeRequest = await invokeAsync(this.initializeAuthorizationCodeRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationCodeRequest, this.logger, this.performanceClient, correlationId)(silentRequest);
81
- // Create authorize request url
82
- const navigateUrl = await invokeAsync(authClient.getAuthCodeUrl.bind(authClient), PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, correlationId)({
83
- ...silentRequest,
84
- nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme),
85
- });
86
- // Create silent handler
87
- const interactionHandler = new InteractionHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.performanceClient);
88
- // Get the frame handle for the silent request
89
- const msalFrame = await invokeAsync(initiateAuthRequest, PerformanceEvents.SilentHandlerInitiateAuthRequest, this.logger, this.performanceClient, correlationId)(navigateUrl, this.performanceClient, this.logger, correlationId, this.config.system.navigateFrameWait);
90
- const responseType = this.config.auth.OIDCOptions.serverResponseType;
91
- // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.
92
- const responseString = await invokeAsync(monitorIframeForHash, PerformanceEvents.SilentHandlerMonitorIframeForHash, this.logger, this.performanceClient, correlationId)(msalFrame, this.config.system.iframeHashTimeout, this.config.system.pollIntervalMilliseconds, this.performanceClient, this.logger, correlationId, responseType);
93
- const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, this.correlationId)(responseString, responseType, this.logger);
94
- if (serverParams.accountId) {
95
- this.logger.verbose("Account id found in hash, calling WAM for token");
96
- if (!this.nativeMessageHandler) {
97
- throw createBrowserAuthError(nativeConnectionNotEstablished);
98
- }
99
- const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.apiId, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.browserStorage, correlationId);
100
- const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, silentRequest.state);
101
- return invokeAsync(nativeInteractionClient.acquireToken.bind(nativeInteractionClient), PerformanceEvents.NativeInteractionClientAcquireToken, this.logger, this.performanceClient, correlationId)({
102
- ...silentRequest,
103
- state: userRequestState,
104
- prompt: silentRequest.prompt || PromptValue.NONE,
105
- });
106
- }
107
- // Handle response from hash string
108
- return invokeAsync(interactionHandler.handleCodeResponse.bind(interactionHandler), PerformanceEvents.HandleCodeResponse, this.logger, this.performanceClient, correlationId)(serverParams, silentRequest);
109
- }
15
+ /*
16
+ * Copyright (c) Microsoft Corporation. All rights reserved.
17
+ * Licensed under the MIT License.
18
+ */
19
+ class SilentIframeClient extends StandardInteractionClient {
20
+ constructor(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, nativeStorageImpl, nativeMessageHandler, correlationId) {
21
+ super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);
22
+ this.apiId = apiId;
23
+ this.nativeStorage = nativeStorageImpl;
24
+ }
25
+ /**
26
+ * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session
27
+ * @param request
28
+ */
29
+ async acquireToken(request) {
30
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);
31
+ // Check that we have some SSO data
32
+ if (!request.loginHint &&
33
+ !request.sid &&
34
+ (!request.account || !request.account.username)) {
35
+ this.logger.warning("No user hint provided. The authorization server may need more information to complete this request.");
36
+ }
37
+ // Check that prompt is set to none or no_session, throw error if it is set to anything else.
38
+ if (request.prompt &&
39
+ request.prompt !== PromptValue.NONE &&
40
+ request.prompt !== PromptValue.NO_SESSION) {
41
+ throw createBrowserAuthError(silentPromptValueError);
42
+ }
43
+ // Create silent request
44
+ const silentRequest = await invokeAsync(this.initializeAuthorizationRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.logger, this.performanceClient, request.correlationId)({
45
+ ...request,
46
+ prompt: request.prompt || PromptValue.NONE,
47
+ }, InteractionType.Silent);
48
+ preconnect(silentRequest.authority);
49
+ const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
50
+ try {
51
+ // Initialize the client
52
+ const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, request.correlationId)(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);
53
+ return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, request.correlationId)(authClient, silentRequest);
54
+ }
55
+ catch (e) {
56
+ if (e instanceof AuthError) {
57
+ e.setCorrelationId(this.correlationId);
58
+ serverTelemetryManager.cacheFailedRequest(e);
59
+ }
60
+ throw e;
61
+ }
62
+ }
63
+ /**
64
+ * Currently Unsupported
65
+ */
66
+ logout() {
67
+ // Synchronous so we must reject
68
+ return Promise.reject(createBrowserAuthError(silentLogoutUnsupported));
69
+ }
70
+ /**
71
+ * Helper which acquires an authorization code silently using a hidden iframe from given url
72
+ * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.
73
+ * @param navigateUrl
74
+ * @param userRequestScopes
75
+ */
76
+ async silentTokenHelper(authClient, silentRequest) {
77
+ const correlationId = silentRequest.correlationId;
78
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentIframeClientTokenHelper, correlationId);
79
+ // Create auth code request and generate PKCE params
80
+ const authCodeRequest = await invokeAsync(this.initializeAuthorizationCodeRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationCodeRequest, this.logger, this.performanceClient, correlationId)(silentRequest);
81
+ // Create authorize request url
82
+ const navigateUrl = await invokeAsync(authClient.getAuthCodeUrl.bind(authClient), PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, correlationId)({
83
+ ...silentRequest,
84
+ nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme),
85
+ });
86
+ // Create silent handler
87
+ const interactionHandler = new InteractionHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.performanceClient);
88
+ // Get the frame handle for the silent request
89
+ const msalFrame = await invokeAsync(initiateAuthRequest, PerformanceEvents.SilentHandlerInitiateAuthRequest, this.logger, this.performanceClient, correlationId)(navigateUrl, this.performanceClient, this.logger, correlationId, this.config.system.navigateFrameWait);
90
+ const responseType = this.config.auth.OIDCOptions.serverResponseType;
91
+ // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.
92
+ const responseString = await invokeAsync(monitorIframeForHash, PerformanceEvents.SilentHandlerMonitorIframeForHash, this.logger, this.performanceClient, correlationId)(msalFrame, this.config.system.iframeHashTimeout, this.config.system.pollIntervalMilliseconds, this.performanceClient, this.logger, correlationId, responseType);
93
+ const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, this.correlationId)(responseString, responseType, this.logger);
94
+ if (serverParams.accountId) {
95
+ this.logger.verbose("Account id found in hash, calling WAM for token");
96
+ if (!this.nativeMessageHandler) {
97
+ throw createBrowserAuthError(nativeConnectionNotEstablished);
98
+ }
99
+ const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.apiId, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.browserStorage, correlationId);
100
+ const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, silentRequest.state);
101
+ return invokeAsync(nativeInteractionClient.acquireToken.bind(nativeInteractionClient), PerformanceEvents.NativeInteractionClientAcquireToken, this.logger, this.performanceClient, correlationId)({
102
+ ...silentRequest,
103
+ state: userRequestState,
104
+ prompt: silentRequest.prompt || PromptValue.NONE,
105
+ });
106
+ }
107
+ // Handle response from hash string
108
+ return invokeAsync(interactionHandler.handleCodeResponse.bind(interactionHandler), PerformanceEvents.HandleCodeResponse, this.logger, this.performanceClient, correlationId)(serverParams, silentRequest);
109
+ }
110
110
  }
111
111
 
112
112
  export { SilentIframeClient };
@@ -1 +1 @@
1
- {"version":3,"file":"SilentIframeClient.mjs","sources":["../../src/interaction_client/SilentIframeClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;AAKA;AAaA;AACA;AACA;AA0BQ,MAAA,kBAA4B,SAAA,yBACf,CAAA;AA0BjB,IAAA,WAAA,CAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,aAAA,EAAA;;;AAGG,QAAA,IAAA,CAAA,aAAA,GAAA,iBAAA,CAAA;KACe;AA+ElB;;AAEG;AACH;AASA,IAAA,MAAA,YAAA,CAAA,OAAA,EAAA;;;;;AAKG,aAAA,CAAA,OAAA,CAAA,OAAA,IAAA,CAAA,OAAA,CAAA,OAAA,CAAA,QAAA,CAAA,EAAA;AACa,YAAA,IAAA,CAAA,MAAA,CAAA,OAAiB,CAC7B,qGAEO,CAAA,CAAA;AAoId,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SilentIframeClient.mjs","sources":["../../src/interaction_client/SilentIframeClient.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.silentPromptValueError","BrowserUtils.preconnect","BrowserAuthErrorCodes.silentLogoutUnsupported","ResponseHandler.deserializeResponse","BrowserAuthErrorCodes.nativeConnectionNotEstablished"],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import { StandardInteractionClient } from "./StandardInteractionClient";
2
- import { CommonSilentFlowRequest, ServerTelemetryManager, RefreshTokenClient, AzureCloudOptions } from "@azure/msal-common";
3
- import { AuthenticationResult } from "../response/AuthenticationResult";
4
- export declare class SilentRefreshClient extends StandardInteractionClient {
5
- /**
6
- * Exchanges the refresh token for new tokens
7
- * @param request
8
- */
9
- acquireToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
10
- /**
11
- * Currently Unsupported
12
- */
13
- logout(): Promise<void>;
14
- /**
15
- * Creates a Refresh Client with the given authority, or the default authority.
16
- * @param serverTelemetryManager
17
- * @param authorityUrl
18
- */
19
- protected createRefreshTokenClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise<RefreshTokenClient>;
20
- }
1
+ import { StandardInteractionClient } from "./StandardInteractionClient";
2
+ import { CommonSilentFlowRequest, ServerTelemetryManager, RefreshTokenClient, AzureCloudOptions } from "@azure/msal-common";
3
+ import { AuthenticationResult } from "../response/AuthenticationResult";
4
+ export declare class SilentRefreshClient extends StandardInteractionClient {
5
+ /**
6
+ * Exchanges the refresh token for new tokens
7
+ * @param request
8
+ */
9
+ acquireToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
10
+ /**
11
+ * Currently Unsupported
12
+ */
13
+ logout(): Promise<void>;
14
+ /**
15
+ * Creates a Refresh Client with the given authority, or the default authority.
16
+ * @param serverTelemetryManager
17
+ * @param authorityUrl
18
+ */
19
+ protected createRefreshTokenClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise<RefreshTokenClient>;
20
+ }
21
21
  //# sourceMappingURL=SilentRefreshClient.d.ts.map
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
1
+ /*! @azure/msal-browser v3.6.0 2023-12-01 */
2
2
  'use strict';
3
3
  import { StandardInteractionClient } from './StandardInteractionClient.mjs';
4
4
  import { PerformanceEvents, invokeAsync, RefreshTokenClient } from '@azure/msal-common';
@@ -6,48 +6,48 @@ import { ApiId } from '../utils/BrowserConstants.mjs';
6
6
  import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
7
7
  import { silentLogoutUnsupported } from '../error/BrowserAuthErrorCodes.mjs';
8
8
 
9
- /*
10
- * Copyright (c) Microsoft Corporation. All rights reserved.
11
- * Licensed under the MIT License.
12
- */
13
- class SilentRefreshClient extends StandardInteractionClient {
14
- /**
15
- * Exchanges the refresh token for new tokens
16
- * @param request
17
- */
18
- async acquireToken(request) {
19
- this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentRefreshClientAcquireToken, request.correlationId);
20
- const baseRequest = await invokeAsync(this.initializeBaseRequest.bind(this), PerformanceEvents.InitializeBaseRequest, this.logger, this.performanceClient, request.correlationId)(request, request.account);
21
- const silentRequest = {
22
- ...request,
23
- ...baseRequest,
24
- };
25
- const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);
26
- const refreshTokenClient = await this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);
27
- // Send request to renew token. Auth module will throw errors if token cannot be renewed.
28
- return invokeAsync(refreshTokenClient.acquireTokenByRefreshToken.bind(refreshTokenClient), PerformanceEvents.RefreshTokenClientAcquireTokenByRefreshToken, this.logger, this.performanceClient, request.correlationId)(silentRequest).catch((e) => {
29
- e.setCorrelationId(this.correlationId);
30
- serverTelemetryManager.cacheFailedRequest(e);
31
- throw e;
32
- });
33
- }
34
- /**
35
- * Currently Unsupported
36
- */
37
- logout() {
38
- // Synchronous so we must reject
39
- return Promise.reject(createBrowserAuthError(silentLogoutUnsupported));
40
- }
41
- /**
42
- * Creates a Refresh Client with the given authority, or the default authority.
43
- * @param serverTelemetryManager
44
- * @param authorityUrl
45
- */
46
- async createRefreshTokenClient(serverTelemetryManager, authorityUrl, azureCloudOptions) {
47
- // Create auth module.
48
- const clientConfig = await invokeAsync(this.getClientConfiguration.bind(this), PerformanceEvents.StandardInteractionClientGetClientConfiguration, this.logger, this.performanceClient, this.correlationId)(serverTelemetryManager, authorityUrl, azureCloudOptions);
49
- return new RefreshTokenClient(clientConfig, this.performanceClient);
50
- }
9
+ /*
10
+ * Copyright (c) Microsoft Corporation. All rights reserved.
11
+ * Licensed under the MIT License.
12
+ */
13
+ class SilentRefreshClient extends StandardInteractionClient {
14
+ /**
15
+ * Exchanges the refresh token for new tokens
16
+ * @param request
17
+ */
18
+ async acquireToken(request) {
19
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentRefreshClientAcquireToken, request.correlationId);
20
+ const baseRequest = await invokeAsync(this.initializeBaseRequest.bind(this), PerformanceEvents.InitializeBaseRequest, this.logger, this.performanceClient, request.correlationId)(request, request.account);
21
+ const silentRequest = {
22
+ ...request,
23
+ ...baseRequest,
24
+ };
25
+ const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);
26
+ const refreshTokenClient = await this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);
27
+ // Send request to renew token. Auth module will throw errors if token cannot be renewed.
28
+ return invokeAsync(refreshTokenClient.acquireTokenByRefreshToken.bind(refreshTokenClient), PerformanceEvents.RefreshTokenClientAcquireTokenByRefreshToken, this.logger, this.performanceClient, request.correlationId)(silentRequest).catch((e) => {
29
+ e.setCorrelationId(this.correlationId);
30
+ serverTelemetryManager.cacheFailedRequest(e);
31
+ throw e;
32
+ });
33
+ }
34
+ /**
35
+ * Currently Unsupported
36
+ */
37
+ logout() {
38
+ // Synchronous so we must reject
39
+ return Promise.reject(createBrowserAuthError(silentLogoutUnsupported));
40
+ }
41
+ /**
42
+ * Creates a Refresh Client with the given authority, or the default authority.
43
+ * @param serverTelemetryManager
44
+ * @param authorityUrl
45
+ */
46
+ async createRefreshTokenClient(serverTelemetryManager, authorityUrl, azureCloudOptions) {
47
+ // Create auth module.
48
+ const clientConfig = await invokeAsync(this.getClientConfiguration.bind(this), PerformanceEvents.StandardInteractionClientGetClientConfiguration, this.logger, this.performanceClient, this.correlationId)(serverTelemetryManager, authorityUrl, azureCloudOptions);
49
+ return new RefreshTokenClient(clientConfig, this.performanceClient);
50
+ }
51
51
  }
52
52
 
53
53
  export { SilentRefreshClient };
@@ -1 +1 @@
1
- {"version":3,"file":"SilentRefreshClient.mjs","sources":["../../src/interaction_client/SilentRefreshClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAKA;AACA;AAcA;AAEA;AAKsB,MAAA,mBACL,SAAA;AA2Cb;;AAEG;AACH;AASA,IAAA,MAAA,YAAA,CAAA,OAAA,EAAA;;;;AAIG,YAAA,GAAA,OAAA;AACa,YAAA,GAAA,WAAA;AAenB,SAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SilentRefreshClient.mjs","sources":["../../src/interaction_client/SilentRefreshClient.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.silentLogoutUnsupported"],"mappings":";;;;;;;;AAAA;;;AAGG;AAmBG,MAAO,mBAAoB,SAAQ,yBAAyB,CAAA;AAC9D;;;AAGG;IACH,MAAM,YAAY,CACd,OAAgC,EAAA;AAEhC,QAAA,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CACtC,iBAAiB,CAAC,+BAA+B,EACjD,OAAO,CAAC,aAAa,CACxB,CAAC;AAEF,QAAA,MAAM,WAAW,GAAG,MAAM,WAAW,CACjC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EACrC,iBAAiB,CAAC,qBAAqB,EACvC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,OAAO,CAAC,aAAa,CACxB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5B,QAAA,MAAM,aAAa,GAA4B;AAC3C,YAAA,GAAG,OAAO;AACV,YAAA,GAAG,WAAW;SACjB,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAI,CAAC,gCAAgC,CAChE,KAAK,CAAC,6BAA6B,CACtC,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAC1D,sBAAsB,EACtB,aAAa,CAAC,SAAS,EACvB,aAAa,CAAC,iBAAiB,CAClC,CAAC;;AAEF,QAAA,OAAO,WAAW,CACd,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAC9C,kBAAkB,CACrB,EACD,iBAAiB,CAAC,4CAA4C,EAC9D,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,OAAO,CAAC,aAAa,CACxB,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAY,KAAI;AACnC,YAAA,CAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtD,YAAA,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC7C,YAAA,MAAM,CAAC,CAAC;AACZ,SAAC,CAAkC,CAAC;KACvC;AAED;;AAEG;IACH,MAAM,GAAA;;QAEF,OAAO,OAAO,CAAC,MAAM,CACjB,sBAAsB,CAClBA,uBAA6C,CAChD,CACJ,CAAC;KACL;AAED;;;;AAIG;AACO,IAAA,MAAM,wBAAwB,CACpC,sBAA8C,EAC9C,YAAqB,EACrB,iBAAqC,EAAA;;AAGrC,QAAA,MAAM,YAAY,GAAG,MAAM,WAAW,CAClC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EACtC,iBAAiB,CAAC,+CAA+C,EACjE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,aAAa,CACrB,CAAC,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAC3D,OAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACvE;AACJ;;;;"}
@@ -1,55 +1,55 @@
1
- import { ServerTelemetryManager, CommonAuthorizationCodeRequest, AuthorizationCodeClient, ClientConfiguration, Authority, CommonEndSessionRequest, AccountInfo, AzureCloudOptions } from "@azure/msal-common";
2
- import { BaseInteractionClient } from "./BaseInteractionClient";
3
- import { AuthorizationUrlRequest } from "../request/AuthorizationUrlRequest";
4
- import { InteractionType } from "../utils/BrowserConstants";
5
- import { EndSessionRequest } from "../request/EndSessionRequest";
6
- import { RedirectRequest } from "../request/RedirectRequest";
7
- import { PopupRequest } from "../request/PopupRequest";
8
- import { SsoSilentRequest } from "../request/SsoSilentRequest";
9
- /**
10
- * Defines the class structure and helper functions used by the "standard", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))
11
- */
12
- export declare abstract class StandardInteractionClient extends BaseInteractionClient {
13
- /**
14
- * Generates an auth code request tied to the url request.
15
- * @param request
16
- */
17
- protected initializeAuthorizationCodeRequest(request: AuthorizationUrlRequest): Promise<CommonAuthorizationCodeRequest>;
18
- /**
19
- * Initializer for the logout request.
20
- * @param logoutRequest
21
- */
22
- protected initializeLogoutRequest(logoutRequest?: EndSessionRequest): CommonEndSessionRequest;
23
- /**
24
- * Parses login_hint ID Token Claim out of AccountInfo object to be used as
25
- * logout_hint in end session request.
26
- * @param account
27
- */
28
- protected getLogoutHintFromIdTokenClaims(account: AccountInfo): string | null;
29
- /**
30
- * Creates an Authorization Code Client with the given authority, or the default authority.
31
- * @param serverTelemetryManager
32
- * @param authorityUrl
33
- */
34
- protected createAuthCodeClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise<AuthorizationCodeClient>;
35
- /**
36
- * Creates a Client Configuration object with the given request authority, or the default authority.
37
- * @param serverTelemetryManager
38
- * @param requestAuthority
39
- * @param requestCorrelationId
40
- */
41
- protected getClientConfiguration(serverTelemetryManager: ServerTelemetryManager, requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise<ClientConfiguration>;
42
- /**
43
- * Used to get a discovered version of the default authority.
44
- * @param requestAuthority
45
- * @param requestCorrelationId
46
- */
47
- protected getDiscoveredAuthority(requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise<Authority>;
48
- /**
49
- * Helper to initialize required request parameters for interactive APIs and ssoSilent()
50
- * @param request
51
- * @param interactionType
52
- */
53
- protected initializeAuthorizationRequest(request: RedirectRequest | PopupRequest | SsoSilentRequest, interactionType: InteractionType): Promise<AuthorizationUrlRequest>;
54
- }
1
+ import { ServerTelemetryManager, CommonAuthorizationCodeRequest, AuthorizationCodeClient, ClientConfiguration, Authority, CommonEndSessionRequest, AccountInfo, AzureCloudOptions } from "@azure/msal-common";
2
+ import { BaseInteractionClient } from "./BaseInteractionClient";
3
+ import { AuthorizationUrlRequest } from "../request/AuthorizationUrlRequest";
4
+ import { InteractionType } from "../utils/BrowserConstants";
5
+ import { EndSessionRequest } from "../request/EndSessionRequest";
6
+ import { RedirectRequest } from "../request/RedirectRequest";
7
+ import { PopupRequest } from "../request/PopupRequest";
8
+ import { SsoSilentRequest } from "../request/SsoSilentRequest";
9
+ /**
10
+ * Defines the class structure and helper functions used by the "standard", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))
11
+ */
12
+ export declare abstract class StandardInteractionClient extends BaseInteractionClient {
13
+ /**
14
+ * Generates an auth code request tied to the url request.
15
+ * @param request
16
+ */
17
+ protected initializeAuthorizationCodeRequest(request: AuthorizationUrlRequest): Promise<CommonAuthorizationCodeRequest>;
18
+ /**
19
+ * Initializer for the logout request.
20
+ * @param logoutRequest
21
+ */
22
+ protected initializeLogoutRequest(logoutRequest?: EndSessionRequest): CommonEndSessionRequest;
23
+ /**
24
+ * Parses login_hint ID Token Claim out of AccountInfo object to be used as
25
+ * logout_hint in end session request.
26
+ * @param account
27
+ */
28
+ protected getLogoutHintFromIdTokenClaims(account: AccountInfo): string | null;
29
+ /**
30
+ * Creates an Authorization Code Client with the given authority, or the default authority.
31
+ * @param serverTelemetryManager
32
+ * @param authorityUrl
33
+ */
34
+ protected createAuthCodeClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise<AuthorizationCodeClient>;
35
+ /**
36
+ * Creates a Client Configuration object with the given request authority, or the default authority.
37
+ * @param serverTelemetryManager
38
+ * @param requestAuthority
39
+ * @param requestCorrelationId
40
+ */
41
+ protected getClientConfiguration(serverTelemetryManager: ServerTelemetryManager, requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise<ClientConfiguration>;
42
+ /**
43
+ * Used to get a discovered version of the default authority.
44
+ * @param requestAuthority
45
+ * @param requestCorrelationId
46
+ */
47
+ protected getDiscoveredAuthority(requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise<Authority>;
48
+ /**
49
+ * Helper to initialize required request parameters for interactive APIs and ssoSilent()
50
+ * @param request
51
+ * @param interactionType
52
+ */
53
+ protected initializeAuthorizationRequest(request: RedirectRequest | PopupRequest | SsoSilentRequest, interactionType: InteractionType): Promise<AuthorizationUrlRequest>;
54
+ }
55
55
  //# sourceMappingURL=StandardInteractionClient.d.ts.map