@azure/msal-browser 3.4.0 → 3.5.1-beta.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 (231) hide show
  1. package/dist/app/IPublicClientApplication.d.ts +51 -51
  2. package/dist/app/IPublicClientApplication.mjs +102 -102
  3. package/dist/app/PublicClientApplication.d.ts +268 -268
  4. package/dist/app/PublicClientApplication.mjs +333 -333
  5. package/dist/app/PublicClientNext.d.ts +273 -273
  6. package/dist/app/PublicClientNext.mjs +351 -351
  7. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
  8. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
  9. package/dist/broker/nativeBroker/NativeRequest.d.ts +44 -44
  10. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  11. package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
  12. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
  13. package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
  14. package/dist/cache/AsyncMemoryStorage.mjs +132 -132
  15. package/dist/cache/BrowserCacheManager.d.ts +383 -383
  16. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  17. package/dist/cache/BrowserCacheManager.mjs +1264 -1264
  18. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  19. package/dist/cache/BrowserStorage.d.ts +11 -11
  20. package/dist/cache/BrowserStorage.mjs +32 -32
  21. package/dist/cache/CryptoKeyStore.d.ts +18 -18
  22. package/dist/cache/CryptoKeyStore.mjs +40 -40
  23. package/dist/cache/DatabaseStorage.d.ts +56 -56
  24. package/dist/cache/DatabaseStorage.mjs +190 -190
  25. package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
  26. package/dist/cache/ITokenCache.d.ts +11 -11
  27. package/dist/cache/IWindowStorage.d.ts +27 -27
  28. package/dist/cache/MemoryStorage.d.ts +11 -11
  29. package/dist/cache/MemoryStorage.mjs +31 -31
  30. package/dist/cache/TokenCache.d.ts +77 -77
  31. package/dist/cache/TokenCache.mjs +224 -224
  32. package/dist/config/Configuration.d.ts +206 -206
  33. package/dist/config/Configuration.mjs +128 -128
  34. package/dist/controllers/ControllerFactory.d.ts +4 -4
  35. package/dist/controllers/ControllerFactory.mjs +29 -29
  36. package/dist/controllers/IController.d.ts +61 -61
  37. package/dist/controllers/NestedAppAuthController.d.ts +95 -95
  38. package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
  39. package/dist/controllers/NestedAppAuthController.mjs +335 -333
  40. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  41. package/dist/controllers/StandardController.d.ts +407 -407
  42. package/dist/controllers/StandardController.d.ts.map +1 -1
  43. package/dist/controllers/StandardController.mjs +1294 -1291
  44. package/dist/controllers/StandardController.mjs.map +1 -1
  45. package/dist/controllers/UnknownOperatingContextController.d.ts +87 -87
  46. package/dist/controllers/UnknownOperatingContextController.mjs +264 -264
  47. package/dist/crypto/BrowserCrypto.d.ts +44 -44
  48. package/dist/crypto/BrowserCrypto.mjs +93 -93
  49. package/dist/crypto/CryptoOps.d.ts +63 -63
  50. package/dist/crypto/CryptoOps.d.ts.map +1 -1
  51. package/dist/crypto/CryptoOps.mjs +145 -144
  52. package/dist/crypto/CryptoOps.mjs.map +1 -1
  53. package/dist/crypto/PkceGenerator.d.ts +8 -8
  54. package/dist/crypto/PkceGenerator.mjs +54 -54
  55. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  56. package/dist/crypto/SignedHttpRequest.mjs +39 -39
  57. package/dist/encode/Base64Decode.d.ts +9 -9
  58. package/dist/encode/Base64Decode.mjs +36 -36
  59. package/dist/encode/Base64Encode.d.ts +19 -19
  60. package/dist/encode/Base64Encode.mjs +43 -43
  61. package/dist/error/BrowserAuthError.d.ts +250 -250
  62. package/dist/error/BrowserAuthError.mjs +258 -258
  63. package/dist/error/BrowserAuthErrorCodes.d.ts +45 -45
  64. package/dist/error/BrowserAuthErrorCodes.mjs +49 -49
  65. package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
  66. package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
  67. package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
  68. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
  69. package/dist/error/NativeAuthError.d.ts +29 -29
  70. package/dist/error/NativeAuthError.mjs +60 -60
  71. package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
  72. package/dist/error/NativeAuthErrorCodes.mjs +6 -6
  73. package/dist/error/NestedAppAuthError.d.ts +14 -14
  74. package/dist/error/NestedAppAuthError.mjs +23 -23
  75. package/dist/event/EventHandler.d.ts +41 -41
  76. package/dist/event/EventHandler.mjs +119 -119
  77. package/dist/event/EventMessage.d.ts +25 -25
  78. package/dist/event/EventMessage.mjs +68 -68
  79. package/dist/event/EventType.d.ts +28 -28
  80. package/dist/event/EventType.mjs +31 -31
  81. package/dist/index.d.ts +39 -39
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.mjs +2 -2
  84. package/dist/interaction_client/BaseInteractionClient.d.ts +54 -55
  85. package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  86. package/dist/interaction_client/BaseInteractionClient.mjs +152 -153
  87. package/dist/interaction_client/BaseInteractionClient.mjs.map +1 -1
  88. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  89. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
  90. package/dist/interaction_client/NativeInteractionClient.d.ts +140 -140
  91. package/dist/interaction_client/NativeInteractionClient.mjs +548 -548
  92. package/dist/interaction_client/PopupClient.d.ts +105 -115
  93. package/dist/interaction_client/PopupClient.d.ts.map +1 -1
  94. package/dist/interaction_client/PopupClient.mjs +435 -505
  95. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  96. package/dist/interaction_client/RedirectClient.d.ts +49 -49
  97. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  98. package/dist/interaction_client/RedirectClient.mjs +314 -297
  99. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  100. package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
  101. package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
  102. package/dist/interaction_client/SilentCacheClient.d.ts +24 -24
  103. package/dist/interaction_client/SilentCacheClient.mjs +61 -61
  104. package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
  105. package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
  106. package/dist/interaction_client/SilentIframeClient.mjs +99 -108
  107. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  108. package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
  109. package/dist/interaction_client/SilentRefreshClient.mjs +43 -43
  110. package/dist/interaction_client/StandardInteractionClient.d.ts +54 -59
  111. package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  112. package/dist/interaction_client/StandardInteractionClient.mjs +222 -244
  113. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  114. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  115. package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
  116. package/dist/interaction_handler/InteractionHandler.mjs +94 -98
  117. package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
  118. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  119. package/dist/interaction_handler/RedirectHandler.d.ts.map +1 -1
  120. package/dist/interaction_handler/RedirectHandler.mjs +135 -139
  121. package/dist/interaction_handler/RedirectHandler.mjs.map +1 -1
  122. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  123. package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
  124. package/dist/interaction_handler/SilentHandler.mjs +134 -128
  125. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  126. package/dist/naa/AccountInfo.d.ts +11 -12
  127. package/dist/naa/AccountInfo.d.ts.map +1 -1
  128. package/dist/naa/AccountRequests.d.ts +9 -9
  129. package/dist/naa/AuthBridge.d.ts +5 -5
  130. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  131. package/dist/naa/BridgeError.d.ts +9 -9
  132. package/dist/naa/BridgeError.d.ts.map +1 -1
  133. package/dist/naa/BridgeError.mjs +7 -7
  134. package/dist/naa/BridgeError.mjs.map +1 -1
  135. package/dist/naa/BridgeProxy.d.ts +72 -71
  136. package/dist/naa/BridgeProxy.d.ts.map +1 -1
  137. package/dist/naa/BridgeProxy.mjs +152 -149
  138. package/dist/naa/BridgeProxy.mjs.map +1 -1
  139. package/dist/naa/BridgeRequest.d.ts +6 -6
  140. package/dist/naa/BridgeRequestEnvelope.d.ts +13 -13
  141. package/dist/naa/BridgeResponseEnvelope.d.ts +10 -10
  142. package/dist/naa/BridgeStatusCode.d.ts +10 -10
  143. package/dist/naa/BridgeStatusCode.mjs +15 -15
  144. package/dist/naa/IBridgeProxy.d.ts +12 -10
  145. package/dist/naa/IBridgeProxy.d.ts.map +1 -1
  146. package/dist/naa/InitializeBridgeResponse.d.ts +6 -6
  147. package/dist/naa/InitializeBridgeResponse.d.ts.map +1 -1
  148. package/dist/naa/TokenRequest.d.ts +19 -21
  149. package/dist/naa/TokenRequest.d.ts.map +1 -1
  150. package/dist/naa/TokenResponse.d.ts +15 -16
  151. package/dist/naa/TokenResponse.d.ts.map +1 -1
  152. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -25
  153. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  154. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +142 -170
  155. package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
  156. package/dist/navigation/INavigationClient.d.ts +16 -16
  157. package/dist/navigation/NavigationClient.d.ts +22 -22
  158. package/dist/navigation/NavigationClient.mjs +40 -40
  159. package/dist/navigation/NavigationOptions.d.ts +12 -12
  160. package/dist/network/FetchClient.d.ts +26 -26
  161. package/dist/network/FetchClient.mjs +99 -99
  162. package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
  163. package/dist/operatingcontext/BaseOperatingContext.mjs +44 -44
  164. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  165. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  166. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
  167. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts.map +1 -1
  168. package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -82
  169. package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
  170. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  171. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  172. package/dist/packageMetadata.d.ts +2 -2
  173. package/dist/packageMetadata.mjs +4 -4
  174. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  175. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  176. package/dist/request/ClearCacheRequest.d.ts +10 -10
  177. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  178. package/dist/request/EndSessionRequest.d.ts +15 -15
  179. package/dist/request/PopupRequest.d.ts +34 -34
  180. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  181. package/dist/request/RedirectRequest.d.ts +35 -35
  182. package/dist/request/SilentRequest.d.ts +32 -32
  183. package/dist/request/SsoSilentRequest.d.ts +29 -29
  184. package/dist/response/AuthenticationResult.d.ts +4 -4
  185. package/dist/response/ResponseHandler.d.ts +8 -0
  186. package/dist/response/ResponseHandler.d.ts.map +1 -0
  187. package/dist/response/ResponseHandler.mjs +46 -0
  188. package/dist/response/ResponseHandler.mjs.map +1 -0
  189. package/dist/telemetry/BrowserPerformanceClient.d.ts +36 -36
  190. package/dist/telemetry/BrowserPerformanceClient.mjs +125 -125
  191. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  192. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  193. package/dist/utils/BrowserConstants.d.ts +176 -176
  194. package/dist/utils/BrowserConstants.mjs +204 -204
  195. package/dist/utils/BrowserProtocolUtils.d.ts +11 -18
  196. package/dist/utils/BrowserProtocolUtils.d.ts.map +1 -1
  197. package/dist/utils/BrowserProtocolUtils.mjs +23 -36
  198. package/dist/utils/BrowserProtocolUtils.mjs.map +1 -1
  199. package/dist/utils/BrowserUtils.d.ts +56 -56
  200. package/dist/utils/BrowserUtils.mjs +125 -125
  201. package/lib/msal-browser.cjs +17926 -18062
  202. package/lib/msal-browser.cjs.map +1 -1
  203. package/lib/msal-browser.js +17926 -18062
  204. package/lib/msal-browser.js.map +1 -1
  205. package/lib/msal-browser.min.js +66 -65
  206. package/package.json +102 -102
  207. package/src/cache/BrowserCacheManager.ts +7 -10
  208. package/src/controllers/NestedAppAuthController.ts +8 -3
  209. package/src/controllers/StandardController.ts +31 -40
  210. package/src/crypto/CryptoOps.ts +5 -3
  211. package/src/index.ts +1 -0
  212. package/src/interaction_client/BaseInteractionClient.ts +1 -2
  213. package/src/interaction_client/PopupClient.ts +34 -137
  214. package/src/interaction_client/RedirectClient.ts +71 -55
  215. package/src/interaction_client/SilentIframeClient.ts +16 -27
  216. package/src/interaction_client/StandardInteractionClient.ts +2 -48
  217. package/src/interaction_handler/InteractionHandler.ts +5 -8
  218. package/src/interaction_handler/RedirectHandler.ts +4 -8
  219. package/src/interaction_handler/SilentHandler.ts +12 -5
  220. package/src/naa/AccountInfo.ts +3 -4
  221. package/src/naa/BridgeError.ts +4 -4
  222. package/src/naa/BridgeProxy.ts +6 -2
  223. package/src/naa/IBridgeProxy.ts +2 -0
  224. package/src/naa/InitializeBridgeResponse.ts +1 -1
  225. package/src/naa/TokenRequest.ts +0 -2
  226. package/src/naa/TokenResponse.ts +1 -2
  227. package/src/naa/mapping/NestedAppAuthAdapter.ts +72 -80
  228. package/src/operatingcontext/TeamsAppOperatingContext.ts +4 -1
  229. package/src/packageMetadata.ts +1 -1
  230. package/src/response/ResponseHandler.ts +73 -0
  231. package/src/utils/BrowserProtocolUtils.ts +17 -36
