@azure/msal-common 14.0.3 → 14.1.0-alpha.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 (296) hide show
  1. package/dist/account/AccountInfo.d.ts +32 -32
  2. package/dist/account/AuthToken.d.ts +17 -17
  3. package/dist/account/AuthToken.d.ts.map +1 -1
  4. package/dist/account/AuthToken.mjs +60 -59
  5. package/dist/account/AuthToken.mjs.map +1 -1
  6. package/dist/account/CcsCredential.d.ts +9 -9
  7. package/dist/account/CcsCredential.mjs +8 -8
  8. package/dist/account/ClientCredentials.d.ts +14 -14
  9. package/dist/account/ClientInfo.d.ts +19 -19
  10. package/dist/account/ClientInfo.d.ts.map +1 -1
  11. package/dist/account/ClientInfo.mjs +39 -38
  12. package/dist/account/ClientInfo.mjs.map +1 -1
  13. package/dist/account/TokenClaims.d.ts +65 -65
  14. package/dist/authority/Authority.d.ts +235 -235
  15. package/dist/authority/Authority.d.ts.map +1 -1
  16. package/dist/authority/Authority.mjs +743 -765
  17. package/dist/authority/Authority.mjs.map +1 -1
  18. package/dist/authority/AuthorityFactory.d.ts +31 -31
  19. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  20. package/dist/authority/AuthorityFactory.mjs +52 -50
  21. package/dist/authority/AuthorityFactory.mjs.map +1 -1
  22. package/dist/authority/AuthorityMetadata.d.ts +623 -623
  23. package/dist/authority/AuthorityMetadata.mjs +884 -884
  24. package/dist/authority/AuthorityOptions.d.ts +21 -21
  25. package/dist/authority/AuthorityOptions.mjs +18 -18
  26. package/dist/authority/AuthorityType.d.ts +10 -10
  27. package/dist/authority/AuthorityType.mjs +13 -13
  28. package/dist/authority/AzureRegion.d.ts +1 -1
  29. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  30. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  31. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  32. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  33. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  34. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  35. package/dist/authority/ImdsOptions.d.ts +5 -5
  36. package/dist/authority/OIDCOptions.d.ts +8 -8
  37. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  38. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  39. package/dist/authority/ProtocolMode.d.ts +8 -8
  40. package/dist/authority/ProtocolMode.mjs +11 -11
  41. package/dist/authority/RegionDiscovery.d.ts +32 -30
  42. package/dist/authority/RegionDiscovery.d.ts.map +1 -1
  43. package/dist/authority/RegionDiscovery.mjs +107 -108
  44. package/dist/authority/RegionDiscovery.mjs.map +1 -1
  45. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  46. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  47. package/dist/cache/CacheManager.d.ts +446 -446
  48. package/dist/cache/CacheManager.d.ts.map +1 -1
  49. package/dist/cache/CacheManager.mjs +1000 -1024
  50. package/dist/cache/CacheManager.mjs.map +1 -1
  51. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  52. package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
  53. package/dist/cache/entities/AccessTokenEntity.mjs +111 -110
  54. package/dist/cache/entities/AccessTokenEntity.mjs.map +1 -1
  55. package/dist/cache/entities/AccountEntity.d.ts +101 -101
  56. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  57. package/dist/cache/entities/AccountEntity.mjs +222 -221
  58. package/dist/cache/entities/AccountEntity.mjs.map +1 -1
  59. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  60. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  61. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  62. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  63. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  64. package/dist/cache/entities/CacheRecord.mjs +14 -14
  65. package/dist/cache/entities/CredentialEntity.d.ts +88 -88
  66. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  67. package/dist/cache/entities/CredentialEntity.mjs +138 -137
  68. package/dist/cache/entities/CredentialEntity.mjs.map +1 -1
  69. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  70. package/dist/cache/entities/IdTokenEntity.mjs +56 -56
  71. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  72. package/dist/cache/entities/RefreshTokenEntity.mjs +59 -59
  73. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  74. package/dist/cache/entities/ServerTelemetryEntity.mjs +27 -27
  75. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  76. package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
  77. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  78. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  79. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  80. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  81. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  82. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  83. package/dist/client/AuthorizationCodeClient.d.ts +73 -73
  84. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  85. package/dist/client/AuthorizationCodeClient.mjs +411 -410
  86. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  87. package/dist/client/BaseClient.d.ts +51 -51
  88. package/dist/client/BaseClient.d.ts.map +1 -1
  89. package/dist/client/BaseClient.mjs +100 -99
  90. package/dist/client/BaseClient.mjs.map +1 -1
  91. package/dist/client/RefreshTokenClient.d.ts +35 -35
  92. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  93. package/dist/client/RefreshTokenClient.mjs +185 -234
  94. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  95. package/dist/client/SilentFlowClient.d.ts +26 -25
  96. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  97. package/dist/client/SilentFlowClient.mjs +127 -103
  98. package/dist/client/SilentFlowClient.mjs.map +1 -1
  99. package/dist/config/AppTokenProvider.d.ts +38 -38
  100. package/dist/config/ClientConfiguration.d.ts +150 -150
  101. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  102. package/dist/config/ClientConfiguration.mjs +99 -100
  103. package/dist/config/ClientConfiguration.mjs.map +1 -1
  104. package/dist/crypto/ICrypto.d.ts +62 -62
  105. package/dist/crypto/ICrypto.d.ts.map +1 -1
  106. package/dist/crypto/ICrypto.mjs +35 -43
  107. package/dist/crypto/ICrypto.mjs.map +1 -1
  108. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  109. package/dist/crypto/JoseHeader.d.ts +22 -22
  110. package/dist/crypto/JoseHeader.d.ts.map +1 -1
  111. package/dist/crypto/JoseHeader.mjs +39 -38
  112. package/dist/crypto/JoseHeader.mjs.map +1 -1
  113. package/dist/crypto/PopTokenGenerator.d.ts +60 -59
  114. package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
  115. package/dist/crypto/PopTokenGenerator.mjs +83 -83
  116. package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
  117. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  118. package/dist/error/AuthError.d.ts +44 -47
  119. package/dist/error/AuthError.d.ts.map +1 -1
  120. package/dist/error/AuthError.mjs +50 -52
  121. package/dist/error/AuthError.mjs.map +1 -1
  122. package/dist/error/AuthErrorCodes.d.ts +6 -0
  123. package/dist/error/AuthErrorCodes.d.ts.map +1 -0
  124. package/dist/error/AuthErrorCodes.mjs +14 -0
  125. package/dist/error/AuthErrorCodes.mjs.map +1 -0
  126. package/dist/error/ClientAuthError.d.ts +232 -412
  127. package/dist/error/ClientAuthError.d.ts.map +1 -1
  128. package/dist/error/ClientAuthError.mjs +248 -520
  129. package/dist/error/ClientAuthError.mjs.map +1 -1
  130. package/dist/error/ClientAuthErrorCodes.d.ts +44 -0
  131. package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -0
  132. package/dist/error/ClientAuthErrorCodes.mjs +52 -0
  133. package/dist/error/ClientAuthErrorCodes.mjs.map +1 -0
  134. package/dist/error/ClientConfigurationError.d.ts +128 -222
  135. package/dist/error/ClientConfigurationError.d.ts.map +1 -1
  136. package/dist/error/ClientConfigurationError.mjs +140 -281
  137. package/dist/error/ClientConfigurationError.mjs.map +1 -1
  138. package/dist/error/ClientConfigurationErrorCodes.d.ts +23 -0
  139. package/dist/error/ClientConfigurationErrorCodes.d.ts.map +1 -0
  140. package/dist/error/ClientConfigurationErrorCodes.mjs +31 -0
  141. package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -0
  142. package/dist/error/InteractionRequiredAuthError.d.ts +57 -59
  143. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  144. package/dist/error/InteractionRequiredAuthError.mjs +80 -79
  145. package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  146. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +6 -0
  147. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -0
  148. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +16 -0
  149. package/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -0
  150. package/dist/error/JoseHeaderError.d.ts +15 -28
  151. package/dist/error/JoseHeaderError.d.ts.map +1 -1
  152. package/dist/error/JoseHeaderError.mjs +24 -40
  153. package/dist/error/JoseHeaderError.mjs.map +1 -1
  154. package/dist/error/JoseHeaderErrorCodes.d.ts +3 -0
  155. package/dist/error/JoseHeaderErrorCodes.d.ts.map +1 -0
  156. package/dist/error/JoseHeaderErrorCodes.mjs +11 -0
  157. package/dist/error/JoseHeaderErrorCodes.mjs.map +1 -0
  158. package/dist/error/ServerError.d.ts +7 -7
  159. package/dist/error/ServerError.mjs +14 -14
  160. package/dist/index.cjs +8715 -9047
  161. package/dist/index.cjs.map +1 -1
  162. package/dist/index.d.ts +96 -96
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.mjs +13 -5
  165. package/dist/index.mjs.map +1 -1
  166. package/dist/logger/Logger.d.ts +95 -95
  167. package/dist/logger/Logger.mjs +188 -188
  168. package/dist/network/INetworkModule.d.ts +29 -29
  169. package/dist/network/INetworkModule.d.ts.map +1 -1
  170. package/dist/network/INetworkModule.mjs +14 -15
  171. package/dist/network/INetworkModule.mjs.map +1 -1
  172. package/dist/network/NetworkManager.d.ts +33 -33
  173. package/dist/network/NetworkManager.d.ts.map +1 -1
  174. package/dist/network/NetworkManager.mjs +36 -35
  175. package/dist/network/NetworkManager.mjs.map +1 -1
  176. package/dist/network/RequestThumbprint.d.ts +16 -16
  177. package/dist/network/ThrottlingUtils.d.ts +42 -42
  178. package/dist/network/ThrottlingUtils.mjs +95 -95
  179. package/dist/packageMetadata.d.ts +2 -2
  180. package/dist/packageMetadata.mjs +3 -3
  181. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  182. package/dist/request/AuthenticationHeaderParser.d.ts.map +1 -1
  183. package/dist/request/AuthenticationHeaderParser.mjs +58 -57
  184. package/dist/request/AuthenticationHeaderParser.mjs.map +1 -1
  185. package/dist/request/BaseAuthRequest.d.ts +40 -40
  186. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  187. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  188. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  189. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  190. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  191. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  192. package/dist/request/CommonRefreshTokenRequest.d.ts +19 -19
  193. package/dist/request/CommonSilentFlowRequest.d.ts +18 -18
  194. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  195. package/dist/request/NativeRequest.d.ts +19 -19
  196. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  197. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  198. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  199. package/dist/request/RequestParameterBuilder.mjs +383 -382
  200. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  201. package/dist/request/RequestValidator.d.ts +33 -33
  202. package/dist/request/RequestValidator.d.ts.map +1 -1
  203. package/dist/request/RequestValidator.mjs +83 -82
  204. package/dist/request/RequestValidator.mjs.map +1 -1
  205. package/dist/request/ScopeSet.d.ts +88 -88
  206. package/dist/request/ScopeSet.d.ts.map +1 -1
  207. package/dist/request/ScopeSet.mjs +201 -199
  208. package/dist/request/ScopeSet.mjs.map +1 -1
  209. package/dist/request/StoreInCache.d.ts +8 -8
  210. package/dist/response/AuthenticationResult.d.ts +41 -41
  211. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  212. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  213. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  214. package/dist/response/IMDSBadResponse.d.ts +4 -4
  215. package/dist/response/ResponseHandler.d.ts +67 -67
  216. package/dist/response/ResponseHandler.d.ts.map +1 -1
  217. package/dist/response/ResponseHandler.mjs +314 -313
  218. package/dist/response/ResponseHandler.mjs.map +1 -1
  219. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  220. package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -46
  221. package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
  222. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  223. package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
  224. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  225. package/dist/telemetry/performance/PerformanceClient.mjs +409 -408
  226. package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
  227. package/dist/telemetry/performance/PerformanceEvent.d.ts +433 -433
  228. package/dist/telemetry/performance/PerformanceEvent.mjs +234 -234
  229. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  230. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  231. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  232. package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  233. package/dist/telemetry/server/ServerTelemetryManager.mjs +197 -197
  234. package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
  235. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  236. package/dist/url/IUri.d.ts +12 -12
  237. package/dist/url/UrlString.d.ts +83 -83
  238. package/dist/url/UrlString.d.ts.map +1 -1
  239. package/dist/url/UrlString.mjs +283 -281
  240. package/dist/url/UrlString.mjs.map +1 -1
  241. package/dist/utils/Constants.d.ts +366 -363
  242. package/dist/utils/Constants.d.ts.map +1 -1
  243. package/dist/utils/Constants.mjs +376 -368
  244. package/dist/utils/Constants.mjs.map +1 -1
  245. package/dist/utils/FunctionWrappers.d.ts +27 -27
  246. package/dist/utils/FunctionWrappers.mjs +85 -85
  247. package/dist/utils/MsalTypes.d.ts +6 -6
  248. package/dist/utils/ProtocolUtils.d.ts +42 -42
  249. package/dist/utils/ProtocolUtils.d.ts.map +1 -1
  250. package/dist/utils/ProtocolUtils.mjs +71 -70
  251. package/dist/utils/ProtocolUtils.mjs.map +1 -1
  252. package/dist/utils/StringUtils.d.ts +40 -40
  253. package/dist/utils/StringUtils.mjs +95 -95
  254. package/dist/utils/TimeUtils.d.ts +27 -27
  255. package/dist/utils/TimeUtils.mjs +45 -45
  256. package/package.json +1 -1
  257. package/src/account/AuthToken.ts +8 -7
  258. package/src/account/ClientInfo.ts +9 -6
  259. package/src/authority/Authority.ts +76 -94
  260. package/src/authority/AuthorityFactory.ts +21 -9
  261. package/src/authority/RegionDiscovery.ts +21 -18
  262. package/src/cache/CacheManager.ts +37 -77
  263. package/src/cache/entities/AccessTokenEntity.ts +7 -2
  264. package/src/cache/entities/AccountEntity.ts +7 -2
  265. package/src/cache/entities/CredentialEntity.ts +7 -2
  266. package/src/client/AuthorizationCodeClient.ts +32 -10
  267. package/src/client/BaseClient.ts +7 -4
  268. package/src/client/RefreshTokenClient.ts +81 -124
  269. package/src/client/SilentFlowClient.ts +72 -19
  270. package/src/config/ClientConfiguration.ts +6 -7
  271. package/src/crypto/ICrypto.ts +13 -28
  272. package/src/crypto/JoseHeader.ts +6 -3
  273. package/src/crypto/PopTokenGenerator.ts +10 -5
  274. package/src/error/AuthError.ts +24 -26
  275. package/src/error/AuthErrorCodes.ts +10 -0
  276. package/src/error/ClientAuthError.ts +227 -632
  277. package/src/error/ClientAuthErrorCodes.ts +51 -0
  278. package/src/error/ClientConfigurationError.ts +146 -332
  279. package/src/error/ClientConfigurationErrorCodes.ts +28 -0
  280. package/src/error/InteractionRequiredAuthError.ts +60 -55
  281. package/src/error/InteractionRequiredAuthErrorCodes.ts +13 -0
  282. package/src/error/JoseHeaderError.ts +11 -31
  283. package/src/error/JoseHeaderErrorCodes.ts +7 -0
  284. package/src/index.ts +12 -1
  285. package/src/network/INetworkModule.ts +10 -7
  286. package/src/network/NetworkManager.ts +5 -5
  287. package/src/request/AuthenticationHeaderParser.ts +11 -8
  288. package/src/request/RequestParameterBuilder.ts +10 -3
  289. package/src/request/RequestValidator.ts +19 -6
  290. package/src/request/ScopeSet.ts +23 -7
  291. package/src/response/ResponseHandler.ts +37 -17
  292. package/src/telemetry/performance/PerformanceClient.ts +2 -1
  293. package/src/telemetry/server/ServerTelemetryManager.ts +1 -1
  294. package/src/url/UrlString.ts +26 -16
  295. package/src/utils/Constants.ts +11 -3
  296. package/src/utils/ProtocolUtils.ts +8 -12
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v14.0.3 2023-09-05 */
1
+ /*! @azure/msal-common v14.1.0-alpha.0 2023-09-20 */
2
2
  'use strict';
