@azure/msal-common 14.0.3 → 14.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/dist/account/AccountInfo.d.ts +32 -32
  2. package/dist/account/AuthToken.d.ts +17 -17
  3. package/dist/account/AuthToken.d.ts.map +1 -1
  4. package/dist/account/AuthToken.mjs +60 -59
  5. package/dist/account/AuthToken.mjs.map +1 -1
  6. package/dist/account/CcsCredential.d.ts +9 -9
  7. package/dist/account/CcsCredential.mjs +8 -8
  8. package/dist/account/ClientCredentials.d.ts +14 -14
  9. package/dist/account/ClientInfo.d.ts +19 -19
  10. package/dist/account/ClientInfo.d.ts.map +1 -1
  11. package/dist/account/ClientInfo.mjs +39 -38
  12. package/dist/account/ClientInfo.mjs.map +1 -1
  13. package/dist/account/TokenClaims.d.ts +65 -65
  14. package/dist/authority/Authority.d.ts +235 -235
  15. package/dist/authority/Authority.d.ts.map +1 -1
  16. package/dist/authority/Authority.mjs +743 -765
  17. package/dist/authority/Authority.mjs.map +1 -1
  18. package/dist/authority/AuthorityFactory.d.ts +31 -31
  19. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  20. package/dist/authority/AuthorityFactory.mjs +52 -50
  21. package/dist/authority/AuthorityFactory.mjs.map +1 -1
  22. package/dist/authority/AuthorityMetadata.d.ts +623 -623
  23. package/dist/authority/AuthorityMetadata.mjs +884 -884
  24. package/dist/authority/AuthorityOptions.d.ts +21 -21
  25. package/dist/authority/AuthorityOptions.mjs +18 -18
  26. package/dist/authority/AuthorityType.d.ts +10 -10
  27. package/dist/authority/AuthorityType.mjs +13 -13
  28. package/dist/authority/AzureRegion.d.ts +1 -1
  29. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  30. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  31. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  32. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  33. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  34. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  35. package/dist/authority/ImdsOptions.d.ts +5 -5
  36. package/dist/authority/OIDCOptions.d.ts +8 -8
  37. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  38. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  39. package/dist/authority/ProtocolMode.d.ts +8 -8
  40. package/dist/authority/ProtocolMode.mjs +11 -11
  41. package/dist/authority/RegionDiscovery.d.ts +32 -30
  42. package/dist/authority/RegionDiscovery.d.ts.map +1 -1
  43. package/dist/authority/RegionDiscovery.mjs +107 -108
  44. package/dist/authority/RegionDiscovery.mjs.map +1 -1
  45. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  46. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  47. package/dist/cache/CacheManager.d.ts +446 -446
  48. package/dist/cache/CacheManager.d.ts.map +1 -1
  49. package/dist/cache/CacheManager.mjs +1000 -1024
  50. package/dist/cache/CacheManager.mjs.map +1 -1
  51. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  52. package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
  53. package/dist/cache/entities/AccessTokenEntity.mjs +111 -110
  54. package/dist/cache/entities/AccessTokenEntity.mjs.map +1 -1
  55. package/dist/cache/entities/AccountEntity.d.ts +101 -101
  56. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  57. package/dist/cache/entities/AccountEntity.mjs +222 -221
  58. package/dist/cache/entities/AccountEntity.mjs.map +1 -1
  59. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  60. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  61. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  62. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  63. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  64. package/dist/cache/entities/CacheRecord.mjs +14 -14
  65. package/dist/cache/entities/CredentialEntity.d.ts +88 -88
  66. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  67. package/dist/cache/entities/CredentialEntity.mjs +138 -137
  68. package/dist/cache/entities/CredentialEntity.mjs.map +1 -1
  69. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  70. package/dist/cache/entities/IdTokenEntity.mjs +56 -56
  71. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  72. package/dist/cache/entities/RefreshTokenEntity.mjs +59 -59
  73. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  74. package/dist/cache/entities/ServerTelemetryEntity.mjs +27 -27
  75. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  76. package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
  77. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  78. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  79. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  80. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  81. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  82. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  83. package/dist/client/AuthorizationCodeClient.d.ts +73 -73
  84. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  85. package/dist/client/AuthorizationCodeClient.mjs +411 -410
  86. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  87. package/dist/client/BaseClient.d.ts +51 -51
  88. package/dist/client/BaseClient.d.ts.map +1 -1
  89. package/dist/client/BaseClient.mjs +100 -99
  90. package/dist/client/BaseClient.mjs.map +1 -1
  91. package/dist/client/RefreshTokenClient.d.ts +35 -35
  92. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  93. package/dist/client/RefreshTokenClient.mjs +185 -234
  94. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  95. package/dist/client/SilentFlowClient.d.ts +26 -25
  96. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  97. package/dist/client/SilentFlowClient.mjs +127 -103
  98. package/dist/client/SilentFlowClient.mjs.map +1 -1
  99. package/dist/config/AppTokenProvider.d.ts +38 -38
  100. package/dist/config/ClientConfiguration.d.ts +150 -150
  101. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  102. package/dist/config/ClientConfiguration.mjs +99 -100
  103. package/dist/config/ClientConfiguration.mjs.map +1 -1
  104. package/dist/crypto/ICrypto.d.ts +62 -62
  105. package/dist/crypto/ICrypto.d.ts.map +1 -1
  106. package/dist/crypto/ICrypto.mjs +35 -43
  107. package/dist/crypto/ICrypto.mjs.map +1 -1
  108. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  109. package/dist/crypto/JoseHeader.d.ts +22 -22
  110. package/dist/crypto/JoseHeader.d.ts.map +1 -1
  111. package/dist/crypto/JoseHeader.mjs +39 -38
  112. package/dist/crypto/JoseHeader.mjs.map +1 -1
  113. package/dist/crypto/PopTokenGenerator.d.ts +60 -59
  114. package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
  115. package/dist/crypto/PopTokenGenerator.mjs +83 -83
  116. package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
  117. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  118. package/dist/error/AuthError.d.ts +44 -47
  119. package/dist/error/AuthError.d.ts.map +1 -1
  120. package/dist/error/AuthError.mjs +50 -52
  121. package/dist/error/AuthError.mjs.map +1 -1
  122. package/dist/error/AuthErrorCodes.d.ts +6 -0
  123. package/dist/error/AuthErrorCodes.d.ts.map +1 -0
  124. package/dist/error/AuthErrorCodes.mjs +14 -0
  125. package/dist/error/AuthErrorCodes.mjs.map +1 -0
  126. package/dist/error/ClientAuthError.d.ts +232 -412
  127. package/dist/error/ClientAuthError.d.ts.map +1 -1
  128. package/dist/error/ClientAuthError.mjs +248 -520
  129. package/dist/error/ClientAuthError.mjs.map +1 -1
  130. package/dist/error/ClientAuthErrorCodes.d.ts +44 -0
  131. package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -0
  132. package/dist/error/ClientAuthErrorCodes.mjs +52 -0
  133. package/dist/error/ClientAuthErrorCodes.mjs.map +1 -0
  134. package/dist/error/ClientConfigurationError.d.ts +128 -222
  135. package/dist/error/ClientConfigurationError.d.ts.map +1 -1
  136. package/dist/error/ClientConfigurationError.mjs +140 -281
  137. package/dist/error/ClientConfigurationError.mjs.map +1 -1
  138. package/dist/error/ClientConfigurationErrorCodes.d.ts +23 -0
  139. package/dist/error/ClientConfigurationErrorCodes.d.ts.map +1 -0
  140. package/dist/error/ClientConfigurationErrorCodes.mjs +31 -0
  141. package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -0
  142. package/dist/error/InteractionRequiredAuthError.d.ts +57 -59
  143. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  144. package/dist/error/InteractionRequiredAuthError.mjs +80 -79
  145. package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  146. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +6 -0
  147. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -0
  148. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +16 -0
  149. package/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -0
  150. package/dist/error/JoseHeaderError.d.ts +15 -28
  151. package/dist/error/JoseHeaderError.d.ts.map +1 -1
  152. package/dist/error/JoseHeaderError.mjs +24 -40
  153. package/dist/error/JoseHeaderError.mjs.map +1 -1
  154. package/dist/error/JoseHeaderErrorCodes.d.ts +3 -0
  155. package/dist/error/JoseHeaderErrorCodes.d.ts.map +1 -0
  156. package/dist/error/JoseHeaderErrorCodes.mjs +11 -0
  157. package/dist/error/JoseHeaderErrorCodes.mjs.map +1 -0
  158. package/dist/error/ServerError.d.ts +7 -7
  159. package/dist/error/ServerError.mjs +14 -14
  160. package/dist/index.cjs +8715 -9047
  161. package/dist/index.cjs.map +1 -1
  162. package/dist/index.d.ts +96 -96
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.mjs +13 -5
  165. package/dist/index.mjs.map +1 -1
  166. package/dist/logger/Logger.d.ts +95 -95
  167. package/dist/logger/Logger.mjs +188 -188
  168. package/dist/network/INetworkModule.d.ts +29 -29
  169. package/dist/network/INetworkModule.d.ts.map +1 -1
  170. package/dist/network/INetworkModule.mjs +14 -15
  171. package/dist/network/INetworkModule.mjs.map +1 -1
  172. package/dist/network/NetworkManager.d.ts +33 -33
  173. package/dist/network/NetworkManager.d.ts.map +1 -1
  174. package/dist/network/NetworkManager.mjs +36 -35
  175. package/dist/network/NetworkManager.mjs.map +1 -1
  176. package/dist/network/RequestThumbprint.d.ts +16 -16
  177. package/dist/network/ThrottlingUtils.d.ts +42 -42
  178. package/dist/network/ThrottlingUtils.mjs +95 -95
  179. package/dist/packageMetadata.d.ts +2 -2
  180. package/dist/packageMetadata.mjs +3 -3
  181. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  182. package/dist/request/AuthenticationHeaderParser.d.ts.map +1 -1
  183. package/dist/request/AuthenticationHeaderParser.mjs +58 -57
  184. package/dist/request/AuthenticationHeaderParser.mjs.map +1 -1
  185. package/dist/request/BaseAuthRequest.d.ts +40 -40
  186. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  187. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  188. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  189. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  190. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  191. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  192. package/dist/request/CommonRefreshTokenRequest.d.ts +19 -19
  193. package/dist/request/CommonSilentFlowRequest.d.ts +18 -18
  194. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  195. package/dist/request/NativeRequest.d.ts +19 -19
  196. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  197. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  198. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  199. package/dist/request/RequestParameterBuilder.mjs +383 -382
  200. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  201. package/dist/request/RequestValidator.d.ts +33 -33
  202. package/dist/request/RequestValidator.d.ts.map +1 -1
  203. package/dist/request/RequestValidator.mjs +83 -82
  204. package/dist/request/RequestValidator.mjs.map +1 -1
  205. package/dist/request/ScopeSet.d.ts +88 -88
  206. package/dist/request/ScopeSet.d.ts.map +1 -1
  207. package/dist/request/ScopeSet.mjs +201 -199
  208. package/dist/request/ScopeSet.mjs.map +1 -1
  209. package/dist/request/StoreInCache.d.ts +8 -8
  210. package/dist/response/AuthenticationResult.d.ts +41 -41
  211. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  212. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  213. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  214. package/dist/response/IMDSBadResponse.d.ts +4 -4
  215. package/dist/response/ResponseHandler.d.ts +67 -67
  216. package/dist/response/ResponseHandler.d.ts.map +1 -1
  217. package/dist/response/ResponseHandler.mjs +314 -313
  218. package/dist/response/ResponseHandler.mjs.map +1 -1
  219. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  220. package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -46
  221. package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
  222. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  223. package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
  224. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  225. package/dist/telemetry/performance/PerformanceClient.mjs +409 -408
  226. package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
  227. package/dist/telemetry/performance/PerformanceEvent.d.ts +433 -433
  228. package/dist/telemetry/performance/PerformanceEvent.mjs +234 -234
  229. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  230. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  231. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  232. package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  233. package/dist/telemetry/server/ServerTelemetryManager.mjs +197 -197
  234. package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
  235. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  236. package/dist/url/IUri.d.ts +12 -12
  237. package/dist/url/UrlString.d.ts +83 -83
  238. package/dist/url/UrlString.d.ts.map +1 -1
  239. package/dist/url/UrlString.mjs +283 -281
  240. package/dist/url/UrlString.mjs.map +1 -1
  241. package/dist/utils/Constants.d.ts +366 -363
  242. package/dist/utils/Constants.d.ts.map +1 -1
  243. package/dist/utils/Constants.mjs +376 -368
  244. package/dist/utils/Constants.mjs.map +1 -1
  245. package/dist/utils/FunctionWrappers.d.ts +27 -27
  246. package/dist/utils/FunctionWrappers.mjs +85 -85
  247. package/dist/utils/MsalTypes.d.ts +6 -6
  248. package/dist/utils/ProtocolUtils.d.ts +42 -42
  249. package/dist/utils/ProtocolUtils.d.ts.map +1 -1
  250. package/dist/utils/ProtocolUtils.mjs +71 -70
  251. package/dist/utils/ProtocolUtils.mjs.map +1 -1
  252. package/dist/utils/StringUtils.d.ts +40 -40
  253. package/dist/utils/StringUtils.mjs +95 -95
  254. package/dist/utils/TimeUtils.d.ts +27 -27
  255. package/dist/utils/TimeUtils.mjs +45 -45
  256. package/package.json +1 -1
  257. package/src/account/AuthToken.ts +8 -7
  258. package/src/account/ClientInfo.ts +9 -6
  259. package/src/authority/Authority.ts +76 -94
  260. package/src/authority/AuthorityFactory.ts +21 -9
  261. package/src/authority/RegionDiscovery.ts +21 -18
  262. package/src/cache/CacheManager.ts +37 -77
  263. package/src/cache/entities/AccessTokenEntity.ts +7 -2
  264. package/src/cache/entities/AccountEntity.ts +7 -2
  265. package/src/cache/entities/CredentialEntity.ts +7 -2
  266. package/src/client/AuthorizationCodeClient.ts +32 -10
  267. package/src/client/BaseClient.ts +7 -4
  268. package/src/client/RefreshTokenClient.ts +81 -124
  269. package/src/client/SilentFlowClient.ts +72 -19
  270. package/src/config/ClientConfiguration.ts +6 -7
  271. package/src/crypto/ICrypto.ts +13 -28
  272. package/src/crypto/JoseHeader.ts +6 -3
  273. package/src/crypto/PopTokenGenerator.ts +10 -5
  274. package/src/error/AuthError.ts +24 -26
  275. package/src/error/AuthErrorCodes.ts +10 -0
  276. package/src/error/ClientAuthError.ts +227 -632
  277. package/src/error/ClientAuthErrorCodes.ts +51 -0
  278. package/src/error/ClientConfigurationError.ts +146 -332
  279. package/src/error/ClientConfigurationErrorCodes.ts +28 -0
  280. package/src/error/InteractionRequiredAuthError.ts +60 -55
  281. package/src/error/InteractionRequiredAuthErrorCodes.ts +13 -0
  282. package/src/error/JoseHeaderError.ts +11 -31
  283. package/src/error/JoseHeaderErrorCodes.ts +7 -0
  284. package/src/index.ts +12 -1
  285. package/src/network/INetworkModule.ts +10 -7
  286. package/src/network/NetworkManager.ts +5 -5
  287. package/src/request/AuthenticationHeaderParser.ts +11 -8
  288. package/src/request/RequestParameterBuilder.ts +10 -3
  289. package/src/request/RequestValidator.ts +19 -6
  290. package/src/request/ScopeSet.ts +23 -7
  291. package/src/response/ResponseHandler.ts +37 -17
  292. package/src/telemetry/performance/PerformanceClient.ts +2 -1
  293. package/src/telemetry/server/ServerTelemetryManager.ts +1 -1
  294. package/src/url/UrlString.ts +26 -16
  295. package/src/utils/Constants.ts +11 -3
  296. package/src/utils/ProtocolUtils.ts +8 -12