@@ -1,256 +1,234 @@
1
- /*! @azure/msal-browser v3.4.0 2023-10-30 */
1
+ /*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
2
2
  'use strict';
3
3
  import { PerformanceEvents, invokeAsync, Constants, UrlString, AuthorizationCodeClient, Authority, AuthorityFactory, ProtocolUtils } from '@azure/msal-common';
4
4
  import { BaseInteractionClient } from './BaseInteractionClient.mjs';
5
5
  import { BrowserConstants } from '../utils/BrowserConstants.mjs';
6
6
  import { version } from '../packageMetadata.mjs';
7
- import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
8
- import { BrowserProtocolUtils } from '../utils/BrowserProtocolUtils.mjs';
9
7
  import { getCurrentUri } from '../utils/BrowserUtils.mjs';
10
8
  import { generatePkceCodes } from '../crypto/PkceGenerator.mjs';
11
9
  import { createNewGuid } from '../crypto/BrowserCrypto.mjs';
12
- import { noStateInHash, unableToParseState, stateInteractionTypeMismatch } from '../error/BrowserAuthErrorCodes.mjs';
13
10
 
14
- /*
15
- * Copyright (c) Microsoft Corporation. All rights reserved.
16
- * Licensed under the MIT License.
17
- */
18
- /**
19
- * Defines the class structure and helper functions used by the "standard", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))
20
- */
21
- class StandardInteractionClient extends BaseInteractionClient {
22
- /**
23
- * Generates an auth code request tied to the url request.
24
- * @param request
25
- */
26
- async initializeAuthorizationCodeRequest(request) {
27
- this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientInitializeAuthorizationCodeRequest, request.correlationId);
28
- const generatedPkceParams = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, this.correlationId)(this.performanceClient, this.logger, this.correlationId);
29
- const authCodeRequest = {
30
- ...request,
31
- redirectUri: request.redirectUri,
32
- code: Constants.EMPTY_STRING,
33
- codeVerifier: generatedPkceParams.verifier,
34
- };
35
- request.codeChallenge = generatedPkceParams.challenge;
36
- request.codeChallengeMethod = Constants.S256_CODE_CHALLENGE_METHOD;
37
- return authCodeRequest;
38
- }
39
- /**
40
- * Initializer for the logout request.
41
- * @param logoutRequest
42
- */
43
- initializeLogoutRequest(logoutRequest) {
44
- this.logger.verbose("initializeLogoutRequest called", logoutRequest?.correlationId);
45
- const validLogoutRequest = {
46
- correlationId: this.correlationId || createNewGuid(),
47
- ...logoutRequest,
48
- };
49
- /**
50
- * Set logout_hint to be login_hint from ID Token Claims if present
51
- * and logoutHint attribute wasn't manually set in logout request
52
- */
53
- if (logoutRequest) {
54
- // If logoutHint isn't set and an account was passed in, try to extract logoutHint from ID Token Claims
55
- if (!logoutRequest.logoutHint) {
56
- if (logoutRequest.account) {
57
- const logoutHint = this.getLogoutHintFromIdTokenClaims(logoutRequest.account);
58
- if (logoutHint) {
59
- this.logger.verbose("Setting logoutHint to login_hint ID Token Claim value for the account provided");
60
- validLogoutRequest.logoutHint = logoutHint;
61
- }
62
- }
63
- else {
64
- this.logger.verbose("logoutHint was not set and account was not passed into logout request, logoutHint will not be set");
65
- }
66
- }
67
- else {
68
- this.logger.verbose("logoutHint has already been set in logoutRequest");
69
- }
70
- }
71
- else {
72
- this.logger.verbose("logoutHint will not be set since no logout request was configured");
73
- }
74
- /*
75
- * Only set redirect uri if logout request isn't provided or the set uri isn't null.
76
- * Otherwise, use passed uri, config, or current page.
77
- */
78
- if (!logoutRequest || logoutRequest.postLogoutRedirectUri !== null) {
79
- if (logoutRequest && logoutRequest.postLogoutRedirectUri) {
80
- this.logger.verbose("Setting postLogoutRedirectUri to uri set on logout request", validLogoutRequest.correlationId);
81
- validLogoutRequest.postLogoutRedirectUri =
82
- UrlString.getAbsoluteUrl(logoutRequest.postLogoutRedirectUri, getCurrentUri());
83
- }
84
- else if (this.config.auth.postLogoutRedirectUri === null) {
85
- this.logger.verbose("postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect", validLogoutRequest.correlationId);
86
- }
87
- else if (this.config.auth.postLogoutRedirectUri) {
88
- this.logger.verbose("Setting postLogoutRedirectUri to configured uri", validLogoutRequest.correlationId);
89
- validLogoutRequest.postLogoutRedirectUri =
90
- UrlString.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri, getCurrentUri());
91
- }
92
- else {
93
- this.logger.verbose("Setting postLogoutRedirectUri to current page", validLogoutRequest.correlationId);
94
- validLogoutRequest.postLogoutRedirectUri =
95
- UrlString.getAbsoluteUrl(getCurrentUri(), getCurrentUri());
96
- }
97
- }
98
- else {
99
- this.logger.verbose("postLogoutRedirectUri passed as null, not setting post logout redirect uri", validLogoutRequest.correlationId);
100
- }
101
- return validLogoutRequest;
102
- }
103
- /**
104
- * Parses login_hint ID Token Claim out of AccountInfo object to be used as
105
- * logout_hint in end session request.
106
- * @param account
107
- */
108
- getLogoutHintFromIdTokenClaims(account) {
109
- const idTokenClaims = account.idTokenClaims;
110
- if (idTokenClaims) {
111
- if (idTokenClaims.login_hint) {
112
- return idTokenClaims.login_hint;
113
- }
114
- else {
115
- this.logger.verbose("The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request");
116
- }
117
- }
118
- else {
119
- this.logger.verbose("The provided account does not contain ID Token Claims, logoutHint will not be added to logout request");
120
- }
121
- return null;
122
- }
123
- /**
124
- * Creates an Authorization Code Client with the given authority, or the default authority.
125
- * @param serverTelemetryManager
126
- * @param authorityUrl
127
- */
128
- async createAuthCodeClient(serverTelemetryManager, authorityUrl, requestAzureCloudOptions) {
129
- this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.correlationId);
130
- // Create auth module.
131
- const clientConfig = await invokeAsync(this.getClientConfiguration.bind(this), PerformanceEvents.StandardInteractionClientGetClientConfiguration, this.logger, this.performanceClient, this.correlationId)(serverTelemetryManager, authorityUrl, requestAzureCloudOptions);
132
- return new AuthorizationCodeClient(clientConfig, this.performanceClient);
133
- }
134
- /**
135
- * Creates a Client Configuration object with the given request authority, or the default authority.
136
- * @param serverTelemetryManager
137
- * @param requestAuthority
138
- * @param requestCorrelationId
139
- */
140
- async getClientConfiguration(serverTelemetryManager, requestAuthority, requestAzureCloudOptions) {
141
- this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientGetClientConfiguration, this.correlationId);
142
- const discoveredAuthority = await invokeAsync(this.getDiscoveredAuthority.bind(this), PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.logger, this.performanceClient, this.correlationId)(requestAuthority, requestAzureCloudOptions);
143
- const logger = this.config.system.loggerOptions;
144
- return {
145
- authOptions: {
146
- clientId: this.config.auth.clientId,
147
- authority: discoveredAuthority,
148
- clientCapabilities: this.config.auth.clientCapabilities,
149
- },
150
- systemOptions: {
151
- tokenRenewalOffsetSeconds: this.config.system.tokenRenewalOffsetSeconds,
152
- preventCorsPreflight: true,
153
- },
154
- loggerOptions: {
155
- loggerCallback: logger.loggerCallback,
156
- piiLoggingEnabled: logger.piiLoggingEnabled,
157
- logLevel: logger.logLevel,
158
- correlationId: this.correlationId,
159
- },
160
- cacheOptions: {
161
- claimsBasedCachingEnabled: this.config.cache.claimsBasedCachingEnabled,
162
- },
163
- cryptoInterface: this.browserCrypto,
164
- networkInterface: this.networkClient,
165
- storageInterface: this.browserStorage,
166
- serverTelemetryManager: serverTelemetryManager,
167
- libraryInfo: {
168
- sku: BrowserConstants.MSAL_SKU,
169
- version: version,
170
- cpu: Constants.EMPTY_STRING,
171
- os: Constants.EMPTY_STRING,
172
- },
173
- telemetry: this.config.telemetry,
174
- };
175
- }
176
- /**
177
- * @param hash
178
- * @param interactionType
179
- */
180
- validateAndExtractStateFromHash(serverParams, interactionType, requestCorrelationId) {
181
- this.logger.verbose("validateAndExtractStateFromHash called", requestCorrelationId);
182
- if (!serverParams.state) {
183
- throw createBrowserAuthError(noStateInHash);
184
- }
185
- const platformStateObj = BrowserProtocolUtils.extractBrowserRequestState(this.browserCrypto, serverParams.state);
186
- if (!platformStateObj) {
187
- throw createBrowserAuthError(unableToParseState);
188
- }
189
- if (platformStateObj.interactionType !== interactionType) {
190
- throw createBrowserAuthError(stateInteractionTypeMismatch);
191
- }
192
- this.logger.verbose("Returning state from hash", requestCorrelationId);
193
- return serverParams.state;
194
- }
195
- /**
196
- * Used to get a discovered version of the default authority.
197
- * @param requestAuthority
198
- * @param requestCorrelationId
199
- */
200
- async getDiscoveredAuthority(requestAuthority, requestAzureCloudOptions) {
201
- this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.correlationId);
202
- const authorityOptions = {
203
- protocolMode: this.config.auth.protocolMode,
204
- OIDCOptions: this.config.auth.OIDCOptions,
205
- knownAuthorities: this.config.auth.knownAuthorities,
206
- cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
207
- authorityMetadata: this.config.auth.authorityMetadata,
208
- skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,
209
- };
210
- // build authority string based on auth params, precedence - azureCloudInstance + tenant >> authority
211
- const userAuthority = requestAuthority
212
- ? requestAuthority
213
- : this.config.auth.authority;
214
- // fall back to the authority from config
215
- const builtAuthority = Authority.generateAuthority(userAuthority, requestAzureCloudOptions || this.config.auth.azureCloudOptions);
216
- return await invokeAsync(AuthorityFactory.createDiscoveredInstance.bind(AuthorityFactory), PerformanceEvents.AuthorityFactoryCreateDiscoveredInstance, this.logger, this.performanceClient, this.correlationId)(builtAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger, this.performanceClient, this.correlationId);
217
- }
218
- /**
219
- * Helper to initialize required request parameters for interactive APIs and ssoSilent()
220
- * @param request
221
- * @param interactionType
222
- */
223
- async initializeAuthorizationRequest(request, interactionType) {
224
- this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.correlationId);
225
- const redirectUri = this.getRedirectUri(request.redirectUri);
226
- const browserState = {
227
- interactionType: interactionType,
228
- };
229
- const state = ProtocolUtils.setRequestState(this.browserCrypto, (request && request.state) || Constants.EMPTY_STRING, browserState);
230
- const baseRequest = await invokeAsync(this.initializeBaseRequest.bind(this), PerformanceEvents.InitializeBaseRequest, this.logger, this.performanceClient, this.correlationId)(request);
231
- const validatedRequest = {
232
- ...baseRequest,
233
- redirectUri: redirectUri,
234
- state: state,
235
- nonce: request.nonce || createNewGuid(),
236
- responseMode: this.config.auth.OIDCOptions
237
- .serverResponseType,
238
- };
239
- const account = request.account || this.browserStorage.getActiveAccount();
240
- if (account) {
241
- this.logger.verbose("Setting validated request account", this.correlationId);
242
- this.logger.verbosePii(`Setting validated request account: ${account.homeAccountId}`, this.correlationId);
243
- validatedRequest.account = account;
244
- }
245
- // Check for ADAL/MSAL v1 SSO
246
- if (!validatedRequest.loginHint && !account) {
247
- const legacyLoginHint = this.browserStorage.getLegacyLoginHint();
248
- if (legacyLoginHint) {
249
- validatedRequest.loginHint = legacyLoginHint;
250
- }
251
- }
252
- return validatedRequest;
253
- }
11
+ /*
12
+ * Copyright (c) Microsoft Corporation. All rights reserved.
13
+ * Licensed under the MIT License.
14
+ */
15
+ /**
16
+ * Defines the class structure and helper functions used by the "standard", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))
17
+ */
18
+ class StandardInteractionClient extends BaseInteractionClient {
19
+ /**
20
+ * Generates an auth code request tied to the url request.
21
+ * @param request
22
+ */
23
+ async initializeAuthorizationCodeRequest(request) {
24
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientInitializeAuthorizationCodeRequest, this.correlationId);
25
+ const generatedPkceParams = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, this.correlationId)(this.performanceClient, this.logger, this.correlationId);
26
+ const authCodeRequest = {
27
+ ...request,
28
+ redirectUri: request.redirectUri,
29
+ code: Constants.EMPTY_STRING,
30
+ codeVerifier: generatedPkceParams.verifier,
31
+ };
32
+ request.codeChallenge = generatedPkceParams.challenge;
33
+ request.codeChallengeMethod = Constants.S256_CODE_CHALLENGE_METHOD;
34
+ return authCodeRequest;
35
+ }
36
+ /**
37
+ * Initializer for the logout request.
38
+ * @param logoutRequest
39
+ */
40
+ initializeLogoutRequest(logoutRequest) {
41
+ this.logger.verbose("initializeLogoutRequest called", logoutRequest?.correlationId);
42
+ const validLogoutRequest = {
43
+ correlationId: this.correlationId || createNewGuid(),
44
+ ...logoutRequest,
45
+ };
46
+ /**
47
+ * Set logout_hint to be login_hint from ID Token Claims if present
48
+ * and logoutHint attribute wasn't manually set in logout request
49
+ */
50
+ if (logoutRequest) {
51
+ // If logoutHint isn't set and an account was passed in, try to extract logoutHint from ID Token Claims
52
+ if (!logoutRequest.logoutHint) {
53
+ if (logoutRequest.account) {
54
+ const logoutHint = this.getLogoutHintFromIdTokenClaims(logoutRequest.account);
55
+ if (logoutHint) {
56
+ this.logger.verbose("Setting logoutHint to login_hint ID Token Claim value for the account provided");
57
+ validLogoutRequest.logoutHint = logoutHint;
58
+ }
59
+ }
60
+ else {
61
+ this.logger.verbose("logoutHint was not set and account was not passed into logout request, logoutHint will not be set");
62
+ }
63
+ }
64
+ else {
65
+ this.logger.verbose("logoutHint has already been set in logoutRequest");
66
+ }
67
+ }
68
+ else {
69
+ this.logger.verbose("logoutHint will not be set since no logout request was configured");
70
+ }
71
+ /*
72
+ * Only set redirect uri if logout request isn't provided or the set uri isn't null.
73
+ * Otherwise, use passed uri, config, or current page.
74
+ */
75
+ if (!logoutRequest || logoutRequest.postLogoutRedirectUri !== null) {
76
+ if (logoutRequest && logoutRequest.postLogoutRedirectUri) {
77
+ this.logger.verbose("Setting postLogoutRedirectUri to uri set on logout request", validLogoutRequest.correlationId);
78
+ validLogoutRequest.postLogoutRedirectUri =
79
+ UrlString.getAbsoluteUrl(logoutRequest.postLogoutRedirectUri, getCurrentUri());
80
+ }
81
+ else if (this.config.auth.postLogoutRedirectUri === null) {
82
+ this.logger.verbose("postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect", validLogoutRequest.correlationId);
83
+ }
84
+ else if (this.config.auth.postLogoutRedirectUri) {
85
+ this.logger.verbose("Setting postLogoutRedirectUri to configured uri", validLogoutRequest.correlationId);
86
+ validLogoutRequest.postLogoutRedirectUri =
87
+ UrlString.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri, getCurrentUri());
88
+ }
89
+ else {
90
+ this.logger.verbose("Setting postLogoutRedirectUri to current page", validLogoutRequest.correlationId);
91
+ validLogoutRequest.postLogoutRedirectUri =
92
+ UrlString.getAbsoluteUrl(getCurrentUri(), getCurrentUri());
93
+ }
94
+ }
95
+ else {
96
+ this.logger.verbose("postLogoutRedirectUri passed as null, not setting post logout redirect uri", validLogoutRequest.correlationId);
97
+ }
98
+ return validLogoutRequest;
99
+ }
100
+ /**
101
+ * Parses login_hint ID Token Claim out of AccountInfo object to be used as
102
+ * logout_hint in end session request.
103
+ * @param account
104
+ */
105
+ getLogoutHintFromIdTokenClaims(account) {
106
+ const idTokenClaims = account.idTokenClaims;
107
+ if (idTokenClaims) {
108
+ if (idTokenClaims.login_hint) {
109
+ return idTokenClaims.login_hint;
110
+ }
111
+ else {
112
+ this.logger.verbose("The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request");
113
+ }
114
+ }
115
+ else {
116
+ this.logger.verbose("The provided account does not contain ID Token Claims, logoutHint will not be added to logout request");
117
+ }
118
+ return null;
119
+ }
120
+ /**
121
+ * Creates an Authorization Code Client with the given authority, or the default authority.
122
+ * @param serverTelemetryManager
123
+ * @param authorityUrl
124
+ */
125
+ async createAuthCodeClient(serverTelemetryManager, authorityUrl, requestAzureCloudOptions) {
126
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.correlationId);
127
+ // Create auth module.
128
+ const clientConfig = await invokeAsync(this.getClientConfiguration.bind(this), PerformanceEvents.StandardInteractionClientGetClientConfiguration, this.logger, this.performanceClient, this.correlationId)(serverTelemetryManager, authorityUrl, requestAzureCloudOptions);
129
+ return new AuthorizationCodeClient(clientConfig, this.performanceClient);
130
+ }
131
+ /**
132
+ * Creates a Client Configuration object with the given request authority, or the default authority.
133
+ * @param serverTelemetryManager
134
+ * @param requestAuthority
135
+ * @param requestCorrelationId
136
+ */
137
+ async getClientConfiguration(serverTelemetryManager, requestAuthority, requestAzureCloudOptions) {
138
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientGetClientConfiguration, this.correlationId);
139
+ const discoveredAuthority = await invokeAsync(this.getDiscoveredAuthority.bind(this), PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.logger, this.performanceClient, this.correlationId)(requestAuthority, requestAzureCloudOptions);
140
+ const logger = this.config.system.loggerOptions;
141
+ return {
142
+ authOptions: {
143
+ clientId: this.config.auth.clientId,
144
+ authority: discoveredAuthority,
145
+ clientCapabilities: this.config.auth.clientCapabilities,
146
+ },
147
+ systemOptions: {
148
+ tokenRenewalOffsetSeconds: this.config.system.tokenRenewalOffsetSeconds,
149
+ preventCorsPreflight: true,
150
+ },
151
+ loggerOptions: {
152
+ loggerCallback: logger.loggerCallback,
153
+ piiLoggingEnabled: logger.piiLoggingEnabled,
154
+ logLevel: logger.logLevel,
155
+ correlationId: this.correlationId,
156
+ },
157
+ cacheOptions: {
158
+ claimsBasedCachingEnabled: this.config.cache.claimsBasedCachingEnabled,
159
+ },
160
+ cryptoInterface: this.browserCrypto,
161
+ networkInterface: this.networkClient,
162
+ storageInterface: this.browserStorage,
163
+ serverTelemetryManager: serverTelemetryManager,
164
+ libraryInfo: {
165
+ sku: BrowserConstants.MSAL_SKU,
166
+ version: version,
167
+ cpu: Constants.EMPTY_STRING,
168
+ os: Constants.EMPTY_STRING,
169
+ },
170
+ telemetry: this.config.telemetry,
171
+ };
172
+ }
173
+ /**
174
+ * Used to get a discovered version of the default authority.
175
+ * @param requestAuthority
176
+ * @param requestCorrelationId
177
+ */
178
+ async getDiscoveredAuthority(requestAuthority, requestAzureCloudOptions) {
179
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.correlationId);
180
+ const authorityOptions = {
181
+ protocolMode: this.config.auth.protocolMode,
182
+ OIDCOptions: this.config.auth.OIDCOptions,
183
+ knownAuthorities: this.config.auth.knownAuthorities,
184
+ cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
185
+ authorityMetadata: this.config.auth.authorityMetadata,
186
+ skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,
187
+ };
188
+ // build authority string based on auth params, precedence - azureCloudInstance + tenant >> authority
189
+ const userAuthority = requestAuthority
190
+ ? requestAuthority
191
+ : this.config.auth.authority;
192
+ // fall back to the authority from config
193
+ const builtAuthority = Authority.generateAuthority(userAuthority, requestAzureCloudOptions || this.config.auth.azureCloudOptions);
194
+ return await invokeAsync(AuthorityFactory.createDiscoveredInstance.bind(AuthorityFactory), PerformanceEvents.AuthorityFactoryCreateDiscoveredInstance, this.logger, this.performanceClient, this.correlationId)(builtAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger, this.performanceClient, this.correlationId);
195
+ }
196
+ /**
197
+ * Helper to initialize required request parameters for interactive APIs and ssoSilent()
198
+ * @param request
199
+ * @param interactionType
200
+ */
201
+ async initializeAuthorizationRequest(request, interactionType) {
202
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.correlationId);
203
+ const redirectUri = this.getRedirectUri(request.redirectUri);
204
+ const browserState = {
205
+ interactionType: interactionType,
206
+ };
207
+ const state = ProtocolUtils.setRequestState(this.browserCrypto, (request && request.state) || Constants.EMPTY_STRING, browserState);
208
+ const baseRequest = await invokeAsync(this.initializeBaseRequest.bind(this), PerformanceEvents.InitializeBaseRequest, this.logger, this.performanceClient, this.correlationId)(request);
209
+ const validatedRequest = {
210
+ ...baseRequest,
211
+ redirectUri: redirectUri,
212
+ state: state,
213
+ nonce: request.nonce || createNewGuid(),
214
+ responseMode: this.config.auth.OIDCOptions
215
+ .serverResponseType,
216
+ };
217
+ const account = request.account || this.browserStorage.getActiveAccount();
218
+ if (account) {
219
+ this.logger.verbose("Setting validated request account", this.correlationId);
220
+ this.logger.verbosePii(`Setting validated request account: ${account.homeAccountId}`, this.correlationId);
221
+ validatedRequest.account = account;
222
+ }
223
+ // Check for ADAL/MSAL v1 SSO
224
+ if (!validatedRequest.loginHint && !account) {
225
+ const legacyLoginHint = this.browserStorage.getLegacyLoginHint();
226
+ if (legacyLoginHint) {
227
+ validatedRequest.loginHint = legacyLoginHint;
228
+ }
229
+ }
230
+ return validatedRequest;
231
+ }
254
232
  }