3
3
  import { isOidcProtocolMode } from '../config/ClientConfiguration.mjs';
4
4
  import { BaseClient } from './BaseClient.mjs';
@@ -7,246 +7,197 @@ import { GrantType, AuthenticationScheme, HeaderNames, Errors } from '../utils/C
7
7
  import { ResponseHandler } from '../response/ResponseHandler.mjs';
8
8
  import { PopTokenGenerator } from '../crypto/PopTokenGenerator.mjs';
9
9
  import { StringUtils } from '../utils/StringUtils.mjs';
10
- import { ClientConfigurationError } from '../error/ClientConfigurationError.mjs';
11
- import { ClientAuthError } from '../error/ClientAuthError.mjs';
10
+ import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
11
+ import { createClientAuthError } from '../error/ClientAuthError.mjs';
12
12
  import { ServerError } from '../error/ServerError.mjs';
13
13
  import { TimeUtils } from '../utils/TimeUtils.mjs';
14
14
  import { UrlString } from '../url/UrlString.mjs';
15
15
  import { CcsCredentialType } from '../account/CcsCredential.mjs';
16
16
  import { buildClientInfoFromHomeAccountId } from '../account/ClientInfo.mjs';
17
- import { InteractionRequiredAuthError, InteractionRequiredAuthErrorMessage } from '../error/InteractionRequiredAuthError.mjs';
17
+ import { createInteractionRequiredAuthError, InteractionRequiredAuthError } from '../error/InteractionRequiredAuthError.mjs';
18
18
  import { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';
19
+ import { invokeAsync } from '../utils/FunctionWrappers.mjs';
20
+ import { tokenRequestEmpty, missingSshJwk } from '../error/ClientConfigurationErrorCodes.mjs';
21
+ import { noAccountInSilentRequest } from '../error/ClientAuthErrorCodes.mjs';
22
+ import { noTokensFound } from '../error/InteractionRequiredAuthErrorCodes.mjs';
19
23
 
20
- /*
21
- * Copyright (c) Microsoft Corporation. All rights reserved.
22
- * Licensed under the MIT License.
23
- */
24
- /**
25
- * OAuth2.0 refresh token client
26
- * @internal
27
- */
28
- class RefreshTokenClient extends BaseClient {
29
- constructor(configuration, performanceClient) {
30
- super(configuration, performanceClient);
31
- }
32
- async acquireToken(request) {
33
- this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientAcquireToken, request.correlationId);
34
- const atsMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.RefreshTokenClientAcquireToken, request.correlationId);
35
- this.logger.verbose("RefreshTokenClientAcquireToken called", request.correlationId);
36
- const reqTimestamp = TimeUtils.nowSeconds();
37
- this.performanceClient?.setPreQueueTime(PerformanceEvents.RefreshTokenClientExecuteTokenRequest, request.correlationId);
38
- const response = await this.executeTokenRequest(request, this.authority);
39
- // Retrieve requestId from response headers
40
- const requestId = response.headers?.[HeaderNames.X_MS_REQUEST_ID];
41
- const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin);
42
- responseHandler.validateTokenResponse(response.body);
43
- this.performanceClient?.setPreQueueTime(PerformanceEvents.HandleServerTokenResponse, request.correlationId);
44
- return responseHandler
45
- .handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, undefined, undefined, true, request.forceCache, requestId)
46
- .then((result) => {
47
- atsMeasurement?.end({
48
- success: true,
49
- });
50
- return result;
51
- })
52
- .catch((error) => {
53
- this.logger.verbose("Error in fetching refresh token", request.correlationId);
54
- atsMeasurement?.end({
55
- errorCode: error.errorCode,
56
- subErrorCode: error.subError,
57
- success: false,
58
- });
59
- throw error;
60
- });
61
- }
62
- /**
63
- * Gets cached refresh token and attaches to request, then calls acquireToken API
64
- * @param request
65
- */
66
- async acquireTokenByRefreshToken(request) {
67
- // Cannot renew token if no request object is given.
68
- if (!request) {
69
- throw ClientConfigurationError.createEmptyTokenRequestError();
70
- }
71
- this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientAcquireTokenByRefreshToken, request.correlationId);
72
- // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases
73
- if (!request.account) {
74
- throw ClientAuthError.createNoAccountInSilentRequestError();
75
- }
76
- // try checking if FOCI is enabled for the given application
77
- const isFOCI = this.cacheManager.isAppMetadataFOCI(request.account.environment);
78
- // if the app is part of the family, retrive a Family refresh token if present and make a refreshTokenRequest
79
- if (isFOCI) {
80
- try {
81
- this.performanceClient?.setPreQueueTime(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);
82
- return this.acquireTokenWithCachedRefreshToken(request, true);
83
- }
84
- catch (e) {
85
- const noFamilyRTInCache = e instanceof InteractionRequiredAuthError &&
86
- e.errorCode ===
87
- InteractionRequiredAuthErrorMessage.noTokensFoundError
88
- .code;
89
- const clientMismatchErrorWithFamilyRT = e instanceof ServerError &&
90
- e.errorCode === Errors.INVALID_GRANT_ERROR &&
91
- e.subError === Errors.CLIENT_MISMATCH_ERROR;
92
- // if family Refresh Token (FRT) cache acquisition fails or if client_mismatch error is seen with FRT, reattempt with application Refresh Token (ART)
93
- if (noFamilyRTInCache || clientMismatchErrorWithFamilyRT) {
94
- this.performanceClient?.setPreQueueTime(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);
95
- return this.acquireTokenWithCachedRefreshToken(request, false);
96
- // throw in all other cases
97
- }
98
- else {
99
- throw e;
100
- }
101
- }
102
- }
103
- // fall back to application refresh token acquisition
104
- this.performanceClient?.setPreQueueTime(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);
105
- return this.acquireTokenWithCachedRefreshToken(request, false);
106
- }
107
- /**
108
- * makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached
109
- * @param request
110
- */
111
- async acquireTokenWithCachedRefreshToken(request, foci) {
112
- this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);
113
- // fetches family RT or application RT based on FOCI value
114
- const atsMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);
115
- this.logger.verbose("RefreshTokenClientAcquireTokenWithCachedRefreshToken called", request.correlationId);
116
- const refreshToken = this.cacheManager.getRefreshToken(request.account, foci);
117
- if (!refreshToken) {
118
- atsMeasurement?.discard();
119
- throw InteractionRequiredAuthError.createNoTokensFoundError();
120
- }
121
- // attach cached RT size to the current measurement
122
- atsMeasurement?.end({
123
- success: true,
124
- });
125
- const refreshTokenRequest = {
126
- ...request,
127
- refreshToken: refreshToken.secret,
128
- authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER,
129
- ccsCredential: {
130
- credential: request.account.homeAccountId,
131
- type: CcsCredentialType.HOME_ACCOUNT_ID,
132
- },
133
- };
134
- this.performanceClient?.setPreQueueTime(PerformanceEvents.RefreshTokenClientAcquireToken, request.correlationId);
135
- return this.acquireToken(refreshTokenRequest);
136
- }
137
- /**
138
- * Constructs the network message and makes a NW call to the underlying secure token service
139
- * @param request
140
- * @param authority
141
- */
142
- async executeTokenRequest(request, authority) {
143
- this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientExecuteTokenRequest, request.correlationId);
144
- const acquireTokenMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.RefreshTokenClientExecuteTokenRequest, request.correlationId);
145
- this.performanceClient?.setPreQueueTime(PerformanceEvents.RefreshTokenClientCreateTokenRequestBody, request.correlationId);
146
- const queryParametersString = this.createTokenQueryParameters(request);
147
- const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParametersString);
148
- const requestBody = await this.createTokenRequestBody(request);
149
- const headers = this.createTokenRequestHeaders(request.ccsCredential);
150
- const thumbprint = {
151
- clientId: this.config.authOptions.clientId,
152
- authority: authority.canonicalAuthority,
153
- scopes: request.scopes,
154
- claims: request.claims,
155
- authenticationScheme: request.authenticationScheme,
156
- resourceRequestMethod: request.resourceRequestMethod,
157
- resourceRequestUri: request.resourceRequestUri,
158
- shrClaims: request.shrClaims,
159
- sshKid: request.sshKid,
160
- };
161
- return this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint, request.correlationId)
162
- .then((result) => {
163
- acquireTokenMeasurement?.end({
164
- success: true,
165
- });
166
- return result;
167
- })
168
- .catch((error) => {
169
- acquireTokenMeasurement?.end({
170
- success: false,
171
- });
172
- throw error;
173
- });
174
- }
175
- /**
176
- * Helper function to create the token request body
177
- * @param request
178
- */
179
- async createTokenRequestBody(request) {
180
- this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientCreateTokenRequestBody, request.correlationId);
181
- const correlationId = request.correlationId;
182
- const acquireTokenMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.BaseClientCreateTokenRequestHeaders, correlationId);
183
- const parameterBuilder = new RequestParameterBuilder();
184
- parameterBuilder.addClientId(this.config.authOptions.clientId);
185
- parameterBuilder.addScopes(request.scopes, true, this.config.authOptions.authority.options.OIDCOptions?.defaultScopes);
186
- parameterBuilder.addGrantType(GrantType.REFRESH_TOKEN_GRANT);
187
- parameterBuilder.addClientInfo();
188
- parameterBuilder.addLibraryInfo(this.config.libraryInfo);
189
- parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);
190
- parameterBuilder.addThrottling();
191
- if (this.serverTelemetryManager && !isOidcProtocolMode(this.config)) {
192
- parameterBuilder.addServerTelemetry(this.serverTelemetryManager);
193
- }
194
- parameterBuilder.addCorrelationId(correlationId);
195
- parameterBuilder.addRefreshToken(request.refreshToken);
196
- if (this.config.clientCredentials.clientSecret) {
197
- parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret);
198
- }
199
- if (this.config.clientCredentials.clientAssertion) {
200
- const clientAssertion = this.config.clientCredentials.clientAssertion;
201
- parameterBuilder.addClientAssertion(clientAssertion.assertion);
202
- parameterBuilder.addClientAssertionType(clientAssertion.assertionType);
203
- }
204
- if (request.authenticationScheme === AuthenticationScheme.POP) {
205
- const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils, this.performanceClient);
206
- this.performanceClient?.setPreQueueTime(PerformanceEvents.PopTokenGenerateCnf, request.correlationId);
207
- const reqCnfData = await popTokenGenerator.generateCnf(request);
208
- // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)
209
- parameterBuilder.addPopToken(reqCnfData.reqCnfString);
210
- }
211
- else if (request.authenticationScheme === AuthenticationScheme.SSH) {
212
- if (request.sshJwk) {
213
- parameterBuilder.addSshJwk(request.sshJwk);
214
- }
215
- else {
216
- acquireTokenMeasurement?.end({
217
- success: false,
218
- });
219
- throw ClientConfigurationError.createMissingSshJwkError();
220
- }
221
- }
222
- if (!StringUtils.isEmptyObj(request.claims) ||
223
- (this.config.authOptions.clientCapabilities &&
224
- this.config.authOptions.clientCapabilities.length > 0)) {
225
- parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);
226
- }
227
- if (this.config.systemOptions.preventCorsPreflight &&
228
- request.ccsCredential) {
229
- switch (request.ccsCredential.type) {
230
- case CcsCredentialType.HOME_ACCOUNT_ID:
231
- try {
232
- const clientInfo = buildClientInfoFromHomeAccountId(request.ccsCredential.credential);
233
- parameterBuilder.addCcsOid(clientInfo);
234
- }
235
- catch (e) {
236
- this.logger.verbose("Could not parse home account ID for CCS Header: " +
237
- e);
238
- }
239
- break;
240
- case CcsCredentialType.UPN:
241
- parameterBuilder.addCcsUpn(request.ccsCredential.credential);
242
- break;
243
- }
244
- }
245
- acquireTokenMeasurement?.end({
246
- success: true,
247
- });
248
- return parameterBuilder.createQueryString();
249
- }
24
+ /*
25
+ * Copyright (c) Microsoft Corporation. All rights reserved.
26
+ * Licensed under the MIT License.
27
+ */
28
+ /**
29
+ * OAuth2.0 refresh token client
30
+ * @internal
31
+ */
32
+ class RefreshTokenClient extends BaseClient {
33
+ constructor(configuration, performanceClient) {
34
+ super(configuration, performanceClient);
35
+ }
36
+ async acquireToken(request) {
37
+ this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientAcquireToken, request.correlationId);
38
+ const reqTimestamp = TimeUtils.nowSeconds();
39
+ const response = await invokeAsync(this.executeTokenRequest.bind(this), PerformanceEvents.RefreshTokenClientExecuteTokenRequest, this.logger, this.performanceClient, request.correlationId)(request, this.authority);
40
+ // Retrieve requestId from response headers
41
+ const requestId = response.headers?.[HeaderNames.X_MS_REQUEST_ID];
42
+ const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin);
43
+ responseHandler.validateTokenResponse(response.body);
44
+ return invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), PerformanceEvents.HandleServerTokenResponse, this.logger, this.performanceClient, request.correlationId)(response.body, this.authority, reqTimestamp, request, undefined, undefined, true, request.forceCache, requestId);
45
+ }
46
+ /**
47
+ * Gets cached refresh token and attaches to request, then calls acquireToken API
48
+ * @param request
49
+ */
50
+ async acquireTokenByRefreshToken(request) {
51
+ // Cannot renew token if no request object is given.
52
+ if (!request) {
53
+ throw createClientConfigurationError(tokenRequestEmpty);
54
+ }
55
+ this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientAcquireTokenByRefreshToken, request.correlationId);
56
+ // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases
57
+ if (!request.account) {
58
+ throw createClientAuthError(noAccountInSilentRequest);
59
+ }
60
+ // try checking if FOCI is enabled for the given application
61
+ const isFOCI = this.cacheManager.isAppMetadataFOCI(request.account.environment);
62
+ // if the app is part of the family, retrive a Family refresh token if present and make a refreshTokenRequest
63
+ if (isFOCI) {
64
+ try {
65
+ return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, true);
66
+ }
67
+ catch (e) {
68
+ const noFamilyRTInCache = e instanceof InteractionRequiredAuthError &&
69
+ e.errorCode ===
70
+ noTokensFound;
71
+ const clientMismatchErrorWithFamilyRT = e instanceof ServerError &&
72
+ e.errorCode === Errors.INVALID_GRANT_ERROR &&
73
+ e.subError === Errors.CLIENT_MISMATCH_ERROR;
74
+ // if family Refresh Token (FRT) cache acquisition fails or if client_mismatch error is seen with FRT, reattempt with application Refresh Token (ART)
75
+ if (noFamilyRTInCache || clientMismatchErrorWithFamilyRT) {
76
+ return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, false);
77
+ // throw in all other cases
78
+ }
79
+ else {
80
+ throw e;
81
+ }
82
+ }
83
+ }
84
+ // fall back to application refresh token acquisition
85
+ return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, false);
86
+ }
87
+ /**
88
+ * makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached
89
+ * @param request
90
+ */
91
+ async acquireTokenWithCachedRefreshToken(request, foci) {
92
+ this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);
93
+ // fetches family RT or application RT based on FOCI value
94
+ const refreshToken = this.cacheManager.getRefreshToken(request.account, foci);
95
+ if (!refreshToken) {
96
+ throw createInteractionRequiredAuthError(noTokensFound);
97
+ }
98
+ // attach cached RT size to the current measurement
99
+ const refreshTokenRequest = {
100
+ ...request,
101
+ refreshToken: refreshToken.secret,
102
+ authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER,
103
+ ccsCredential: {
104
+ credential: request.account.homeAccountId,
105
+ type: CcsCredentialType.HOME_ACCOUNT_ID,
106
+ },
107
+ };
108
+ return invokeAsync(this.acquireToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireToken, this.logger, this.performanceClient, request.correlationId)(refreshTokenRequest);
109
+ }
110
+ /**
111
+ * Constructs the network message and makes a NW call to the underlying secure token service
112
+ * @param request
113
+ * @param authority
114
+ */
115
+ async executeTokenRequest(request, authority) {
116
+ this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientExecuteTokenRequest, request.correlationId);
117
+ const queryParametersString = this.createTokenQueryParameters(request);
118
+ const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParametersString);
119
+ const requestBody = await invokeAsync(this.createTokenRequestBody.bind(this), PerformanceEvents.RefreshTokenClientCreateTokenRequestBody, this.logger, this.performanceClient, request.correlationId)(request);
120
+ const headers = this.createTokenRequestHeaders(request.ccsCredential);
121
+ const thumbprint = {
122
+ clientId: this.config.authOptions.clientId,
123
+ authority: authority.canonicalAuthority,
124
+ scopes: request.scopes,
125
+ claims: request.claims,
126
+ authenticationScheme: request.authenticationScheme,
127
+ resourceRequestMethod: request.resourceRequestMethod,
128
+ resourceRequestUri: request.resourceRequestUri,
129
+ shrClaims: request.shrClaims,
130
+ sshKid: request.sshKid,
131
+ };
132
+ return invokeAsync(this.executePostToTokenEndpoint.bind(this), PerformanceEvents.BaseClientExecutePostToTokenEndpoint, this.logger, this.performanceClient, request.correlationId)(endpoint, requestBody, headers, thumbprint, request.correlationId);
133
+ }
134
+ /**
135
+ * Helper function to create the token request body
136
+ * @param request
137
+ */
138
+ async createTokenRequestBody(request) {
139
+ this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientCreateTokenRequestBody, request.correlationId);
140
+ const correlationId = request.correlationId;
141
+ const parameterBuilder = new RequestParameterBuilder();
142
+ parameterBuilder.addClientId(this.config.authOptions.clientId);
143
+ parameterBuilder.addScopes(request.scopes, true, this.config.authOptions.authority.options.OIDCOptions?.defaultScopes);
144
+ parameterBuilder.addGrantType(GrantType.REFRESH_TOKEN_GRANT);
145
+ parameterBuilder.addClientInfo();
146
+ parameterBuilder.addLibraryInfo(this.config.libraryInfo);
147
+ parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);
148
+ parameterBuilder.addThrottling();
149
+ if (this.serverTelemetryManager && !isOidcProtocolMode(this.config)) {
150
+ parameterBuilder.addServerTelemetry(this.serverTelemetryManager);
151
+ }
152
+ parameterBuilder.addCorrelationId(correlationId);
153
+ parameterBuilder.addRefreshToken(request.refreshToken);
154
+ if (this.config.clientCredentials.clientSecret) {
155
+ parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret);
156
+ }
157
+ if (this.config.clientCredentials.clientAssertion) {
158
+ const clientAssertion = this.config.clientCredentials.clientAssertion;
159
+ parameterBuilder.addClientAssertion(clientAssertion.assertion);
160
+ parameterBuilder.addClientAssertionType(clientAssertion.assertionType);
161
+ }
162
+ if (request.authenticationScheme === AuthenticationScheme.POP) {
163
+ const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils, this.performanceClient);
164
+ const reqCnfData = await invokeAsync(popTokenGenerator.generateCnf.bind(popTokenGenerator), PerformanceEvents.PopTokenGenerateCnf, this.logger, this.performanceClient, request.correlationId)(request, this.logger);
165
+ // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)
166
+ parameterBuilder.addPopToken(reqCnfData.reqCnfString);
167
+ }
168
+ else if (request.authenticationScheme === AuthenticationScheme.SSH) {
169
+ if (request.sshJwk) {
170
+ parameterBuilder.addSshJwk(request.sshJwk);
171
+ }
172
+ else {
173
+ throw createClientConfigurationError(missingSshJwk);
174
+ }
175
+ }
176
+ if (!StringUtils.isEmptyObj(request.claims) ||
177
+ (this.config.authOptions.clientCapabilities &&
178
+ this.config.authOptions.clientCapabilities.length > 0)) {
179
+ parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);
180
+ }
181
+ if (this.config.systemOptions.preventCorsPreflight &&
182
+ request.ccsCredential) {
183
+ switch (request.ccsCredential.type) {
184
+ case CcsCredentialType.HOME_ACCOUNT_ID:
185
+ try {
186
+ const clientInfo = buildClientInfoFromHomeAccountId(request.ccsCredential.credential);
187
+ parameterBuilder.addCcsOid(clientInfo);
188
+ }
189
+ catch (e) {
190
+ this.logger.verbose("Could not parse home account ID for CCS Header: " +
191
+ e);
192
+ }
193
+ break;
194
+ case CcsCredentialType.UPN:
195
+ parameterBuilder.addCcsUpn(request.ccsCredential.credential);
196
+ break;
197
+ }
198
+ }
199
+ return parameterBuilder.createQueryString();
200
+ }
250
201
  }
