@azure/msal-common 14.6.0-alpha.0 → 14.6.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 (203) 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 +253 -254
  13. package/dist/authority/Authority.d.ts.map +1 -1
  14. package/dist/authority/Authority.mjs +827 -816
  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 -508
  42. package/dist/cache/CacheManager.mjs +1237 -1237
  43. package/dist/cache/entities/AccessTokenEntity.d.ts +25 -25
  44. package/dist/cache/entities/AccountEntity.d.ts +106 -106
  45. package/dist/cache/entities/AccountEntity.mjs +244 -244
  46. package/dist/cache/entities/AppMetadataEntity.d.ts +11 -39
  47. package/dist/cache/entities/AppMetadataEntity.d.ts.map +1 -1
  48. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +15 -48
  49. package/dist/cache/entities/AuthorityMetadataEntity.d.ts.map +1 -1
  50. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  51. package/dist/cache/entities/CacheRecord.mjs +14 -14
  52. package/dist/cache/entities/CredentialEntity.d.ts +30 -30
  53. package/dist/cache/entities/IdTokenEntity.d.ts +8 -8
  54. package/dist/cache/entities/RefreshTokenEntity.d.ts +7 -7
  55. package/dist/cache/entities/ServerTelemetryEntity.d.ts +5 -5
  56. package/dist/cache/entities/ThrottlingEntity.d.ts +7 -7
  57. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  58. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  59. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  60. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  61. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  62. package/dist/cache/utils/CacheHelpers.d.ts +94 -70
  63. package/dist/cache/utils/CacheHelpers.d.ts.map +1 -1
  64. package/dist/cache/utils/CacheHelpers.mjs +326 -252
  65. package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
  66. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  67. package/dist/client/AuthorizationCodeClient.d.ts +74 -74
  68. package/dist/client/AuthorizationCodeClient.mjs +402 -402
  69. package/dist/client/BaseClient.d.ts +51 -51
  70. package/dist/client/BaseClient.mjs +100 -100
  71. package/dist/client/RefreshTokenClient.d.ts +35 -35
  72. package/dist/client/RefreshTokenClient.mjs +204 -204
  73. package/dist/client/SilentFlowClient.d.ts +27 -27
  74. package/dist/client/SilentFlowClient.mjs +128 -128
  75. package/dist/config/AppTokenProvider.d.ts +38 -38
  76. package/dist/config/ClientConfiguration.d.ts +150 -150
  77. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  78. package/dist/config/ClientConfiguration.mjs +98 -96
  79. package/dist/config/ClientConfiguration.mjs.map +1 -1
  80. package/dist/constants/AADServerParamKeys.d.ts +52 -52
  81. package/dist/constants/AADServerParamKeys.mjs +56 -56
  82. package/dist/crypto/ICrypto.d.ts +58 -58
  83. package/dist/crypto/ICrypto.mjs +30 -30
  84. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  85. package/dist/crypto/JoseHeader.d.ts +22 -22
  86. package/dist/crypto/JoseHeader.mjs +37 -37
  87. package/dist/crypto/PopTokenGenerator.d.ts +60 -60
  88. package/dist/crypto/PopTokenGenerator.mjs +82 -82
  89. package/dist/crypto/SignedHttpRequest.d.ts +15 -15
  90. package/dist/error/AuthError.d.ts +44 -44
  91. package/dist/error/AuthError.mjs +46 -46
  92. package/dist/error/AuthErrorCodes.d.ts +5 -5
  93. package/dist/error/AuthErrorCodes.mjs +9 -9
  94. package/dist/error/ClientAuthError.d.ts +237 -237
  95. package/dist/error/ClientAuthError.mjs +249 -249
  96. package/dist/error/ClientAuthErrorCodes.d.ts +44 -44
  97. package/dist/error/ClientAuthErrorCodes.mjs +48 -48
  98. package/dist/error/ClientConfigurationError.d.ts +128 -128
  99. package/dist/error/ClientConfigurationError.mjs +135 -135
  100. package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
  101. package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
  102. package/dist/error/InteractionRequiredAuthError.d.ts +61 -61
  103. package/dist/error/InteractionRequiredAuthError.mjs +84 -84
  104. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +7 -7
  105. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +13 -13
  106. package/dist/error/JoseHeaderError.d.ts +15 -15
  107. package/dist/error/JoseHeaderError.mjs +22 -22
  108. package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
  109. package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
  110. package/dist/error/ServerError.d.ts +7 -7
  111. package/dist/error/ServerError.mjs +14 -14
  112. package/dist/index.cjs +8557 -8611
  113. package/dist/index.cjs.map +1 -1
  114. package/dist/index.d.ts +99 -99
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.mjs +2 -4
  117. package/dist/index.mjs.map +1 -1
  118. package/dist/logger/Logger.d.ts +95 -95
  119. package/dist/logger/Logger.mjs +188 -188
  120. package/dist/network/INetworkModule.d.ts +29 -29
  121. package/dist/network/INetworkModule.mjs +12 -12
  122. package/dist/network/NetworkManager.d.ts +33 -33
  123. package/dist/network/NetworkManager.mjs +34 -34
  124. package/dist/network/RequestThumbprint.d.ts +18 -18
  125. package/dist/network/ThrottlingUtils.d.ts +42 -42
  126. package/dist/network/ThrottlingUtils.mjs +95 -95
  127. package/dist/packageMetadata.d.ts +2 -2
  128. package/dist/packageMetadata.d.ts.map +1 -1
  129. package/dist/packageMetadata.mjs +4 -4
  130. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  131. package/dist/request/AuthenticationHeaderParser.mjs +55 -55
  132. package/dist/request/BaseAuthRequest.d.ts +43 -43
  133. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  134. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  135. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  136. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  137. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  138. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  139. package/dist/request/CommonRefreshTokenRequest.d.ts +22 -22
  140. package/dist/request/CommonSilentFlowRequest.d.ts +27 -27
  141. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  142. package/dist/request/NativeRequest.d.ts +19 -19
  143. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  144. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  145. package/dist/request/RequestParameterBuilder.mjs +381 -381
  146. package/dist/request/RequestValidator.d.ts +33 -33
  147. package/dist/request/RequestValidator.mjs +81 -81
  148. package/dist/request/ScopeSet.d.ts +88 -88
  149. package/dist/request/ScopeSet.mjs +197 -197
  150. package/dist/request/StoreInCache.d.ts +8 -8
  151. package/dist/response/AuthenticationResult.d.ts +41 -41
  152. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  153. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  154. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  155. package/dist/response/IMDSBadResponse.d.ts +4 -4
  156. package/dist/response/ResponseHandler.d.ts +69 -69
  157. package/dist/response/ResponseHandler.mjs +350 -347
  158. package/dist/response/ResponseHandler.mjs.map +1 -1
  159. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  160. package/dist/response/ServerAuthorizationTokenResponse.d.ts +47 -47
  161. package/dist/telemetry/performance/IPerformanceClient.d.ts +57 -57
  162. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  163. package/dist/telemetry/performance/PerformanceClient.d.ts +198 -198
  164. package/dist/telemetry/performance/PerformanceClient.mjs +412 -412
  165. package/dist/telemetry/performance/PerformanceEvent.d.ts +464 -464
  166. package/dist/telemetry/performance/PerformanceEvent.mjs +253 -253
  167. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  168. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  169. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  170. package/dist/telemetry/server/ServerTelemetryManager.mjs +201 -201
  171. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  172. package/dist/url/IUri.d.ts +12 -12
  173. package/dist/url/UrlString.d.ts +48 -48
  174. package/dist/url/UrlString.mjs +161 -161
  175. package/dist/utils/Constants.d.ts +296 -298
  176. package/dist/utils/Constants.d.ts.map +1 -1
  177. package/dist/utils/Constants.mjs +310 -313
  178. package/dist/utils/Constants.mjs.map +1 -1
  179. package/dist/utils/FunctionWrappers.d.ts +27 -27
  180. package/dist/utils/FunctionWrappers.mjs +84 -84
  181. package/dist/utils/MsalTypes.d.ts +6 -6
  182. package/dist/utils/ProtocolUtils.d.ts +42 -42
  183. package/dist/utils/ProtocolUtils.mjs +69 -69
  184. package/dist/utils/StringUtils.d.ts +40 -40
  185. package/dist/utils/StringUtils.mjs +95 -95
  186. package/dist/utils/TimeUtils.d.ts +27 -27
  187. package/dist/utils/TimeUtils.mjs +45 -45
  188. package/dist/utils/UrlUtils.d.ts +10 -10
  189. package/dist/utils/UrlUtils.mjs +44 -44
  190. package/package.json +1 -1
  191. package/src/authority/Authority.ts +58 -25
  192. package/src/cache/entities/AppMetadataEntity.ts +6 -81
  193. package/src/cache/entities/AuthorityMetadataEntity.ts +2 -94
  194. package/src/cache/utils/CacheHelpers.ts +111 -0
  195. package/src/config/ClientConfiguration.ts +4 -4
  196. package/src/index.ts +0 -1
  197. package/src/packageMetadata.ts +1 -1
  198. package/src/response/ResponseHandler.ts +5 -5
  199. package/src/utils/Constants.ts +0 -4
  200. package/dist/cache/entities/AppMetadataEntity.mjs +0 -73
  201. package/dist/cache/entities/AppMetadataEntity.mjs.map +0 -1
  202. package/dist/cache/entities/AuthorityMetadataEntity.mjs +0 -86
  203. package/dist/cache/entities/AuthorityMetadataEntity.mjs.map +0 -1
@@ -1,509 +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 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
- }
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
+ }
509
509
  //# sourceMappingURL=CacheManager.d.ts.map