255
233
 
256
234
  export { StandardInteractionClient };
@@ -1 +1 @@
1
- {"version":3,"file":"StandardInteractionClient.mjs","sources":["../../src/interaction_client/StandardInteractionClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAKA;AAqBA;AACA;AACA;;;AAyBO;+BAC+C,SAAA,qBACrC,CAAA;AA2Bb;;;AAGG;IACH,MAAS,kCACL,CAAA,OAAc,EAAE;AAgGpB,QAAA,IAAA,CAAA,iBAAA,CAAA,mBAAA,CAAA,iBAAA,CAAA,2DAAA,EAAA,OAAA,CAAA,aAAA,CAAA,CAAA;;;;AAIG,YAAA,WAAA,EAAA,OAAA,CAAA,WAAA;YACM;AAqBT,YAAA,YAAA,EAAA,mBAAA,CAAA,QAAA;;;;AAIG,QAAA,OAAA,eAAA,CAAA;AACa,KAAA;AAuBhB;;;;;AAKG,QAAA,IAAA,CAAA,MAAA,CAAA,OAAA,CAAA,gCAAA,EAAA,aAAA,EAAA,aAAA,CAAA,CAAA;AACa,QAAA,MAAA,kBAAA,GAAA;AAqDhB,YAAA,aAAA,EAAA,IAAA,CAAA,aAAA,IAAA,aAAA,EAAA;;;AAGG;AACH;AAkCA;;;;AAIG,YAAA,IAAA,CAAA,aAAA,CAAA,UAAA,EAAA;AACa,gBAAA,IAAA,aAAA,CAAA,OACZ,EAAA;AA4CJ,oBAAA,MAAA,UAAA,GAAA,IAAA,CAAA,8BAAA,CAAA,aAAA,CAAA,OAAA,CAAA,CAAA;;;;AAIG,qBAAA;AACa,iBAAA;AA4DnB,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"StandardInteractionClient.mjs","sources":["../../src/interaction_client/StandardInteractionClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAKA;AAoBA;AACA;AACA;AAcA;AACI;;;AAGG;;AA6BH;;;AAGG,QAAA,IAAA,CAAA,iBAAA,CAAA,mBAAA,CAAA,iBAAA,CAAA,2DAAA,EAAA,IAAA,CAAA,aAAA,CAAA,CAAA;QACM,MAAC,4BACN,WAAgB,CAAA,iBAAiB,mBACX,CAAA,iBAAA,EAAA,IAAA,CAAA,MAAA,EAAA,IAAA,CAAA,iBAAA,EAAA,IAAA,CAAA,aAAA,CAAA,CAAA,IAAA,CAAA,iBAAA,EAAA,IAAA,CAAA,MAAA,EAAA,IAAA,CAAA,aAAA,CAAA,CAAA;AA+F1B,QAAA,MAAA,eAAA,GAAA;;;;AAIG,YAAA,YAAA,EAAA,mBAAA,CAAA,QAAA;SACM,CAAA;AAqBT,QAAA,OAAA,CAAA,aAAA,GAAA,mBAAA,CAAA,SAAA,CAAA;;;;AAIG;AACa;AAuBhB;;;;;AAKG,YAAA,aAAA,EAAA,IAAA,CAAA,aAAA,IAAA,aAAA,EAAA;AACa,YAAA,GAAA,aAAA;AAqDhB,SAAA,CAAA;;;;AAIG;AACa,QAAA,IAAA,aAAA,EAAA;AA6ChB;;;;AAIG,oBAAA,IAAA,UAAA,EAAA;AACa,wBAAA,IAAA,CAAA,MAAA,CAAA,OAAA,CAA8B,gFAEV,CAAA,CAAA;AA0DvC,wBAAA,kBAAA,CAAA,UAAA,GAAA,UAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,34 +1,34 @@
1
- import { AuthorizationCodePayload, CommonAuthorizationCodeRequest, AuthorizationCodeClient, CcsCredential, Logger, IPerformanceClient } from "@azure/msal-common";
2
- import { BrowserCacheManager } from "../cache/BrowserCacheManager";
3
- import { AuthenticationResult } from "../response/AuthenticationResult";
4
- import { AuthorizationUrlRequest } from "../request/AuthorizationUrlRequest";
5
- /**
6
- * Abstract class which defines operations for a browser interaction handling class.
7
- */
8
- export declare class InteractionHandler {
9
- protected authModule: AuthorizationCodeClient;
10
- protected browserStorage: BrowserCacheManager;
11
- protected authCodeRequest: CommonAuthorizationCodeRequest;
12
- protected logger: Logger;
13
- protected performanceClient: IPerformanceClient;
14
- constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger, performanceClient: IPerformanceClient);
15
- /**
16
- * Function to handle response parameters from hash.
17
- * @param locationHash
18
- */
19
- handleCodeResponseFromHash(locationHash: string, request: AuthorizationUrlRequest): Promise<AuthenticationResult>;
20
- /**
21
- * Process auth code response from AAD
22
- * @param authCodeResponse
23
- * @param state
24
- * @param authority
25
- * @param networkModule
26
- * @returns
27
- */
28
- handleCodeResponseFromServer(authCodeResponse: AuthorizationCodePayload, request: AuthorizationUrlRequest, validateNonce?: boolean): Promise<AuthenticationResult>;
29
- /**
30
- * Build ccs creds if available
31
- */
32
- protected createCcsCredentials(request: AuthorizationUrlRequest): CcsCredential | null;
33
- }
1
+ import { AuthorizationCodePayload, CommonAuthorizationCodeRequest, AuthorizationCodeClient, CcsCredential, Logger, IPerformanceClient, ServerAuthorizationCodeResponse } from "@azure/msal-common";
2
+ import { BrowserCacheManager } from "../cache/BrowserCacheManager";
3
+ import { AuthenticationResult } from "../response/AuthenticationResult";
4
+ import { AuthorizationUrlRequest } from "../request/AuthorizationUrlRequest";
5
+ /**
6
+ * Abstract class which defines operations for a browser interaction handling class.
7
+ */
8
+ export declare class InteractionHandler {
9
+ protected authModule: AuthorizationCodeClient;
10
+ protected browserStorage: BrowserCacheManager;
11
+ protected authCodeRequest: CommonAuthorizationCodeRequest;
12
+ protected logger: Logger;
13
+ protected performanceClient: IPerformanceClient;
14
+ constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger, performanceClient: IPerformanceClient);
15
+ /**
16
+ * Function to handle response parameters from hash.
17
+ * @param locationHash
18
+ */
19
+ handleCodeResponse(response: ServerAuthorizationCodeResponse, request: AuthorizationUrlRequest): Promise<AuthenticationResult>;
20
+ /**
21
+ * Process auth code response from AAD
22
+ * @param authCodeResponse
23
+ * @param state
24
+ * @param authority
25
+ * @param networkModule
26
+ * @returns
27
+ */
28
+ handleCodeResponseFromServer(authCodeResponse: AuthorizationCodePayload, request: AuthorizationUrlRequest, validateNonce?: boolean): Promise<AuthenticationResult>;
29
+ /**
30
+ * Build ccs creds if available
31
+ */
32
+ protected createCcsCredentials(request: AuthorizationUrlRequest): CcsCredential | null;
33
+ }
34
34
  //# sourceMappingURL=InteractionHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionHandler.d.ts","sourceRoot":"","sources":["../../src/interaction_handler/InteractionHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACvB,aAAa,EACb,MAAM,EAEN,kBAAkB,EAIrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E;;GAEG;AACH,qBAAa,kBAAkB;IAC3B,SAAS,CAAC,UAAU,EAAE,uBAAuB,CAAC;IAC9C,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAC9C,SAAS,CAAC,eAAe,EAAE,8BAA8B,CAAC;IAC1D,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;gBAG5C,cAAc,EAAE,uBAAuB,EACvC,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,8BAA8B,EAC/C,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,kBAAkB;IASzC;;;OAGG;IACG,0BAA0B,CAC5B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,oBAAoB,CAAC;IAuChC;;;;;;;OAOG;IACG,4BAA4B,CAC9B,gBAAgB,EAAE,wBAAwB,EAC1C,OAAO,EAAE,uBAAuB,EAChC,aAAa,GAAE,OAAc,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAoDhC;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAC1B,OAAO,EAAE,uBAAuB,GACjC,aAAa,GAAG,IAAI;CAe1B"}
1
+ {"version":3,"file":"InteractionHandler.d.ts","sourceRoot":"","sources":["../../src/interaction_handler/InteractionHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACvB,aAAa,EACb,MAAM,EAEN,kBAAkB,EAIlB,+BAA+B,EAClC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAKnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E;;GAEG;AACH,qBAAa,kBAAkB;IAC3B,SAAS,CAAC,UAAU,EAAE,uBAAuB,CAAC;IAC9C,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAC9C,SAAS,CAAC,eAAe,EAAE,8BAA8B,CAAC;IAC1D,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;gBAG5C,cAAc,EAAE,uBAAuB,EACvC,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,8BAA8B,EAC/C,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,kBAAkB;IASzC;;;OAGG;IACG,kBAAkB,CACpB,QAAQ,EAAE,+BAA+B,EACzC,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,oBAAoB,CAAC;IAmChC;;;;;;;OAOG;IACG,4BAA4B,CAC9B,gBAAgB,EAAE,wBAAwB,EAC1C,OAAO,EAAE,uBAAuB,EAChC,aAAa,GAAE,OAAc,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAoDhC;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAC1B,OAAO,EAAE,uBAAuB,GACjC,aAAa,GAAG,IAAI;CAe1B"}