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