@@ -1,230 +1,231 @@
1
- /*! @azure/msal-common v14.0.3 2023-09-05 */
1
+ /*! @azure/msal-common v14.1.0-alpha.0 2023-09-20 */
2
2
  'use strict';
3
3
  import { Separators, CacheAccountType, Constants } from '../../utils/Constants.mjs';
4
4
  import { buildClientInfo } from '../../account/ClientInfo.mjs';
5
- import { ClientAuthError } from '../../error/ClientAuthError.mjs';
5
+ import { createClientAuthError } from '../../error/ClientAuthError.mjs';
6
6
  import { AuthorityType } from '../../authority/AuthorityType.mjs';
7
7
  import { ProtocolMode } from '../../authority/ProtocolMode.mjs';
8
+ import { invalidCacheEnvironment } from '../../error/ClientAuthErrorCodes.mjs';
8
9
 
9
- /*
10
- * Copyright (c) Microsoft Corporation. All rights reserved.
11
- * Licensed under the MIT License.
12
- */
13
- /**
14
- * Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).
15
- *
16
- * Key : Value Schema
17
- *
18
- * Key: <home_account_id>-<environment>-<realm*>
19
- *
20
- * Value Schema:
21
- * {
22
- * homeAccountId: home account identifier for the auth scheme,
23
- * environment: entity that issued the token, represented as a full host
24
- * realm: Full tenant or organizational identifier that the account belongs to
25
- * localAccountId: Original tenant-specific accountID, usually used for legacy cases
26
- * username: primary username that represents the user, usually corresponds to preferred_username in the v2 endpt
27
- * authorityType: Accounts authority type as a string
28
- * name: Full name for the account, including given name and family name,
29
- * lastModificationTime: last time this entity was modified in the cache
30
- * lastModificationApp:
31
- * idTokenClaims: Object containing claims parsed from ID token
32
- * nativeAccountId: Account identifier on the native device
33
- * }
34
- * @internal
35
- */
36
- class AccountEntity {
37
- /**
38
- * Generate Account Id key component as per the schema: <home_account_id>-<environment>
39
- */
40
- generateAccountId() {
41
- const accountId = [this.homeAccountId, this.environment];
42
- return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
43
- }
44
- /**
45
- * Generate Account Cache Key as per the schema: <home_account_id>-<environment>-<realm*>
46
- */
47
- generateAccountKey() {
48
- return AccountEntity.generateAccountCacheKey({
49
- homeAccountId: this.homeAccountId,
50
- environment: this.environment,
51
- tenantId: this.realm,
52
- username: this.username,
53
- localAccountId: this.localAccountId,
54
- });
55
- }
56
- /**
57
- * Returns the AccountInfo interface for this account.
58
- */
59
- getAccountInfo() {
60
- return {
61
- homeAccountId: this.homeAccountId,
62
- environment: this.environment,
63
- tenantId: this.realm,
64
- username: this.username,
65
- localAccountId: this.localAccountId,
66
- name: this.name,
67
- idTokenClaims: this.idTokenClaims,
68
- nativeAccountId: this.nativeAccountId,
69
- authorityType: this.authorityType,
70
- };
71
- }
72
- /**
73
- * Generates account key from interface
74
- * @param accountInterface
75
- */
76
- static generateAccountCacheKey(accountInterface) {
77
- const accountKey = [
78
- accountInterface.homeAccountId,
79
- accountInterface.environment || Constants.EMPTY_STRING,
80
- accountInterface.tenantId || Constants.EMPTY_STRING,
81
- ];
82
- return accountKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
83
- }
84
- /**
85
- * Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
86
- * @param accountDetails
87
- */
88
- static createAccount(accountDetails, authority) {
89
- const account = new AccountEntity();
90
- if (authority.authorityType === AuthorityType.Adfs) {
91
- account.authorityType = CacheAccountType.ADFS_ACCOUNT_TYPE;
92
- }
93
- else if (authority.protocolMode === ProtocolMode.AAD) {
94
- account.authorityType = CacheAccountType.MSSTS_ACCOUNT_TYPE;
95
- }
96
- else {
97
- account.authorityType = CacheAccountType.GENERIC_ACCOUNT_TYPE;
98
- }
99
- account.clientInfo = accountDetails.clientInfo;
100
- account.homeAccountId = accountDetails.homeAccountId;
101
- account.nativeAccountId = accountDetails.nativeAccountId;
102
- const env = accountDetails.environment ||
103
- (authority && authority.getPreferredCache());
104
- if (!env) {
105
- throw ClientAuthError.createInvalidCacheEnvironmentError();
106
- }
107
- account.environment = env;
108
- // non AAD scenarios can have empty realm
109
- account.realm =
110
- accountDetails.idTokenClaims.tid || Constants.EMPTY_STRING;
111
- account.idTokenClaims = accountDetails.idTokenClaims;
112
- // How do you account for MSA CID here?
113
- account.localAccountId =
114
- accountDetails.idTokenClaims.oid ||
115
- accountDetails.idTokenClaims.sub ||
116
- Constants.EMPTY_STRING;
117
- /*
118
- * In B2C scenarios the emails claim is used instead of preferred_username and it is an array.
119
- * In most cases it will contain a single email. This field should not be relied upon if a custom
120
- * policy is configured to return more than 1 email.
121
- */
122
- const preferredUsername = accountDetails.idTokenClaims.preferred_username ||
123
- accountDetails.idTokenClaims.upn;
124
- const email = accountDetails.idTokenClaims.emails
125
- ? accountDetails.idTokenClaims.emails[0]
126
- : null;
127
- account.username = preferredUsername || email || Constants.EMPTY_STRING;
128
- account.name = accountDetails.idTokenClaims.name;
129
- account.cloudGraphHostName = accountDetails.cloudGraphHostName;
130
- account.msGraphHost = accountDetails.msGraphHost;
131
- return account;
132
- }
133
- /**
134
- * Creates an AccountEntity object from AccountInfo
135
- * @param accountInfo
136
- * @param cloudGraphHostName
137
- * @param msGraphHost
138
- * @returns
139
- */
140
- static createFromAccountInfo(accountInfo, cloudGraphHostName, msGraphHost) {
141
- const account = new AccountEntity();
142
- account.authorityType =
143
- accountInfo.authorityType || CacheAccountType.GENERIC_ACCOUNT_TYPE;
144
- account.homeAccountId = accountInfo.homeAccountId;
145
- account.localAccountId = accountInfo.localAccountId;
146
- account.nativeAccountId = accountInfo.nativeAccountId;
147
- account.realm = accountInfo.tenantId;
148
- account.environment = accountInfo.environment;
149
- account.username = accountInfo.username;
150
- account.name = accountInfo.name;
151
- account.idTokenClaims = accountInfo.idTokenClaims;
152
- account.cloudGraphHostName = cloudGraphHostName;
153
- account.msGraphHost = msGraphHost;
154
- return account;
155
- }
156
- /**
157
- * Generate HomeAccountId from server response
158
- * @param serverClientInfo
159
- * @param authType
160
- */
161
- static generateHomeAccountId(serverClientInfo, authType, logger, cryptoObj, idTokenClaims) {
162
- const accountId = idTokenClaims?.sub
163
- ? idTokenClaims.sub
164
- : Constants.EMPTY_STRING;
165
- // since ADFS does not have tid and does not set client_info
166
- if (authType === AuthorityType.Adfs ||
167
- authType === AuthorityType.Dsts) {
168
- return accountId;
169
- }
170
- // for cases where there is clientInfo
171
- if (serverClientInfo) {
172
- try {
173
- const clientInfo = buildClientInfo(serverClientInfo, cryptoObj);
174
- if (clientInfo.uid && clientInfo.utid) {
175
- return `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`;
176
- }
177
- }
178
- catch (e) { }
179
- }
180
- // default to "sub" claim
181
- logger.verbose("No client info in response");
182
- return accountId;
183
- }
184
- /**
185
- * Validates an entity: checks for all expected params
186
- * @param entity
187
- */
188
- static isAccountEntity(entity) {
189
- if (!entity) {
190
- return false;
191
- }
192
- return (entity.hasOwnProperty("homeAccountId") &&
193
- entity.hasOwnProperty("environment") &&
194
- entity.hasOwnProperty("realm") &&
195
- entity.hasOwnProperty("localAccountId") &&
196
- entity.hasOwnProperty("username") &&
197
- entity.hasOwnProperty("authorityType"));
198
- }
199
- /**
200
- * Helper function to determine whether 2 accountInfo objects represent the same account
201
- * @param accountA
202
- * @param accountB
203
- * @param compareClaims - If set to true idTokenClaims will also be compared to determine account equality
204
- */
205
- static accountInfoIsEqual(accountA, accountB, compareClaims) {
206
- if (!accountA || !accountB) {
207
- return false;
208
- }
209
- let claimsMatch = true; // default to true so as to not fail comparison below if compareClaims: false
210
- if (compareClaims) {
211
- const accountAClaims = (accountA.idTokenClaims ||
212
- {});
213
- const accountBClaims = (accountB.idTokenClaims ||
214
- {});
215
- // issued at timestamp and nonce are expected to change each time a new id token is acquired
216
- claimsMatch =
217
- accountAClaims.iat === accountBClaims.iat &&
218
- accountAClaims.nonce === accountBClaims.nonce;
219
- }
220
- return (accountA.homeAccountId === accountB.homeAccountId &&
221
- accountA.localAccountId === accountB.localAccountId &&
222
- accountA.username === accountB.username &&
223
- accountA.tenantId === accountB.tenantId &&
224
- accountA.environment === accountB.environment &&
225
- accountA.nativeAccountId === accountB.nativeAccountId &&
226
- claimsMatch);
227
- }
10
+ /*
11
+ * Copyright (c) Microsoft Corporation. All rights reserved.
12
+ * Licensed under the MIT License.
13
+ */
14
+ /**
15
+ * Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).
16
+ *
17
+ * Key : Value Schema
18
+ *
19
+ * Key: <home_account_id>-<environment>-<realm*>
20
+ *
21
+ * Value Schema:
22
+ * {
23
+ * homeAccountId: home account identifier for the auth scheme,
24
+ * environment: entity that issued the token, represented as a full host
25
+ * realm: Full tenant or organizational identifier that the account belongs to
26
+ * localAccountId: Original tenant-specific accountID, usually used for legacy cases
27
+ * username: primary username that represents the user, usually corresponds to preferred_username in the v2 endpt
28
+ * authorityType: Accounts authority type as a string
29
+ * name: Full name for the account, including given name and family name,
30
+ * lastModificationTime: last time this entity was modified in the cache
31
+ * lastModificationApp:
32
+ * idTokenClaims: Object containing claims parsed from ID token
33
+ * nativeAccountId: Account identifier on the native device
34
+ * }
35
+ * @internal
36
+ */
37
+ class AccountEntity {
38
+ /**
39
+ * Generate Account Id key component as per the schema: <home_account_id>-<environment>
40
+ */
41
+ generateAccountId() {
42
+ const accountId = [this.homeAccountId, this.environment];
43
+ return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
44
+ }
45
+ /**
46
+ * Generate Account Cache Key as per the schema: <home_account_id>-<environment>-<realm*>
47
+ */
48
+ generateAccountKey() {
49
+ return AccountEntity.generateAccountCacheKey({
50
+ homeAccountId: this.homeAccountId,
51
+ environment: this.environment,
52
+ tenantId: this.realm,
53
+ username: this.username,
54
+ localAccountId: this.localAccountId,
55
+ });
56
+ }
57
+ /**
58
+ * Returns the AccountInfo interface for this account.
59
+ */
60
+ getAccountInfo() {
61
+ return {
62
+ homeAccountId: this.homeAccountId,
63
+ environment: this.environment,
64
+ tenantId: this.realm,
65
+ username: this.username,
66
+ localAccountId: this.localAccountId,
67
+ name: this.name,
68
+ idTokenClaims: this.idTokenClaims,
69
+ nativeAccountId: this.nativeAccountId,
70
+ authorityType: this.authorityType,
71
+ };
72
+ }
73
+ /**
74
+ * Generates account key from interface
75
+ * @param accountInterface
76
+ */
77
+ static generateAccountCacheKey(accountInterface) {
78
+ const accountKey = [
79
+ accountInterface.homeAccountId,
80
+ accountInterface.environment || Constants.EMPTY_STRING,
81
+ accountInterface.tenantId || Constants.EMPTY_STRING,
82
+ ];
83
+ return accountKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
84
+ }
85
+ /**
86
+ * Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
87
+ * @param accountDetails
88
+ */
89
+ static createAccount(accountDetails, authority) {
90
+ const account = new AccountEntity();
91
+ if (authority.authorityType === AuthorityType.Adfs) {
92
+ account.authorityType = CacheAccountType.ADFS_ACCOUNT_TYPE;
93
+ }
94
+ else if (authority.protocolMode === ProtocolMode.AAD) {
95
+ account.authorityType = CacheAccountType.MSSTS_ACCOUNT_TYPE;
96
+ }
97
+ else {
98
+ account.authorityType = CacheAccountType.GENERIC_ACCOUNT_TYPE;
99
+ }
100
+ account.clientInfo = accountDetails.clientInfo;
101
+ account.homeAccountId = accountDetails.homeAccountId;
102
+ account.nativeAccountId = accountDetails.nativeAccountId;
103
+ const env = accountDetails.environment ||
104
+ (authority && authority.getPreferredCache());
105
+ if (!env) {
106
+ throw createClientAuthError(invalidCacheEnvironment);
107
+ }
108
+ account.environment = env;
109
+ // non AAD scenarios can have empty realm
110
+ account.realm =
111
+ accountDetails.idTokenClaims.tid || Constants.EMPTY_STRING;
112
+ account.idTokenClaims = accountDetails.idTokenClaims;
113
+ // How do you account for MSA CID here?
114
+ account.localAccountId =
115
+ accountDetails.idTokenClaims.oid ||
116
+ accountDetails.idTokenClaims.sub ||
117
+ Constants.EMPTY_STRING;
118
+ /*
119
+ * In B2C scenarios the emails claim is used instead of preferred_username and it is an array.
120
+ * In most cases it will contain a single email. This field should not be relied upon if a custom
121
+ * policy is configured to return more than 1 email.
122
+ */
123
+ const preferredUsername = accountDetails.idTokenClaims.preferred_username ||
124
+ accountDetails.idTokenClaims.upn;
125
+ const email = accountDetails.idTokenClaims.emails
126
+ ? accountDetails.idTokenClaims.emails[0]
127
+ : null;
128
+ account.username = preferredUsername || email || Constants.EMPTY_STRING;
129
+ account.name = accountDetails.idTokenClaims.name;
130
+ account.cloudGraphHostName = accountDetails.cloudGraphHostName;
131
+ account.msGraphHost = accountDetails.msGraphHost;
132
+ return account;
133
+ }
134
+ /**
135
+ * Creates an AccountEntity object from AccountInfo
136
+ * @param accountInfo
137
+ * @param cloudGraphHostName
138
+ * @param msGraphHost
139
+ * @returns
140
+ */
141
+ static createFromAccountInfo(accountInfo, cloudGraphHostName, msGraphHost) {
142
+ const account = new AccountEntity();
143
+ account.authorityType =
144
+ accountInfo.authorityType || CacheAccountType.GENERIC_ACCOUNT_TYPE;
145
+ account.homeAccountId = accountInfo.homeAccountId;
146
+ account.localAccountId = accountInfo.localAccountId;
147
+ account.nativeAccountId = accountInfo.nativeAccountId;
148
+ account.realm = accountInfo.tenantId;
149
+ account.environment = accountInfo.environment;
150
+ account.username = accountInfo.username;
151
+ account.name = accountInfo.name;
152
+ account.idTokenClaims = accountInfo.idTokenClaims;
153
+ account.cloudGraphHostName = cloudGraphHostName;
154
+ account.msGraphHost = msGraphHost;
155
+ return account;
156
+ }
157
+ /**
158
+ * Generate HomeAccountId from server response
159
+ * @param serverClientInfo
160
+ * @param authType
161
+ */
162
+ static generateHomeAccountId(serverClientInfo, authType, logger, cryptoObj, idTokenClaims) {
163
+ const accountId = idTokenClaims?.sub
164
+ ? idTokenClaims.sub
165
+ : Constants.EMPTY_STRING;
166
+ // since ADFS does not have tid and does not set client_info
167
+ if (authType === AuthorityType.Adfs ||
168
+ authType === AuthorityType.Dsts) {
169
+ return accountId;
170
+ }
171
+ // for cases where there is clientInfo
172
+ if (serverClientInfo) {
173
+ try {
174
+ const clientInfo = buildClientInfo(serverClientInfo, cryptoObj);
175
+ if (clientInfo.uid && clientInfo.utid) {
176
+ return `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`;
177
+ }
178
+ }
179
+ catch (e) { }
180
+ }
181
+ // default to "sub" claim
182
+ logger.verbose("No client info in response");
183
+ return accountId;
184
+ }
185
+ /**
186
+ * Validates an entity: checks for all expected params
187
+ * @param entity
188
+ */
189
+ static isAccountEntity(entity) {
190
+ if (!entity) {
191
+ return false;
192
+ }
193
+ return (entity.hasOwnProperty("homeAccountId") &&
194
+ entity.hasOwnProperty("environment") &&
195
+ entity.hasOwnProperty("realm") &&
196
+ entity.hasOwnProperty("localAccountId") &&
197
+ entity.hasOwnProperty("username") &&
198
+ entity.hasOwnProperty("authorityType"));
199
+ }
200
+ /**
201
+ * Helper function to determine whether 2 accountInfo objects represent the same account
202
+ * @param accountA
203
+ * @param accountB
204
+ * @param compareClaims - If set to true idTokenClaims will also be compared to determine account equality
205
+ */
206
+ static accountInfoIsEqual(accountA, accountB, compareClaims) {
207
+ if (!accountA || !accountB) {
208
+ return false;
209
+ }
210
+ let claimsMatch = true; // default to true so as to not fail comparison below if compareClaims: false
211
+ if (compareClaims) {
212
+ const accountAClaims = (accountA.idTokenClaims ||
213
+ {});
214
+ const accountBClaims = (accountB.idTokenClaims ||
215
+ {});
216
+ // issued at timestamp and nonce are expected to change each time a new id token is acquired
217
+ claimsMatch =
218
+ accountAClaims.iat === accountBClaims.iat &&
219
+ accountAClaims.nonce === accountBClaims.nonce;
220
+ }
221
+ return (accountA.homeAccountId === accountB.homeAccountId &&
222
+ accountA.localAccountId === accountB.localAccountId &&
223
+ accountA.username === accountB.username &&
224
+ accountA.tenantId === accountB.tenantId &&
225
+ accountA.environment === accountB.environment &&
226
+ accountA.nativeAccountId === accountB.nativeAccountId &&
227
+ claimsMatch);
228
+ }
228
229
  }
229
230
 
230
231
  export { AccountEntity };
@@ -1 +1 @@
1
- {"version":3,"file":"AccountEntity.mjs","sources":["../../../src/cache/entities/AccountEntity.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAMA;AACA;AAEA;AAEA;;;;;;;;;;;;;;;;;;;;AA2BG;AACH;;;AAGS,mBAAS,CAAA;;;;IAId,iBAAa,GAAO;QAChB,MAAG,SAAO,GAAA,CAAA,IAAA,CAAA,aAAA,EAAA,IAAA,CAAA,WAAA,CAAA,CAAA;QACM,OAAA,SAAA,CAAC,IAAE,CAAA,UAAO,CAAA,mBAAA,CAAA,CAAA,WAAA,EAAA,CAAA;KACX;;;;IAInB,kBAAkB,GAAA;AAElB,QAAA,OAAA,aAAA,CAAA,uBAAA,CAAA;;AAEG,YAAA,WAAA,EAAA,IAAA,CAAA,WAAA;AACH,YAAA,QAAA,MAA2B,CAAA,KAAA;AAK3B,YAAA,QAAA,EAAA,IAAA,CAAA,QAAA;;AAEG,SAAA,CAAA,CAAA;AACH,KAAA;AAUA;;AAEG;AACH,IAAA,cAAc;AAcd,QAAA,OAAA;;;AAGG,YAAA,QAAA,EAAA,IAAA,CAAA,KAAA;AACH,YAA8B,QAAA,EAAA,IAAA,CAAA,QAAC;AAU/B,YAAA,cAAA,EAAA,IAAA,CAAA,cAAA;;;AAGG,YAAA,eAAA,EAAA,IAAA,CAAA,eAAA;AACH,YAAO,aACH,EAAA,IAAA,CAAA,aAAgB;SACC,CAAA;;;;;;WAME,uBAAU,CAAA,gBAAA,EAAA;AAC5B,QACQ,MAAA,UAAW,GAAA;AA0DxB,YAAA,gBAAA,CAAA,aAAA;;;;;;AAMG;AACH;AA0BA;;;;AAIG,QAAA,IAAA,SAAA,CAAA,aAAA,KAAA,aAAA,CAAA,IAAA,EAAA;YACyB,OAAA,CAAA,aACxB,GAAgB,kCACN,CAAA;AAgCd,SAAA;;;AAGG,SAAA;AACH,aAAsB;AAetB,YAAA,OAAA,CAAA,aAAA,GAAA,gBAAA,CAAA,oBAAA,CAAA;;;;;AAKG,QAAA,MAAA,GAAA,GAAA,cAAA,CAAA,WAAA;mCAEC,CAAA,iBAAqB;AA+B5B,QAAA,IAAA,CAAA,GAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"AccountEntity.mjs","sources":["../../../src/cache/entities/AccountEntity.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAMA;AACA;AAEA;AAKA;;;;;;;;;;;;;;;;;;;;AA2BG;AACH;;;AAGS,mBAAS,CAAA;;;;IAId,iBAAa,GAAO;QAChB,MAAG,SAAO,GAAA,CAAA,IAAA,CAAA,aAAA,EAAA,IAAA,CAAA,WAAA,CAAA,CAAA;QACM,OAAA,SAAA,CAAC,IAAE,CAAA,UAAO,CAAA,mBAAA,CAAA,CAAA,WAAA,EAAA,CAAA;KACX;;;;IAInB,kBAAkB,GAAA;AAElB,QAAA,OAAA,aAAA,CAAA,uBAAA,CAAA;;AAEG,YAAA,WAAA,EAAA,IAAA,CAAA,WAAA;AACH,YAAA,QAAA,MAA2B,CAAA,KAAA;AAK3B,YAAA,QAAA,EAAA,IAAA,CAAA,QAAA;;AAEG,SAAA,CAAA,CAAA;AACH,KAAA;AAUA;;AAEG;AACH,IAAA,cAAc;AAcd,QAAA,OAAA;;;AAGG,YAAA,QAAA,EAAA,IAAA,CAAA,KAAA;AACH,YAA8B,QAAA,EAAA,IAAA,CAAA,QAAC;AAU/B,YAAA,cAAA,EAAA,IAAA,CAAA,cAAA;;;AAGG,YAAA,eAAA,EAAA,IAAA,CAAA,eAAA;AACH,YAAO,aACH,EAAA,IAAA,CAAA,aAAgB;SACC,CAAA;;;;;;WAME,uBAAU,CAAA,gBAAA,EAAA;AAC5B,QACQ,MAAA,UAAW,GAAA;AA4DxB,YAAA,gBAAA,CAAA,aAAA;;;;;;AAMG;AACH;AA0BA;;;;AAIG,QAAA,IAAA,SAAA,CAAA,aAAA,KAAA,aAAA,CAAA,IAAA,EAAA;YACyB,OAAA,CAAA,aACxB,GAAgB,kCACN,CAAA;AAgCd,SAAA;;;AAGG,SAAA;AACH,aAAsB;AAetB,YAAA,OAAA,CAAA,aAAA,GAAA,gBAAA,CAAA,oBAAA,CAAA;;;;;AAKG,QAAA,MAAA,GAAA,GAAA,cAAA,CAAA,WAAA;mCAEC,CAAA,iBAAqB;AA+B5B,QAAA,IAAA,CAAA,GAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,40 +1,40 @@
1
- /**
2
- * APP_METADATA Cache
3
- *
4
- * Key:Value Schema:
5
- *
6
- * Key: appmetadata-<environment>-<client_id>
7
- *
8
- * Value:
9
- * {
10
- * clientId: client ID of the application
11
- * environment: entity that issued the token, represented as a full host
12
- * familyId: Family ID identifier, '1' represents Microsoft Family
13
- * }
14
- */
15
- export declare class AppMetadataEntity {
16
- clientId: string;
17
- environment: string;
18
- familyId?: string;
19
- /**
20
- * Generate AppMetadata Cache Key as per the schema: appmetadata-<environment>-<client_id>
21
- */
22
- generateAppMetadataKey(): string;
23
- /**
24
- * Generate AppMetadata Cache Key
25
- */
26
- static generateAppMetadataCacheKey(environment: string, clientId: string): string;
27
- /**
28
- * Creates AppMetadataEntity
29
- * @param clientId
30
- * @param environment
31
- * @param familyId
32
- */
33
- static createAppMetadataEntity(clientId: string, environment: string, familyId?: string): AppMetadataEntity;
34
- /**
35
- * Validates an entity: checks for all expected params
36
- * @param entity
37
- */
38
- static isAppMetadataEntity(key: string, entity: object): boolean;
39
- }
1
+ /**
2
+ * APP_METADATA Cache
3
+ *
4
+ * Key:Value Schema:
5
+ *
6
+ * Key: appmetadata-<environment>-<client_id>
7
+ *
8
+ * Value:
9
+ * {
10
+ * clientId: client ID of the application
11
+ * environment: entity that issued the token, represented as a full host
12
+ * familyId: Family ID identifier, '1' represents Microsoft Family
13
+ * }
14
+ */
15
+ export declare class AppMetadataEntity {
16
+ clientId: string;
17
+ environment: string;
18
+ familyId?: string;
19
+ /**
20
+ * Generate AppMetadata Cache Key as per the schema: appmetadata-<environment>-<client_id>
21
+ */
22
+ generateAppMetadataKey(): string;
23
+ /**
24
+ * Generate AppMetadata Cache Key
25
+ */
26
+ static generateAppMetadataCacheKey(environment: string, clientId: string): string;
27
+ /**
28
+ * Creates AppMetadataEntity
29
+ * @param clientId
30
+ * @param environment
31
+ * @param familyId
32
+ */
33
+ static createAppMetadataEntity(clientId: string, environment: string, familyId?: string): AppMetadataEntity;
34
+ /**
35
+ * Validates an entity: checks for all expected params
36
+ * @param entity
37
+ */
38
+ static isAppMetadataEntity(key: string, entity: object): boolean;
39
+ }
40
40
  //# sourceMappingURL=AppMetadataEntity.d.ts.map