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