@azure/msal-common 14.0.2 → 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 (399) hide show
  1. package/dist/account/AccountInfo.d.ts +32 -32
  2. package/dist/account/AuthToken.d.ts +17 -20
  3. package/dist/account/AuthToken.d.ts.map +1 -1
  4. package/dist/account/AuthToken.mjs +61 -51
  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/CcsCredential.mjs.map +1 -1
  9. package/dist/account/ClientCredentials.d.ts +14 -14
  10. package/dist/account/ClientInfo.d.ts +19 -19
  11. package/dist/account/ClientInfo.d.ts.map +1 -1
  12. package/dist/account/ClientInfo.mjs +39 -39
  13. package/dist/account/ClientInfo.mjs.map +1 -1
  14. package/dist/account/TokenClaims.d.ts +65 -65
  15. package/dist/authority/Authority.d.ts +235 -235
  16. package/dist/authority/Authority.d.ts.map +1 -1
  17. package/dist/authority/Authority.mjs +743 -765
  18. package/dist/authority/Authority.mjs.map +1 -1
  19. package/dist/authority/AuthorityFactory.d.ts +31 -31
  20. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  21. package/dist/authority/AuthorityFactory.mjs +52 -51
  22. package/dist/authority/AuthorityFactory.mjs.map +1 -1
  23. package/dist/authority/AuthorityMetadata.d.ts +623 -623
  24. package/dist/authority/AuthorityMetadata.mjs +884 -884
  25. package/dist/authority/AuthorityMetadata.mjs.map +1 -1
  26. package/dist/authority/AuthorityOptions.d.ts +21 -21
  27. package/dist/authority/AuthorityOptions.mjs +18 -18
  28. package/dist/authority/AuthorityOptions.mjs.map +1 -1
  29. package/dist/authority/AuthorityType.d.ts +10 -10
  30. package/dist/authority/AuthorityType.mjs +13 -13
  31. package/dist/authority/AuthorityType.mjs.map +1 -1
  32. package/dist/authority/AzureRegion.d.ts +1 -1
  33. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  34. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  35. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  36. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  37. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs.map +1 -1
  38. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  39. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  40. package/dist/authority/CloudInstanceDiscoveryResponse.mjs.map +1 -1
  41. package/dist/authority/ImdsOptions.d.ts +5 -5
  42. package/dist/authority/OIDCOptions.d.ts +8 -8
  43. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  44. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  45. package/dist/authority/OpenIdConfigResponse.mjs.map +1 -1
  46. package/dist/authority/ProtocolMode.d.ts +8 -8
  47. package/dist/authority/ProtocolMode.mjs +11 -11
  48. package/dist/authority/ProtocolMode.mjs.map +1 -1
  49. package/dist/authority/RegionDiscovery.d.ts +32 -30
  50. package/dist/authority/RegionDiscovery.d.ts.map +1 -1
  51. package/dist/authority/RegionDiscovery.mjs +107 -108
  52. package/dist/authority/RegionDiscovery.mjs.map +1 -1
  53. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  54. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  55. package/dist/cache/CacheManager.d.ts +446 -446
  56. package/dist/cache/CacheManager.d.ts.map +1 -1
  57. package/dist/cache/CacheManager.mjs +1001 -1025
  58. package/dist/cache/CacheManager.mjs.map +1 -1
  59. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  60. package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
  61. package/dist/cache/entities/AccessTokenEntity.mjs +112 -114
  62. package/dist/cache/entities/AccessTokenEntity.mjs.map +1 -1
  63. package/dist/cache/entities/AccountEntity.d.ts +101 -101
  64. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  65. package/dist/cache/entities/AccountEntity.mjs +222 -223
  66. package/dist/cache/entities/AccountEntity.mjs.map +1 -1
  67. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  68. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  69. package/dist/cache/entities/AppMetadataEntity.mjs.map +1 -1
  70. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  71. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  72. package/dist/cache/entities/AuthorityMetadataEntity.mjs.map +1 -1
  73. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  74. package/dist/cache/entities/CacheRecord.mjs +14 -14
  75. package/dist/cache/entities/CacheRecord.mjs.map +1 -1
  76. package/dist/cache/entities/CredentialEntity.d.ts +88 -88
  77. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  78. package/dist/cache/entities/CredentialEntity.mjs +138 -137
  79. package/dist/cache/entities/CredentialEntity.mjs.map +1 -1
  80. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  81. package/dist/cache/entities/IdTokenEntity.mjs +56 -56
  82. package/dist/cache/entities/IdTokenEntity.mjs.map +1 -1
  83. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  84. package/dist/cache/entities/RefreshTokenEntity.mjs +59 -59
  85. package/dist/cache/entities/RefreshTokenEntity.mjs.map +1 -1
  86. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  87. package/dist/cache/entities/ServerTelemetryEntity.mjs +27 -27
  88. package/dist/cache/entities/ServerTelemetryEntity.mjs.map +1 -1
  89. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  90. package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
  91. package/dist/cache/entities/ThrottlingEntity.mjs.map +1 -1
  92. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  93. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  94. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  95. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  96. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  97. package/dist/cache/persistence/TokenCacheContext.mjs.map +1 -1
  98. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  99. package/dist/client/AuthorizationCodeClient.d.ts +73 -73
  100. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  101. package/dist/client/AuthorizationCodeClient.mjs +412 -440
  102. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  103. package/dist/client/BaseClient.d.ts +51 -51
  104. package/dist/client/BaseClient.d.ts.map +1 -1
  105. package/dist/client/BaseClient.mjs +101 -94
  106. package/dist/client/BaseClient.mjs.map +1 -1
  107. package/dist/client/RefreshTokenClient.d.ts +35 -35
  108. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  109. package/dist/client/RefreshTokenClient.mjs +185 -243
  110. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  111. package/dist/client/SilentFlowClient.d.ts +26 -25
  112. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  113. package/dist/client/SilentFlowClient.mjs +128 -104
  114. package/dist/client/SilentFlowClient.mjs.map +1 -1
  115. package/dist/config/AppTokenProvider.d.ts +38 -38
  116. package/dist/config/ClientConfiguration.d.ts +150 -150
  117. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  118. package/dist/config/ClientConfiguration.mjs +99 -100
  119. package/dist/config/ClientConfiguration.mjs.map +1 -1
  120. package/dist/crypto/ICrypto.d.ts +62 -62
  121. package/dist/crypto/ICrypto.d.ts.map +1 -1
  122. package/dist/crypto/ICrypto.mjs +35 -43
  123. package/dist/crypto/ICrypto.mjs.map +1 -1
  124. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  125. package/dist/crypto/JoseHeader.d.ts +22 -22
  126. package/dist/crypto/JoseHeader.d.ts.map +1 -1
  127. package/dist/crypto/JoseHeader.mjs +39 -38
  128. package/dist/crypto/JoseHeader.mjs.map +1 -1
  129. package/dist/crypto/PopTokenGenerator.d.ts +60 -59
  130. package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
  131. package/dist/crypto/PopTokenGenerator.mjs +83 -83
  132. package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
  133. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  134. package/dist/error/AuthError.d.ts +44 -47
  135. package/dist/error/AuthError.d.ts.map +1 -1
  136. package/dist/error/AuthError.mjs +50 -52
  137. package/dist/error/AuthError.mjs.map +1 -1
  138. package/dist/error/AuthErrorCodes.d.ts +6 -0
  139. package/dist/error/AuthErrorCodes.d.ts.map +1 -0
  140. package/dist/error/AuthErrorCodes.mjs +14 -0
  141. package/dist/error/AuthErrorCodes.mjs.map +1 -0
  142. package/dist/error/ClientAuthError.d.ts +232 -412
  143. package/dist/error/ClientAuthError.d.ts.map +1 -1
  144. package/dist/error/ClientAuthError.mjs +248 -520
  145. package/dist/error/ClientAuthError.mjs.map +1 -1
  146. package/dist/error/ClientAuthErrorCodes.d.ts +44 -0
  147. package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -0
  148. package/dist/error/ClientAuthErrorCodes.mjs +52 -0
  149. package/dist/error/ClientAuthErrorCodes.mjs.map +1 -0
  150. package/dist/error/ClientConfigurationError.d.ts +128 -222
  151. package/dist/error/ClientConfigurationError.d.ts.map +1 -1
  152. package/dist/error/ClientConfigurationError.mjs +140 -281
  153. package/dist/error/ClientConfigurationError.mjs.map +1 -1
  154. package/dist/error/ClientConfigurationErrorCodes.d.ts +23 -0
  155. package/dist/error/ClientConfigurationErrorCodes.d.ts.map +1 -0
  156. package/dist/error/ClientConfigurationErrorCodes.mjs +31 -0
  157. package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -0
  158. package/dist/error/InteractionRequiredAuthError.d.ts +57 -59
  159. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  160. package/dist/error/InteractionRequiredAuthError.mjs +80 -79
  161. package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  162. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +6 -0
  163. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -0
  164. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +16 -0
  165. package/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -0
  166. package/dist/error/JoseHeaderError.d.ts +15 -28
  167. package/dist/error/JoseHeaderError.d.ts.map +1 -1
  168. package/dist/error/JoseHeaderError.mjs +24 -40
  169. package/dist/error/JoseHeaderError.mjs.map +1 -1
  170. package/dist/error/JoseHeaderErrorCodes.d.ts +3 -0
  171. package/dist/error/JoseHeaderErrorCodes.d.ts.map +1 -0
  172. package/dist/error/JoseHeaderErrorCodes.mjs +11 -0
  173. package/dist/error/JoseHeaderErrorCodes.mjs.map +1 -0
  174. package/dist/error/ServerError.d.ts +7 -7
  175. package/dist/error/ServerError.mjs +14 -14
  176. package/dist/error/ServerError.mjs.map +1 -1
  177. package/dist/index.cjs +8727 -8978
  178. package/dist/index.cjs.map +1 -1
  179. package/dist/index.d.ts +96 -96
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.mjs +17 -7
  182. package/dist/index.mjs.map +1 -1
  183. package/dist/logger/Logger.d.ts +95 -95
  184. package/dist/logger/Logger.d.ts.map +1 -1
  185. package/dist/logger/Logger.mjs +188 -198
  186. package/dist/logger/Logger.mjs.map +1 -1
  187. package/dist/network/INetworkModule.d.ts +29 -29
  188. package/dist/network/INetworkModule.d.ts.map +1 -1
  189. package/dist/network/INetworkModule.mjs +14 -15
  190. package/dist/network/INetworkModule.mjs.map +1 -1
  191. package/dist/network/NetworkManager.d.ts +33 -33
  192. package/dist/network/NetworkManager.d.ts.map +1 -1
  193. package/dist/network/NetworkManager.mjs +36 -35
  194. package/dist/network/NetworkManager.mjs.map +1 -1
  195. package/dist/network/RequestThumbprint.d.ts +16 -16
  196. package/dist/network/ThrottlingUtils.d.ts +42 -42
  197. package/dist/network/ThrottlingUtils.mjs +95 -95
  198. package/dist/network/ThrottlingUtils.mjs.map +1 -1
  199. package/dist/packageMetadata.d.ts +2 -2
  200. package/dist/packageMetadata.mjs +4 -4
  201. package/dist/packageMetadata.mjs.map +1 -1
  202. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  203. package/dist/request/AuthenticationHeaderParser.d.ts.map +1 -1
  204. package/dist/request/AuthenticationHeaderParser.mjs +58 -57
  205. package/dist/request/AuthenticationHeaderParser.mjs.map +1 -1
  206. package/dist/request/BaseAuthRequest.d.ts +40 -40
  207. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  208. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  209. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  210. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  211. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  212. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  213. package/dist/request/CommonRefreshTokenRequest.d.ts +19 -19
  214. package/dist/request/CommonSilentFlowRequest.d.ts +18 -18
  215. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  216. package/dist/request/NativeRequest.d.ts +19 -19
  217. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  218. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  219. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  220. package/dist/request/RequestParameterBuilder.mjs +383 -383
  221. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  222. package/dist/request/RequestValidator.d.ts +33 -33
  223. package/dist/request/RequestValidator.d.ts.map +1 -1
  224. package/dist/request/RequestValidator.mjs +83 -84
  225. package/dist/request/RequestValidator.mjs.map +1 -1
  226. package/dist/request/ScopeSet.d.ts +88 -88
  227. package/dist/request/ScopeSet.d.ts.map +1 -1
  228. package/dist/request/ScopeSet.mjs +201 -199
  229. package/dist/request/ScopeSet.mjs.map +1 -1
  230. package/dist/request/StoreInCache.d.ts +8 -8
  231. package/dist/response/AuthenticationResult.d.ts +41 -39
  232. package/dist/response/AuthenticationResult.d.ts.map +1 -1
  233. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  234. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  235. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  236. package/dist/response/IMDSBadResponse.d.ts +4 -4
  237. package/dist/response/ResponseHandler.d.ts +67 -66
  238. package/dist/response/ResponseHandler.d.ts.map +1 -1
  239. package/dist/response/ResponseHandler.mjs +316 -297
  240. package/dist/response/ResponseHandler.mjs.map +1 -1
  241. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  242. package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -44
  243. package/dist/response/ServerAuthorizationTokenResponse.d.ts.map +1 -1
  244. package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
  245. package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
  246. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  247. package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
  248. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  249. package/dist/telemetry/performance/PerformanceClient.mjs +409 -408
  250. package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
  251. package/dist/telemetry/performance/PerformanceEvent.d.ts +433 -426
  252. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  253. package/dist/telemetry/performance/PerformanceEvent.mjs +234 -226
  254. package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  255. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  256. package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
  257. package/dist/telemetry/performance/StubPerformanceClient.mjs +77 -57
  258. package/dist/telemetry/performance/StubPerformanceClient.mjs.map +1 -1
  259. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  260. package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  261. package/dist/telemetry/server/ServerTelemetryManager.mjs +197 -198
  262. package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
  263. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  264. package/dist/url/IUri.d.ts +12 -12
  265. package/dist/url/UrlString.d.ts +83 -83
  266. package/dist/url/UrlString.d.ts.map +1 -1
  267. package/dist/url/UrlString.mjs +283 -283
  268. package/dist/url/UrlString.mjs.map +1 -1
  269. package/dist/utils/Constants.d.ts +366 -353
  270. package/dist/utils/Constants.d.ts.map +1 -1
  271. package/dist/utils/Constants.mjs +377 -360
  272. package/dist/utils/Constants.mjs.map +1 -1
  273. package/dist/utils/FunctionWrappers.d.ts +28 -0
  274. package/dist/utils/FunctionWrappers.d.ts.map +1 -0
  275. package/dist/utils/FunctionWrappers.mjs +90 -0
  276. package/dist/utils/FunctionWrappers.mjs.map +1 -0
  277. package/dist/utils/MsalTypes.d.ts +6 -6
  278. package/dist/utils/ProtocolUtils.d.ts +42 -42
  279. package/dist/utils/ProtocolUtils.d.ts.map +1 -1
  280. package/dist/utils/ProtocolUtils.mjs +71 -73
  281. package/dist/utils/ProtocolUtils.mjs.map +1 -1
  282. package/dist/utils/StringUtils.d.ts +40 -53
  283. package/dist/utils/StringUtils.d.ts.map +1 -1
  284. package/dist/utils/StringUtils.mjs +95 -126
  285. package/dist/utils/StringUtils.mjs.map +1 -1
  286. package/dist/utils/TimeUtils.d.ts +27 -27
  287. package/dist/utils/TimeUtils.mjs +45 -45
  288. package/dist/utils/TimeUtils.mjs.map +1 -1
  289. package/package.json +6 -4
  290. package/src/account/AccountInfo.ts +44 -0
  291. package/src/account/AuthToken.ts +71 -0
  292. package/src/account/CcsCredential.ts +16 -0
  293. package/src/account/ClientCredentials.ts +20 -0
  294. package/src/account/ClientInfo.ts +67 -0
  295. package/src/account/TokenClaims.ts +70 -0
  296. package/src/authority/Authority.ts +1207 -0
  297. package/src/authority/AuthorityFactory.ts +118 -0
  298. package/src/authority/AuthorityMetadata.ts +953 -0
  299. package/src/authority/AuthorityOptions.ts +40 -0
  300. package/src/authority/AuthorityType.ts +15 -0
  301. package/src/authority/AzureRegion.ts +7 -0
  302. package/src/authority/AzureRegionConfiguration.ts +16 -0
  303. package/src/authority/CloudDiscoveryMetadata.ts +10 -0
  304. package/src/authority/CloudInstanceDiscoveryErrorResponse.ts +26 -0
  305. package/src/authority/CloudInstanceDiscoveryResponse.ts +21 -0
  306. package/src/authority/ImdsOptions.ts +10 -0
  307. package/src/authority/OIDCOptions.ts +14 -0
  308. package/src/authority/OpenIdConfigResponse.ts +24 -0
  309. package/src/authority/ProtocolMode.ts +13 -0
  310. package/src/authority/RegionDiscovery.ts +196 -0
  311. package/src/authority/RegionDiscoveryMetadata.ts +15 -0
  312. package/src/broker/nativeBroker/INativeBrokerPlugin.ts +29 -0
  313. package/src/cache/CacheManager.ts +1579 -0
  314. package/src/cache/entities/AccessTokenEntity.ts +167 -0
  315. package/src/cache/entities/AccountEntity.ts +314 -0
  316. package/src/cache/entities/AppMetadataEntity.ts +91 -0
  317. package/src/cache/entities/AuthorityMetadataEntity.ts +112 -0
  318. package/src/cache/entities/CacheRecord.ts +33 -0
  319. package/src/cache/entities/CredentialEntity.ts +220 -0
  320. package/src/cache/entities/IdTokenEntity.ts +74 -0
  321. package/src/cache/entities/RefreshTokenEntity.ts +78 -0
  322. package/src/cache/entities/ServerTelemetryEntity.ts +38 -0
  323. package/src/cache/entities/ThrottlingEntity.ts +36 -0
  324. package/src/cache/interface/ICacheManager.ts +218 -0
  325. package/src/cache/interface/ICachePlugin.ts +11 -0
  326. package/src/cache/interface/ISerializableTokenCache.ts +9 -0
  327. package/src/cache/persistence/TokenCacheContext.ts +39 -0
  328. package/src/cache/utils/CacheTypes.ts +93 -0
  329. package/src/client/AuthorizationCodeClient.ts +736 -0
  330. package/src/client/BaseClient.ts +208 -0
  331. package/src/client/RefreshTokenClient.ts +399 -0
  332. package/src/client/SilentFlowClient.ts +239 -0
  333. package/src/config/AppTokenProvider.ts +47 -0
  334. package/src/config/ClientConfiguration.ts +286 -0
  335. package/src/crypto/ICrypto.ts +112 -0
  336. package/src/crypto/IGuidGenerator.ts +9 -0
  337. package/src/crypto/JoseHeader.ts +58 -0
  338. package/src/crypto/PopTokenGenerator.ts +160 -0
  339. package/src/crypto/SignedHttpRequest.ts +16 -0
  340. package/src/error/AuthError.ts +83 -0
  341. package/src/error/AuthErrorCodes.ts +10 -0
  342. package/src/error/ClientAuthError.ts +333 -0
  343. package/src/error/ClientAuthErrorCodes.ts +51 -0
  344. package/src/error/ClientConfigurationError.ts +210 -0
  345. package/src/error/ClientConfigurationErrorCodes.ts +28 -0
  346. package/src/error/InteractionRequiredAuthError.ts +139 -0
  347. package/src/error/InteractionRequiredAuthErrorCodes.ts +13 -0
  348. package/src/error/JoseHeaderError.ts +32 -0
  349. package/src/error/JoseHeaderErrorCodes.ts +7 -0
  350. package/src/error/ServerError.ts +18 -0
  351. package/src/index.ts +226 -0
  352. package/src/logger/Logger.ts +272 -0
  353. package/src/network/INetworkModule.ts +60 -0
  354. package/src/network/NetworkManager.ts +76 -0
  355. package/src/network/RequestThumbprint.ts +22 -0
  356. package/src/network/ThrottlingUtils.ts +156 -0
  357. package/src/packageMetadata.ts +3 -0
  358. package/src/request/AuthenticationHeaderParser.ts +92 -0
  359. package/src/request/BaseAuthRequest.ts +46 -0
  360. package/src/request/CommonAuthorizationCodeRequest.ts +33 -0
  361. package/src/request/CommonAuthorizationUrlRequest.ts +56 -0
  362. package/src/request/CommonClientCredentialRequest.ts +23 -0
  363. package/src/request/CommonDeviceCodeRequest.ts +31 -0
  364. package/src/request/CommonEndSessionRequest.ts +27 -0
  365. package/src/request/CommonOnBehalfOfRequest.ts +19 -0
  366. package/src/request/CommonRefreshTokenRequest.ts +25 -0
  367. package/src/request/CommonSilentFlowRequest.ts +24 -0
  368. package/src/request/CommonUsernamePasswordRequest.ts +23 -0
  369. package/src/request/NativeRequest.ts +25 -0
  370. package/src/request/NativeSignOutRequest.ts +10 -0
  371. package/src/request/RequestParameterBuilder.ts +613 -0
  372. package/src/request/RequestValidator.ts +116 -0
  373. package/src/request/ScopeSet.ts +246 -0
  374. package/src/request/StoreInCache.ts +16 -0
  375. package/src/response/AuthenticationResult.ts +47 -0
  376. package/src/response/AuthorizationCodePayload.ts +18 -0
  377. package/src/response/DeviceCodeResponse.ts +31 -0
  378. package/src/response/ExternalTokenResponse.ts +24 -0
  379. package/src/response/IMDSBadResponse.ts +9 -0
  380. package/src/response/ResponseHandler.ts +634 -0
  381. package/src/response/ServerAuthorizationCodeResponse.ts +33 -0
  382. package/src/response/ServerAuthorizationTokenResponse.ts +54 -0
  383. package/src/telemetry/performance/IPerformanceClient.ts +71 -0
  384. package/src/telemetry/performance/IPerformanceMeasurement.ts +10 -0
  385. package/src/telemetry/performance/PerformanceClient.ts +636 -0
  386. package/src/telemetry/performance/PerformanceEvent.ts +542 -0
  387. package/src/telemetry/performance/StubPerformanceClient.ts +101 -0
  388. package/src/telemetry/server/ServerTelemetryManager.ts +274 -0
  389. package/src/telemetry/server/ServerTelemetryRequest.ts +13 -0
  390. package/src/url/IUri.ts +17 -0
  391. package/src/url/UrlString.ts +373 -0
  392. package/src/utils/Constants.ts +444 -0
  393. package/src/utils/FunctionWrappers.ts +105 -0
  394. package/src/utils/MsalTypes.ts +9 -0
  395. package/src/utils/ProtocolUtils.ts +120 -0
  396. package/src/utils/StringUtils.ts +106 -0
  397. package/src/utils/TimeUtils.ts +51 -0
  398. package/dist/account/DecodedAuthToken.d.ts +0 -9
  399. package/dist/account/DecodedAuthToken.d.ts.map +0 -1