251
202
 
252
203
  export { RefreshTokenClient };
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshTokenClient.mjs","sources":["../../src/client/RefreshTokenClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAKA;AAIA;AACA;AAWA;;AAiLO;;AAoDH;;;;AAIG,KAAA;sBAC8B,CAAA,OAAA,EAAA;AA6DjC,QAAA,IAAA,CAAA,iBAAA,EAAA,mBAAA,CAAA,iBAAA,CAAA,8BAAA,EAAA,OAAA,CAAA,aAAA,CAAA,CAAA;;;AAGG,QAAA,MAAA,YAAA,GAAA,SAAA,CAAA,UAAA,EAAA,CAAA;YACW,CAAsB,iBAAA,EAAA,eAAA,CAAA,iBAAA,CAAA,qCAAA,EAAA,OAAA,CAAA,aAAA,CAAA,CAAA;AAyHvC,QAAA,MAAA,QAAA,GAAA,MAAA,IAAA,CAAA,mBAAA,CAAA,OAAA,EAAA,IAAA,CAAA,SAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"RefreshTokenClient.mjs","sources":["../../src/client/RefreshTokenClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKA;AAIA;AACA;AAWA;AAqKO;;AA2CH;;;;AAIG,QAAA,KAAA,CAAA,aAAA,EAAA,iBAAA,CAAA,CAAA;;AA+CH,IAAA,MAAA,YAAA,CAAA,OAAA,EAAA;;;AAGG,QAAA,MAAA,QAAA,GAAA,MAAA,WAAA,CAAA,IAAA,CAAA,mBAAA,CAAA,IAAA,CAAA,IAAA,CAAA,EAAA,iBAAA,CAAA,qCAAA,EAAA,IAAA,CAAA,MAAA,EAAA,IAAA,CAAA,iBAAA,EAAA,OAAA,CAAA,aAAA,CAAA,CAAA,OAAA,EAAA,IAAA,CAAA,SAAA,CAAA,CAAA;;AAmHN,QAAA,MAAA,SAAA,GAAA,QAAA,CAAA,OAAA,GAAA,WAAA,CAAA,eAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,26 +1,27 @@
1
- import { BaseClient } from "./BaseClient";
2
- import { ClientConfiguration } from "../config/ClientConfiguration";
3
- import { CommonSilentFlowRequest } from "../request/CommonSilentFlowRequest";
4
- import { AuthenticationResult } from "../response/AuthenticationResult";
5
- import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
6
- /** @internal */
7
- export declare class SilentFlowClient extends BaseClient {
8
- constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient);
9
- /**
10
- * Retrieves a token from cache if it is still valid, or uses the cached refresh token to renew
11
- * the given token and returns the renewed token
12
- * @param request
13
- */
14
- acquireToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
15
- /**
16
- * Retrieves token from cache or throws an error if it must be refreshed.
17
- * @param request
18
- */
19
- acquireCachedToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
20
- /**
21
- * Helper function to build response object from the CacheRecord
22
- * @param cacheRecord
23
- */
24
- private generateResultFromCacheRecord;
25
- }
1
+ import { BaseClient } from "./BaseClient";
2
+ import { ClientConfiguration } from "../config/ClientConfiguration";
3
+ import { CommonSilentFlowRequest } from "../request/CommonSilentFlowRequest";
4
+ import { AuthenticationResult } from "../response/AuthenticationResult";
5
+ import { CacheOutcome } from "../utils/Constants";
6
+ import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
7
+ /** @internal */
8
+ export declare class SilentFlowClient extends BaseClient {
9
+ constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient);
10
+ /**
11
+ * Retrieves a token from cache if it is still valid, or uses the cached refresh token to renew
12
+ * the given token and returns the renewed token
13
+ * @param request
14
+ */
15
+ acquireToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
16
+ /**
17
+ * Retrieves token from cache or throws an error if it must be refreshed.
18
+ * @param request
19
+ */
20
+ acquireCachedToken(request: CommonSilentFlowRequest): Promise<[AuthenticationResult, CacheOutcome]>;
21
+ /**
22
+ * Helper function to build response object from the CacheRecord
23
+ * @param cacheRecord
24
+ */
25
+ private generateResultFromCacheRecord;
26
+ }
26
27
  //# sourceMappingURL=SilentFlowClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SilentFlowClient.d.ts","sourceRoot":"","sources":["../../src/client/SilentFlowClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAWxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAKjF,gBAAgB;AAChB,qBAAa,gBAAiB,SAAQ,UAAU;gBAExC,aAAa,EAAE,mBAAmB,EAClC,iBAAiB,CAAC,EAAE,kBAAkB;IAK1C;;;;OAIG;IACG,YAAY,CACd,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,oBAAoB,CAAC;IAmBhC;;;OAGG;IACG,kBAAkB,CACpB,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,oBAAoB,CAAC;IAqFhC;;;OAGG;YACW,6BAA6B;CA+B9C"}
1
+ {"version":3,"file":"SilentFlowClient.d.ts","sourceRoot":"","sources":["../../src/client/SilentFlowClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAcxE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAKjF,gBAAgB;AAChB,qBAAa,gBAAiB,SAAQ,UAAU;gBAExC,aAAa,EAAE,mBAAmB,EAClC,iBAAiB,CAAC,EAAE,kBAAkB;IAK1C;;;;OAIG;IACG,YAAY,CACd,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,oBAAoB,CAAC;IA2ChC;;;OAGG;IACG,kBAAkB,CACpB,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;IA4GhD;;;OAGG;YACW,6BAA6B;CAiC9C"}