@@ -1,447 +1,447 @@
1
- import { AccountFilter, CredentialFilter, ValidCredentialType, AppMetadataFilter, AppMetadataCache, TokenKeys } from "./utils/CacheTypes";
2
- import { CacheRecord } from "./entities/CacheRecord";
3
- import { AccountEntity } from "./entities/AccountEntity";
4
- import { AccessTokenEntity } from "./entities/AccessTokenEntity";
5
- import { IdTokenEntity } from "./entities/IdTokenEntity";
6
- import { RefreshTokenEntity } from "./entities/RefreshTokenEntity";
7
- import { ICacheManager } from "./interface/ICacheManager";
8
- import { AccountInfo } from "../account/AccountInfo";
9
- import { AppMetadataEntity } from "./entities/AppMetadataEntity";
10
- import { ServerTelemetryEntity } from "./entities/ServerTelemetryEntity";
11
- import { ThrottlingEntity } from "./entities/ThrottlingEntity";
12
- import { ICrypto } from "../crypto/ICrypto";
13
- import { AuthorityMetadataEntity } from "./entities/AuthorityMetadataEntity";
14
- import { BaseAuthRequest } from "../request/BaseAuthRequest";
15
- import { Logger } from "../logger/Logger";
16
- import { StoreInCache } from "../request/StoreInCache";
17
- /**
18
- * Interface class which implement cache storage functions used by MSAL to perform validity checks, and store tokens.
19
- * @internal
20
- */
21
- export declare abstract class CacheManager implements ICacheManager {
22
- protected clientId: string;
23
- protected cryptoImpl: ICrypto;
24
- private commonLogger;
25
- constructor(clientId: string, cryptoImpl: ICrypto, logger: Logger);
26
- /**
27
- * fetch the account entity from the platform cache
28
- * @param accountKey
29
- */
30
- abstract getAccount(accountKey: string): AccountEntity | null;
31
- /**
32
- * set account entity in the platform cache
33
- * @param account
34
- */
35
- abstract setAccount(account: AccountEntity): void;
36
- /**
37
- * fetch the idToken entity from the platform cache
38
- * @param idTokenKey
39
- */
40
- abstract getIdTokenCredential(idTokenKey: string): IdTokenEntity | null;
41
- /**
42
- * set idToken entity to the platform cache
43
- * @param idToken
44
- */
45
- abstract setIdTokenCredential(idToken: IdTokenEntity): void;
46
- /**
47
- * fetch the idToken entity from the platform cache
48
- * @param accessTokenKey
49
- */
50
- abstract getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null;
51
- /**
52
- * set idToken entity to the platform cache
53
- * @param accessToken
54
- */
55
- abstract setAccessTokenCredential(accessToken: AccessTokenEntity): void;
56
- /**
57
- * fetch the idToken entity from the platform cache
58
- * @param refreshTokenKey
59
- */
60
- abstract getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null;
61
- /**
62
- * set idToken entity to the platform cache
63
- * @param refreshToken
64
- */
65
- abstract setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void;
66
- /**
67
- * fetch appMetadata entity from the platform cache
68
- * @param appMetadataKey
69
- */
70
- abstract getAppMetadata(appMetadataKey: string): AppMetadataEntity | null;
71
- /**
72
- * set appMetadata entity to the platform cache
73
- * @param appMetadata
74
- */
75
- abstract setAppMetadata(appMetadata: AppMetadataEntity): void;
76
- /**
77
- * fetch server telemetry entity from the platform cache
78
- * @param serverTelemetryKey
79
- */
80
- abstract getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null;
81
- /**
82
- * set server telemetry entity to the platform cache
83
- * @param serverTelemetryKey
84
- * @param serverTelemetry
85
- */
86
- abstract setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void;
87
- /**
88
- * fetch cloud discovery metadata entity from the platform cache
89
- * @param key
90
- */
91
- abstract getAuthorityMetadata(key: string): AuthorityMetadataEntity | null;
92
- /**
93
- *
94
- */
95
- abstract getAuthorityMetadataKeys(): Array<string>;
96
- /**
97
- * set cloud discovery metadata entity to the platform cache
98
- * @param key
99
- * @param value
100
- */
101
- abstract setAuthorityMetadata(key: string, value: AuthorityMetadataEntity): void;
102
- /**
103
- * fetch throttling entity from the platform cache
104
- * @param throttlingCacheKey
105
- */
106
- abstract getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null;
107
- /**
108
- * set throttling entity to the platform cache
109
- * @param throttlingCacheKey
110
- * @param throttlingCache
111
- */
112
- abstract setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void;
113
- /**
114
- * Function to remove an item from cache given its key.
115
- * @param key
116
- */
117
- abstract removeItem(key: string): void;
118
- /**
119
- * Function which returns boolean whether cache contains a specific key.
120
- * @param key
121
- */
122
- abstract containsKey(key: string, type?: string): boolean;
123
- /**
124
- * Function which retrieves all current keys from the cache.
125
- */
126
- abstract getKeys(): string[];
127
- /**
128
- * Function which retrieves all account keys from the cache
129
- */
130
- abstract getAccountKeys(): string[];
131
- /**
132
- * Function which retrieves all token keys from the cache
133
- */
134
- abstract getTokenKeys(): TokenKeys;
135
- /**
136
- * Function which clears cache.
137
- */
138
- abstract clear(): Promise<void>;
139
- /**
140
- * Function which updates an outdated credential cache key
141
- */
142
- abstract updateCredentialCacheKey(currentCacheKey: string, credential: ValidCredentialType): string;
143
- /**
144
- * Returns all accounts in cache
145
- */
146
- getAllAccounts(): AccountInfo[];
147
- /**
148
- * Gets accountInfo object based on provided filters
149
- */
150
- getAccountInfoFilteredBy(accountFilter: AccountFilter): AccountInfo | null;
151
- private getAccountInfoFromEntity;
152
- /**
153
- * saves a cache record
154
- * @param cacheRecord
155
- */
156
- saveCacheRecord(cacheRecord: CacheRecord, storeInCache?: StoreInCache): Promise<void>;
157
- /**
158
- * saves access token credential
159
- * @param credential
160
- */
161
- private saveAccessToken;
162
- /**
163
- * retrieve accounts matching all provided filters; if no filter is set, get all accounts
164
- * not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
165
- * @param homeAccountId
166
- * @param environment
167
- * @param realm
168
- */
169
- getAccountsFilteredBy(accountFilter: AccountFilter): AccountEntity[];
170
- /**
171
- * Returns true if the given key matches our account key schema. Also matches homeAccountId and/or tenantId if provided
172
- * @param key
173
- * @param homeAccountId
174
- * @param tenantId
175
- * @returns
176
- */
177
- isAccountKey(key: string, homeAccountId?: string, tenantId?: string): boolean;
178
- /**
179
- * Returns true if the given key matches our credential key schema.
180
- * @param key
181
- */
182
- isCredentialKey(key: string): boolean;
183
- /**
184
- * Returns whether or not the given credential entity matches the filter
185
- * @param entity
186
- * @param filter
187
- * @returns
188
- */
189
- credentialMatchesFilter(entity: ValidCredentialType, filter: CredentialFilter): boolean;
190
- /**
191
- * retrieve appMetadata matching all provided filters; if no filter is set, get all appMetadata
192
- * @param filter
193
- */
194
- getAppMetadataFilteredBy(filter: AppMetadataFilter): AppMetadataCache;
195
- /**
196
- * Support function to help match appMetadata
197
- * @param environment
198
- * @param clientId
199
- */
200
- private getAppMetadataFilteredByInternal;
201
- /**
202
- * retrieve authorityMetadata that contains a matching alias
203
- * @param filter
204
- */
205
- getAuthorityMetadataByAlias(host: string): AuthorityMetadataEntity | null;
206
- /**
207
- * Removes all accounts and related tokens from cache.
208
- */
209
- removeAllAccounts(): Promise<void>;
210
- /**
211
- * Removes the account and related tokens for a given account key
212
- * @param account
213
- */
214
- removeAccount(accountKey: string): Promise<void>;
215
- /**
216
- * Removes credentials associated with the provided account
217
- * @param account
218
- */
219
- removeAccountContext(account: AccountEntity): Promise<void>;
220
- /**
221
- * returns a boolean if the given credential is removed
222
- * @param credential
223
- */
224
- removeAccessToken(key: string): Promise<void>;
225
- /**
226
- * Removes all app metadata objects from cache.
227
- */
228
- removeAppMetadata(): boolean;
229
- /**
230
- * Retrieve the cached credentials into a cacherecord
231
- * @param account
232
- * @param clientId
233
- * @param scopes
234
- * @param environment
235
- * @param authScheme
236
- */
237
- readCacheRecord(account: AccountInfo, request: BaseAuthRequest, environment: string): CacheRecord;
238
- /**
239
- * Retrieve AccountEntity from cache
240
- * @param account
241
- */
242
- readAccountFromCache(account: AccountInfo): AccountEntity | null;
243
- /**
244
- * Retrieve IdTokenEntity from cache
245
- * @param clientId
246
- * @param account
247
- * @param inputRealm
248
- */
249
- getIdToken(account: AccountInfo, tokenKeys?: TokenKeys): IdTokenEntity | null;
250
- /**
251
- * Gets all idTokens matching the given filter
252
- * @param filter
253
- * @returns
254
- */
255
- getIdTokensByFilter(filter: CredentialFilter, tokenKeys?: TokenKeys): IdTokenEntity[];
256
- /**
257
- * Validate the cache key against filter before retrieving and parsing cache value
258
- * @param key
259
- * @param filter
260
- * @returns
261
- */
262
- idTokenKeyMatchesFilter(inputKey: string, filter: CredentialFilter): boolean;
263
- /**
264
- * Removes idToken from the cache
265
- * @param key
266
- */
267
- removeIdToken(key: string): void;
268
- /**
269
- * Removes refresh token from the cache
270
- * @param key
271
- */
272
- removeRefreshToken(key: string): void;
273
- /**
274
- * Retrieve AccessTokenEntity from cache
275
- * @param clientId
276
- * @param account
277
- * @param scopes
278
- * @param authScheme
279
- */
280
- getAccessToken(account: AccountInfo, request: BaseAuthRequest, tokenKeys?: TokenKeys): AccessTokenEntity | null;
281
- /**
282
- * Validate the cache key against filter before retrieving and parsing cache value
283
- * @param key
284
- * @param filter
285
- * @param keyMustContainAllScopes
286
- * @returns
287
- */
288
- accessTokenKeyMatchesFilter(inputKey: string, filter: CredentialFilter, keyMustContainAllScopes: boolean): boolean;
289
- /**
290
- * Gets all access tokens matching the filter
291
- * @param filter
292
- * @returns
293
- */
294
- getAccessTokensByFilter(filter: CredentialFilter): AccessTokenEntity[];
295
- /**
296
- * Helper to retrieve the appropriate refresh token from cache
297
- * @param clientId
298
- * @param account
299
- * @param familyRT
300
- */
301
- getRefreshToken(account: AccountInfo, familyRT: boolean, tokenKeys?: TokenKeys): RefreshTokenEntity | null;
302
- /**
303
- * Validate the cache key against filter before retrieving and parsing cache value
304
- * @param key
305
- * @param filter
306
- */
307
- refreshTokenKeyMatchesFilter(inputKey: string, filter: CredentialFilter): boolean;
308
- /**
309
- * Retrieve AppMetadataEntity from cache
310
- */
311
- readAppMetadataFromCache(environment: string): AppMetadataEntity | null;
312
- /**
313
- * Return the family_id value associated with FOCI
314
- * @param environment
315
- * @param clientId
316
- */
317
- isAppMetadataFOCI(environment: string): boolean;
318
- /**
319
- * helper to match account ids
320
- * @param value
321
- * @param homeAccountId
322
- */
323
- private matchHomeAccountId;
324
- /**
325
- * helper to match account ids
326
- * @param entity
327
- * @param localAccountId
328
- * @returns
329
- */
330
- private matchLocalAccountId;
331
- /**
332
- * helper to match usernames
333
- * @param entity
334
- * @param username
335
- * @returns
336
- */
337
- private matchUsername;
338
- /**
339
- * helper to match assertion
340
- * @param value
341
- * @param oboAssertion
342
- */
343
- private matchUserAssertionHash;
344
- /**
345
- * helper to match environment
346
- * @param value
347
- * @param environment
348
- */
349
- private matchEnvironment;
350
- /**
351
- * helper to match credential type
352
- * @param entity
353
- * @param credentialType
354
- */
355
- private matchCredentialType;
356
- /**
357
- * helper to match client ids
358
- * @param entity
359
- * @param clientId
360
- */
361
- private matchClientId;
362
- /**
363
- * helper to match family ids
364
- * @param entity
365
- * @param familyId
366
- */
367
- private matchFamilyId;
368
- /**
369
- * helper to match realm
370
- * @param entity
371
- * @param realm
372
- */
373
- private matchRealm;
374
- /**
375
- * helper to match nativeAccountId
376
- * @param entity
377
- * @param nativeAccountId
378
- * @returns boolean indicating the match result
379
- */
380
- private matchNativeAccountId;
381
- /**
382
- * Returns true if the target scopes are a subset of the current entity's scopes, false otherwise.
383
- * @param entity
384
- * @param target
385
- */
386
- private matchTarget;
387
- /**
388
- * Returns true if the credential's tokenType or Authentication Scheme matches the one in the request, false otherwise
389
- * @param entity
390
- * @param tokenType
391
- */
392
- private matchTokenType;
393
- /**
394
- * Returns true if the credential's keyId matches the one in the request, false otherwise
395
- * @param entity
396
- * @param tokenType
397
- */
398
- private matchKeyId;
399
- /**
400
- * returns if a given cache entity is of the type appmetadata
401
- * @param key
402
- */
403
- private isAppMetadata;
404
- /**
405
- * returns if a given cache entity is of the type authoritymetadata
406
- * @param key
407
- */
408
- protected isAuthorityMetadata(key: string): boolean;
409
- /**
410
- * returns cache key used for cloud instance metadata
411
- */
412
- generateAuthorityMetadataCacheKey(authority: string): string;
413
- /**
414
- * Helper to convert serialized data to object
415
- * @param obj
416
- * @param json
417
- */
418
- static toObject<T>(obj: T, json: object): T;
419
- }
420
- /** @internal */
421
- export declare class DefaultStorageClass extends CacheManager {
422
- setAccount(): void;
423
- getAccount(): AccountEntity;
424
- setIdTokenCredential(): void;
425
- getIdTokenCredential(): IdTokenEntity;
426
- setAccessTokenCredential(): void;
427
- getAccessTokenCredential(): AccessTokenEntity;
428
- setRefreshTokenCredential(): void;
429
- getRefreshTokenCredential(): RefreshTokenEntity;
430
- setAppMetadata(): void;
431
- getAppMetadata(): AppMetadataEntity;
432
- setServerTelemetry(): void;
433
- getServerTelemetry(): ServerTelemetryEntity;
434
- setAuthorityMetadata(): void;
435
- getAuthorityMetadata(): AuthorityMetadataEntity | null;
436
- getAuthorityMetadataKeys(): Array<string>;
437
- setThrottlingCache(): void;
438
- getThrottlingCache(): ThrottlingEntity;
439
- removeItem(): boolean;
440
- containsKey(): boolean;
441
- getKeys(): string[];
442
- getAccountKeys(): string[];
443
- getTokenKeys(): TokenKeys;
444
- clear(): Promise<void>;
445
- updateCredentialCacheKey(): string;
446
- }
1
+ import { AccountFilter, CredentialFilter, ValidCredentialType, AppMetadataFilter, AppMetadataCache, TokenKeys } from "./utils/CacheTypes";
2
+ import { CacheRecord } from "./entities/CacheRecord";
3
+ import { AccountEntity } from "./entities/AccountEntity";
4
+ import { AccessTokenEntity } from "./entities/AccessTokenEntity";
5
+ import { IdTokenEntity } from "./entities/IdTokenEntity";
6
+ import { RefreshTokenEntity } from "./entities/RefreshTokenEntity";
7
+ import { ICacheManager } from "./interface/ICacheManager";
8
+ import { AccountInfo } from "../account/AccountInfo";
9
+ import { AppMetadataEntity } from "./entities/AppMetadataEntity";
10
+ import { ServerTelemetryEntity } from "./entities/ServerTelemetryEntity";
11
+ import { ThrottlingEntity } from "./entities/ThrottlingEntity";
12
+ import { ICrypto } from "../crypto/ICrypto";
13
+ import { AuthorityMetadataEntity } from "./entities/AuthorityMetadataEntity";
14
+ import { BaseAuthRequest } from "../request/BaseAuthRequest";
15
+ import { Logger } from "../logger/Logger";
16
+ import { StoreInCache } from "../request/StoreInCache";
17
+ /**
18
+ * Interface class which implement cache storage functions used by MSAL to perform validity checks, and store tokens.
19
+ * @internal
20
+ */
21
+ export declare abstract class CacheManager implements ICacheManager {
22
+ protected clientId: string;
23
+ protected cryptoImpl: ICrypto;
24
+ private commonLogger;
25
+ constructor(clientId: string, cryptoImpl: ICrypto, logger: Logger);
26
+ /**
27
+ * fetch the account entity from the platform cache
28
+ * @param accountKey
29
+ */
30
+ abstract getAccount(accountKey: string): AccountEntity | null;
31
+ /**
32
+ * set account entity in the platform cache
33
+ * @param account
34
+ */
35
+ abstract setAccount(account: AccountEntity): void;
36
+ /**
37
+ * fetch the idToken entity from the platform cache
38
+ * @param idTokenKey
39
+ */
40
+ abstract getIdTokenCredential(idTokenKey: string): IdTokenEntity | null;
41
+ /**
42
+ * set idToken entity to the platform cache
43
+ * @param idToken
44
+ */
45
+ abstract setIdTokenCredential(idToken: IdTokenEntity): void;
46
+ /**
47
+ * fetch the idToken entity from the platform cache
48
+ * @param accessTokenKey
49
+ */
50
+ abstract getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null;
51
+ /**
52
+ * set idToken entity to the platform cache
53
+ * @param accessToken
54
+ */
55
+ abstract setAccessTokenCredential(accessToken: AccessTokenEntity): void;
56
+ /**
57
+ * fetch the idToken entity from the platform cache
58
+ * @param refreshTokenKey
59
+ */
60
+ abstract getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null;
61
+ /**
62
+ * set idToken entity to the platform cache
63
+ * @param refreshToken
64
+ */
65
+ abstract setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void;
66
+ /**
67
+ * fetch appMetadata entity from the platform cache
68
+ * @param appMetadataKey
69
+ */
70
+ abstract getAppMetadata(appMetadataKey: string): AppMetadataEntity | null;
71
+ /**
72
+ * set appMetadata entity to the platform cache
73
+ * @param appMetadata
74
+ */
75
+ abstract setAppMetadata(appMetadata: AppMetadataEntity): void;
76
+ /**
77
+ * fetch server telemetry entity from the platform cache
78
+ * @param serverTelemetryKey
79
+ */
80
+ abstract getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null;
81
+ /**
82
+ * set server telemetry entity to the platform cache
83
+ * @param serverTelemetryKey
84
+ * @param serverTelemetry
85
+ */
86
+ abstract setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void;
87
+ /**
88
+ * fetch cloud discovery metadata entity from the platform cache
89
+ * @param key
90
+ */
91
+ abstract getAuthorityMetadata(key: string): AuthorityMetadataEntity | null;
92
+ /**
93
+ *
94
+ */
95
+ abstract getAuthorityMetadataKeys(): Array<string>;
96
+ /**
97
+ * set cloud discovery metadata entity to the platform cache
98
+ * @param key
99
+ * @param value
100
+ */
101
+ abstract setAuthorityMetadata(key: string, value: AuthorityMetadataEntity): void;
102
+ /**
103
+ * fetch throttling entity from the platform cache
104
+ * @param throttlingCacheKey
105
+ */
106
+ abstract getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null;
107
+ /**
108
+ * set throttling entity to the platform cache
109
+ * @param throttlingCacheKey
110
+ * @param throttlingCache
111
+ */
112
+ abstract setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void;
113
+ /**
114
+ * Function to remove an item from cache given its key.
115
+ * @param key
116
+ */
117
+ abstract removeItem(key: string): void;
118
+ /**
119
+ * Function which returns boolean whether cache contains a specific key.
120
+ * @param key
121
+ */
122
+ abstract containsKey(key: string, type?: string): boolean;
123
+ /**
124
+ * Function which retrieves all current keys from the cache.
125
+ */
126
+ abstract getKeys(): string[];
127
+ /**
128
+ * Function which retrieves all account keys from the cache
129
+ */
130
+ abstract getAccountKeys(): string[];
131
+ /**
132
+ * Function which retrieves all token keys from the cache
133
+ */
134
+ abstract getTokenKeys(): TokenKeys;
135
+ /**
136
+ * Function which clears cache.
137
+ */
138
+ abstract clear(): Promise<void>;
139
+ /**
140
+ * Function which updates an outdated credential cache key
141
+ */
142
+ abstract updateCredentialCacheKey(currentCacheKey: string, credential: ValidCredentialType): string;
143
+ /**
144
+ * Returns all accounts in cache
145
+ */
146
+ getAllAccounts(): AccountInfo[];
147
+ /**
148
+ * Gets accountInfo object based on provided filters
149
+ */
150
+ getAccountInfoFilteredBy(accountFilter: AccountFilter): AccountInfo | null;
151
+ private getAccountInfoFromEntity;
152
+ /**
153
+ * saves a cache record
154
+ * @param cacheRecord
155
+ */
156
+ saveCacheRecord(cacheRecord: CacheRecord, storeInCache?: StoreInCache): Promise<void>;
157
+ /**
158
+ * saves access token credential
159
+ * @param credential
160
+ */
161
+ private saveAccessToken;
162
+ /**
163
+ * retrieve accounts matching all provided filters; if no filter is set, get all accounts
164
+ * not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
165
+ * @param homeAccountId
166
+ * @param environment
167
+ * @param realm
168
+ */
169
+ getAccountsFilteredBy(accountFilter: AccountFilter): AccountEntity[];
170
+ /**
171
+ * Returns true if the given key matches our account key schema. Also matches homeAccountId and/or tenantId if provided
172
+ * @param key
173
+ * @param homeAccountId
174
+ * @param tenantId
175
+ * @returns
176
+ */
177
+ isAccountKey(key: string, homeAccountId?: string, tenantId?: string): boolean;
178
+ /**
179
+ * Returns true if the given key matches our credential key schema.
180
+ * @param key
181
+ */
182
+ isCredentialKey(key: string): boolean;
183
+ /**
184
+ * Returns whether or not the given credential entity matches the filter
185
+ * @param entity
186
+ * @param filter
187
+ * @returns
188
+ */
189
+ credentialMatchesFilter(entity: ValidCredentialType, filter: CredentialFilter): boolean;
190
+ /**
191
+ * retrieve appMetadata matching all provided filters; if no filter is set, get all appMetadata
192
+ * @param filter
193
+ */
194
+ getAppMetadataFilteredBy(filter: AppMetadataFilter): AppMetadataCache;
195
+ /**
196
+ * Support function to help match appMetadata
197
+ * @param environment
198
+ * @param clientId
199
+ */
200
+ private getAppMetadataFilteredByInternal;
201
+ /**
202
+ * retrieve authorityMetadata that contains a matching alias
203
+ * @param filter
204
+ */
205
+ getAuthorityMetadataByAlias(host: string): AuthorityMetadataEntity | null;
206
+ /**
207
+ * Removes all accounts and related tokens from cache.
208
+ */
209
+ removeAllAccounts(): Promise<void>;
210
+ /**
211
+ * Removes the account and related tokens for a given account key
212
+ * @param account
213
+ */
214
+ removeAccount(accountKey: string): Promise<void>;
215
+ /**
216
+ * Removes credentials associated with the provided account
217
+ * @param account
218
+ */
219
+ removeAccountContext(account: AccountEntity): Promise<void>;
220
+ /**
221
+ * returns a boolean if the given credential is removed
222
+ * @param credential
223
+ */
224
+ removeAccessToken(key: string): Promise<void>;
225
+ /**
226
+ * Removes all app metadata objects from cache.
227
+ */
228
+ removeAppMetadata(): boolean;
229
+ /**
230
+ * Retrieve the cached credentials into a cacherecord
231
+ * @param account
232
+ * @param clientId
233
+ * @param scopes
234
+ * @param environment
235
+ * @param authScheme
236
+ */
237
+ readCacheRecord(account: AccountInfo, request: BaseAuthRequest, environment: string): CacheRecord;
238
+ /**
239
+ * Retrieve AccountEntity from cache
240
+ * @param account
241
+ */
242
+ readAccountFromCache(account: AccountInfo): AccountEntity | null;
243
+ /**
244
+ * Retrieve IdTokenEntity from cache
245
+ * @param clientId
246
+ * @param account
247
+ * @param inputRealm
248
+ */
249
+ getIdToken(account: AccountInfo, tokenKeys?: TokenKeys): IdTokenEntity | null;
250
+ /**
251
+ * Gets all idTokens matching the given filter
252
+ * @param filter
253
+ * @returns
254
+ */
255
+ getIdTokensByFilter(filter: CredentialFilter, tokenKeys?: TokenKeys): IdTokenEntity[];
256
+ /**
257
+ * Validate the cache key against filter before retrieving and parsing cache value
258
+ * @param key
259
+ * @param filter
260
+ * @returns
261
+ */
262
+ idTokenKeyMatchesFilter(inputKey: string, filter: CredentialFilter): boolean;
263
+ /**
264
+ * Removes idToken from the cache
265
+ * @param key
266
+ */
267
+ removeIdToken(key: string): void;
268
+ /**
269
+ * Removes refresh token from the cache
270
+ * @param key
271
+ */
272
+ removeRefreshToken(key: string): void;
273
+ /**
274
+ * Retrieve AccessTokenEntity from cache
275
+ * @param clientId
276
+ * @param account
277
+ * @param scopes
278
+ * @param authScheme
279
+ */
280
+ getAccessToken(account: AccountInfo, request: BaseAuthRequest, tokenKeys?: TokenKeys): AccessTokenEntity | null;
281
+ /**
282
+ * Validate the cache key against filter before retrieving and parsing cache value
283
+ * @param key
284
+ * @param filter
285
+ * @param keyMustContainAllScopes
286
+ * @returns
287
+ */
288
+ accessTokenKeyMatchesFilter(inputKey: string, filter: CredentialFilter, keyMustContainAllScopes: boolean): boolean;
289
+ /**
290
+ * Gets all access tokens matching the filter
291
+ * @param filter
292
+ * @returns
293
+ */
294
+ getAccessTokensByFilter(filter: CredentialFilter): AccessTokenEntity[];
295
+ /**
296
+ * Helper to retrieve the appropriate refresh token from cache
297
+ * @param clientId
298
+ * @param account
299
+ * @param familyRT
300
+ */
301
+ getRefreshToken(account: AccountInfo, familyRT: boolean, tokenKeys?: TokenKeys): RefreshTokenEntity | null;
302
+ /**
303
+ * Validate the cache key against filter before retrieving and parsing cache value
304
+ * @param key
305
+ * @param filter
306
+ */
307
+ refreshTokenKeyMatchesFilter(inputKey: string, filter: CredentialFilter): boolean;
308
+ /**
309
+ * Retrieve AppMetadataEntity from cache
310
+ */
311
+ readAppMetadataFromCache(environment: string): AppMetadataEntity | null;
312
+ /**
313
+ * Return the family_id value associated with FOCI
314
+ * @param environment
315
+ * @param clientId
316
+ */
317
+ isAppMetadataFOCI(environment: string): boolean;
318
+ /**
319
+ * helper to match account ids
320
+ * @param value
321
+ * @param homeAccountId
322
+ */
323
+ private matchHomeAccountId;
324
+ /**
325
+ * helper to match account ids
326
+ * @param entity
327
+ * @param localAccountId
328
+ * @returns
329
+ */
330
+ private matchLocalAccountId;
331
+ /**
332
+ * helper to match usernames
333
+ * @param entity
334
+ * @param username
335
+ * @returns
336
+ */
337
+ private matchUsername;
338
+ /**
339
+ * helper to match assertion
340
+ * @param value
341
+ * @param oboAssertion
342
+ */
343
+ private matchUserAssertionHash;
344
+ /**
345
+ * helper to match environment
346
+ * @param value
347
+ * @param environment
348
+ */
349
+ private matchEnvironment;
350
+ /**
351
+ * helper to match credential type
352
+ * @param entity
353
+ * @param credentialType
354
+ */
355
+ private matchCredentialType;
356
+ /**
357
+ * helper to match client ids
358
+ * @param entity
359
+ * @param clientId
360
+ */
361
+ private matchClientId;
362
+ /**
363
+ * helper to match family ids
364
+ * @param entity
365
+ * @param familyId
366
+ */
367
+ private matchFamilyId;
368
+ /**
369
+ * helper to match realm
370
+ * @param entity
371
+ * @param realm
372
+ */
373
+ private matchRealm;
374
+ /**
375
+ * helper to match nativeAccountId
376
+ * @param entity
377
+ * @param nativeAccountId
378
+ * @returns boolean indicating the match result
379
+ */
380
+ private matchNativeAccountId;
381
+ /**
382
+ * Returns true if the target scopes are a subset of the current entity's scopes, false otherwise.
383
+ * @param entity
384
+ * @param target
385
+ */
386
+ private matchTarget;
387
+ /**
388
+ * Returns true if the credential's tokenType or Authentication Scheme matches the one in the request, false otherwise
389
+ * @param entity
390
+ * @param tokenType
391
+ */
392
+ private matchTokenType;
393
+ /**
394
+ * Returns true if the credential's keyId matches the one in the request, false otherwise
395
+ * @param entity
396
+ * @param tokenType
397
+ */
398
+ private matchKeyId;
399
+ /**
400
+ * returns if a given cache entity is of the type appmetadata
401
+ * @param key
402
+ */
403
+ private isAppMetadata;
404
+ /**
405
+ * returns if a given cache entity is of the type authoritymetadata
406
+ * @param key
407
+ */
408
+ protected isAuthorityMetadata(key: string): boolean;
409
+ /**
410
+ * returns cache key used for cloud instance metadata
411
+ */
412
+ generateAuthorityMetadataCacheKey(authority: string): string;
413
+ /**
414
+ * Helper to convert serialized data to object
415
+ * @param obj
416
+ * @param json
417
+ */
418
+ static toObject<T>(obj: T, json: object): T;
419
+ }
420
+ /** @internal */
421
+ export declare class DefaultStorageClass extends CacheManager {
422
+ setAccount(): void;
423
+ getAccount(): AccountEntity;
424
+ setIdTokenCredential(): void;
425
+ getIdTokenCredential(): IdTokenEntity;
426
+ setAccessTokenCredential(): void;
427
+ getAccessTokenCredential(): AccessTokenEntity;
428
+ setRefreshTokenCredential(): void;
429
+ getRefreshTokenCredential(): RefreshTokenEntity;
430
+ setAppMetadata(): void;
431
+ getAppMetadata(): AppMetadataEntity;
432
+ setServerTelemetry(): void;
433
+ getServerTelemetry(): ServerTelemetryEntity;
434
+ setAuthorityMetadata(): void;
435
+ getAuthorityMetadata(): AuthorityMetadataEntity | null;
436
+ getAuthorityMetadataKeys(): Array<string>;
437
+ setThrottlingCache(): void;
438
+ getThrottlingCache(): ThrottlingEntity;
439
+ removeItem(): boolean;
440
+ containsKey(): boolean;
441
+ getKeys(): string[];
442
+ getAccountKeys(): string[];
443
+ getTokenKeys(): TokenKeys;
444
+ clear(): Promise<void>;
445
+ updateCredentialCacheKey(): string;
446
+ }
447
447
  //# sourceMappingURL=CacheManager.d.ts.map