@azure/msal-common 14.4.0 → 14.4.1-beta.1

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 (202) hide show
  1. package/dist/account/AccountInfo.d.ts +31 -31
  2. package/dist/account/AuthToken.d.ts +17 -17
  3. package/dist/account/AuthToken.mjs +58 -58
  4. package/dist/account/CcsCredential.d.ts +9 -9
  5. package/dist/account/CcsCredential.mjs +8 -8
  6. package/dist/account/ClientCredentials.d.ts +14 -14
  7. package/dist/account/ClientInfo.d.ts +19 -19
  8. package/dist/account/ClientInfo.mjs +37 -37
  9. package/dist/account/TokenClaims.d.ts +65 -65
  10. package/dist/authority/Authority.d.ts +249 -249
  11. package/dist/authority/Authority.mjs +788 -788
  12. package/dist/authority/AuthorityFactory.d.ts +31 -31
  13. package/dist/authority/AuthorityFactory.mjs +47 -47
  14. package/dist/authority/AuthorityMetadata.d.ts +503 -503
  15. package/dist/authority/AuthorityMetadata.mjs +603 -603
  16. package/dist/authority/AuthorityOptions.d.ts +27 -27
  17. package/dist/authority/AuthorityOptions.mjs +18 -18
  18. package/dist/authority/AuthorityType.d.ts +10 -10
  19. package/dist/authority/AuthorityType.mjs +13 -13
  20. package/dist/authority/AzureRegion.d.ts +1 -1
  21. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  22. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  23. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  24. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  25. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  26. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  27. package/dist/authority/ImdsOptions.d.ts +5 -5
  28. package/dist/authority/OIDCOptions.d.ts +8 -8
  29. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  30. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  31. package/dist/authority/ProtocolMode.d.ts +8 -8
  32. package/dist/authority/ProtocolMode.mjs +11 -11
  33. package/dist/authority/RegionDiscovery.d.ts +32 -32
  34. package/dist/authority/RegionDiscovery.mjs +106 -106
  35. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  36. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  37. package/dist/cache/CacheManager.d.ts +485 -485
  38. package/dist/cache/CacheManager.mjs +1102 -1102
  39. package/dist/cache/entities/AccessTokenEntity.d.ts +25 -25
  40. package/dist/cache/entities/AccountEntity.d.ts +101 -101
  41. package/dist/cache/entities/AccountEntity.mjs +218 -218
  42. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  43. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  44. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  45. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  46. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  47. package/dist/cache/entities/CacheRecord.mjs +14 -14
  48. package/dist/cache/entities/CredentialEntity.d.ts +30 -30
  49. package/dist/cache/entities/IdTokenEntity.d.ts +8 -8
  50. package/dist/cache/entities/RefreshTokenEntity.d.ts +7 -5
  51. package/dist/cache/entities/RefreshTokenEntity.d.ts.map +1 -1
  52. package/dist/cache/entities/ServerTelemetryEntity.d.ts +5 -5
  53. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  54. package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
  55. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  56. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  57. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  58. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  59. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  60. package/dist/cache/utils/CacheHelpers.d.ts +64 -64
  61. package/dist/cache/utils/CacheHelpers.d.ts.map +1 -1
  62. package/dist/cache/utils/CacheHelpers.mjs +234 -231
  63. package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
  64. package/dist/cache/utils/CacheTypes.d.ts +67 -67
  65. package/dist/client/AuthorizationCodeClient.d.ts +74 -74
  66. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  67. package/dist/client/AuthorizationCodeClient.mjs +402 -402
  68. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  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.d.ts.map +1 -1
  73. package/dist/client/RefreshTokenClient.mjs +193 -187
  74. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  75. package/dist/client/SilentFlowClient.d.ts +27 -27
  76. package/dist/client/SilentFlowClient.mjs +118 -118
  77. package/dist/config/AppTokenProvider.d.ts +38 -38
  78. package/dist/config/ClientConfiguration.d.ts +150 -150
  79. package/dist/config/ClientConfiguration.mjs +97 -97
  80. package/dist/crypto/ICrypto.d.ts +58 -58
  81. package/dist/crypto/ICrypto.mjs +30 -30
  82. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  83. package/dist/crypto/JoseHeader.d.ts +22 -22
  84. package/dist/crypto/JoseHeader.mjs +37 -37
  85. package/dist/crypto/PopTokenGenerator.d.ts +60 -60
  86. package/dist/crypto/PopTokenGenerator.mjs +82 -82
  87. package/dist/crypto/SignedHttpRequest.d.ts +15 -15
  88. package/dist/error/AuthError.d.ts +44 -44
  89. package/dist/error/AuthError.mjs +46 -46
  90. package/dist/error/AuthErrorCodes.d.ts +5 -5
  91. package/dist/error/AuthErrorCodes.mjs +9 -9
  92. package/dist/error/ClientAuthError.d.ts +237 -237
  93. package/dist/error/ClientAuthError.mjs +249 -249
  94. package/dist/error/ClientAuthErrorCodes.d.ts +44 -44
  95. package/dist/error/ClientAuthErrorCodes.mjs +48 -48
  96. package/dist/error/ClientConfigurationError.d.ts +128 -128
  97. package/dist/error/ClientConfigurationError.mjs +135 -135
  98. package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
  99. package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
  100. package/dist/error/InteractionRequiredAuthError.d.ts +57 -57
  101. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  102. package/dist/error/InteractionRequiredAuthError.mjs +78 -77
  103. package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  104. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +6 -5
  105. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -1
  106. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +13 -12
  107. package/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -1
  108. package/dist/error/JoseHeaderError.d.ts +15 -15
  109. package/dist/error/JoseHeaderError.mjs +22 -22
  110. package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
  111. package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
  112. package/dist/error/ServerError.d.ts +7 -7
  113. package/dist/error/ServerError.mjs +14 -14
  114. package/dist/index.cjs +8290 -8278
  115. package/dist/index.cjs.map +1 -1
  116. package/dist/index.d.ts +98 -98
  117. package/dist/index.mjs +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/packageMetadata.mjs.map +1 -1
  131. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  132. package/dist/request/AuthenticationHeaderParser.mjs +55 -55
  133. package/dist/request/BaseAuthRequest.d.ts +43 -43
  134. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  135. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  136. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  137. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  138. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  139. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  140. package/dist/request/CommonRefreshTokenRequest.d.ts +23 -22
  141. package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
  142. package/dist/request/CommonSilentFlowRequest.d.ts +21 -20
  143. package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
  144. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  145. package/dist/request/NativeRequest.d.ts +19 -19
  146. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  147. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  148. package/dist/request/RequestParameterBuilder.mjs +381 -381
  149. package/dist/request/RequestValidator.d.ts +33 -33
  150. package/dist/request/RequestValidator.mjs +81 -81
  151. package/dist/request/ScopeSet.d.ts +88 -88
  152. package/dist/request/ScopeSet.mjs +197 -197
  153. package/dist/request/StoreInCache.d.ts +8 -8
  154. package/dist/response/AuthenticationResult.d.ts +41 -41
  155. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  156. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  157. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  158. package/dist/response/IMDSBadResponse.d.ts +4 -4
  159. package/dist/response/ResponseHandler.d.ts +67 -67
  160. package/dist/response/ResponseHandler.d.ts.map +1 -1
  161. package/dist/response/ResponseHandler.mjs +312 -312
  162. package/dist/response/ResponseHandler.mjs.map +1 -1
  163. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  164. package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -46
  165. package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
  166. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  167. package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
  168. package/dist/telemetry/performance/PerformanceClient.mjs +409 -409
  169. package/dist/telemetry/performance/PerformanceEvent.d.ts +464 -464
  170. package/dist/telemetry/performance/PerformanceEvent.mjs +253 -253
  171. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  172. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  173. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  174. package/dist/telemetry/server/ServerTelemetryManager.mjs +201 -201
  175. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  176. package/dist/url/IUri.d.ts +12 -12
  177. package/dist/url/UrlString.d.ts +48 -48
  178. package/dist/url/UrlString.mjs +161 -161
  179. package/dist/utils/Constants.d.ts +365 -365
  180. package/dist/utils/Constants.mjs +375 -375
  181. package/dist/utils/FunctionWrappers.d.ts +27 -27
  182. package/dist/utils/FunctionWrappers.mjs +84 -84
  183. package/dist/utils/MsalTypes.d.ts +6 -6
  184. package/dist/utils/ProtocolUtils.d.ts +42 -42
  185. package/dist/utils/ProtocolUtils.mjs +69 -69
  186. package/dist/utils/StringUtils.d.ts +40 -40
  187. package/dist/utils/StringUtils.mjs +95 -95
  188. package/dist/utils/TimeUtils.d.ts +27 -27
  189. package/dist/utils/TimeUtils.mjs +45 -45
  190. package/dist/utils/UrlUtils.d.ts +10 -10
  191. package/dist/utils/UrlUtils.mjs +44 -44
  192. package/package.json +92 -92
  193. package/src/cache/entities/RefreshTokenEntity.ts +3 -1
  194. package/src/cache/utils/CacheHelpers.ts +6 -1
  195. package/src/client/AuthorizationCodeClient.ts +2 -1
  196. package/src/client/RefreshTokenClient.ts +13 -1
  197. package/src/error/InteractionRequiredAuthError.ts +2 -0
  198. package/src/error/InteractionRequiredAuthErrorCodes.ts +1 -0
  199. package/src/packageMetadata.ts +1 -1
  200. package/src/request/CommonRefreshTokenRequest.ts +1 -0
  201. package/src/request/CommonSilentFlowRequest.ts +1 -0
  202. package/src/response/ResponseHandler.ts +8 -4
@@ -1,379 +1,379 @@
1
- /*! @azure/msal-common v14.4.0 2023-11-07 */
1
+ /*! @azure/msal-common v14.4.1-beta.1 2023-11-14 */
2
2
  'use strict';
3
- /*
4
- * Copyright (c) Microsoft Corporation. All rights reserved.
5
- * Licensed under the MIT License.
6
- */
7
- const Constants = {
8
- LIBRARY_NAME: "MSAL.JS",
9
- SKU: "msal.js.common",
10
- // Prefix for all library cache entries
11
- CACHE_PREFIX: "msal",
12
- // default authority
13
- DEFAULT_AUTHORITY: "https://login.microsoftonline.com/common/",
14
- DEFAULT_AUTHORITY_HOST: "login.microsoftonline.com",
15
- DEFAULT_COMMON_TENANT: "common",
16
- // ADFS String
17
- ADFS: "adfs",
18
- DSTS: "dstsv2",
19
- // Default AAD Instance Discovery Endpoint
20
- AAD_INSTANCE_DISCOVERY_ENDPT: "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=",
21
- // CIAM URL
22
- CIAM_AUTH_URL: ".ciamlogin.com",
23
- AAD_TENANT_DOMAIN_SUFFIX: ".onmicrosoft.com",
24
- // Resource delimiter - used for certain cache entries
25
- RESOURCE_DELIM: "|",
26
- // Placeholder for non-existent account ids/objects
27
- NO_ACCOUNT: "NO_ACCOUNT",
28
- // Claims
29
- CLAIMS: "claims",
30
- // Consumer UTID
31
- CONSUMER_UTID: "9188040d-6c67-4c5b-b112-36a304b66dad",
32
- // Default scopes
33
- OPENID_SCOPE: "openid",
34
- PROFILE_SCOPE: "profile",
35
- OFFLINE_ACCESS_SCOPE: "offline_access",
36
- EMAIL_SCOPE: "email",
37
- // Default response type for authorization code flow
38
- CODE_RESPONSE_TYPE: "code",
39
- CODE_GRANT_TYPE: "authorization_code",
40
- RT_GRANT_TYPE: "refresh_token",
41
- FRAGMENT_RESPONSE_MODE: "fragment",
42
- S256_CODE_CHALLENGE_METHOD: "S256",
43
- URL_FORM_CONTENT_TYPE: "application/x-www-form-urlencoded;charset=utf-8",
44
- AUTHORIZATION_PENDING: "authorization_pending",
45
- NOT_DEFINED: "not_defined",
46
- EMPTY_STRING: "",
47
- NOT_APPLICABLE: "N/A",
48
- FORWARD_SLASH: "/",
49
- IMDS_ENDPOINT: "http://169.254.169.254/metadata/instance/compute/location",
50
- IMDS_VERSION: "2020-06-01",
51
- IMDS_TIMEOUT: 2000,
52
- AZURE_REGION_AUTO_DISCOVER_FLAG: "TryAutoDetect",
53
- REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: "login.microsoft.com",
54
- KNOWN_PUBLIC_CLOUDS: [
55
- "login.microsoftonline.com",
56
- "login.windows.net",
57
- "login.microsoft.com",
58
- "sts.windows.net",
59
- ],
60
- TOKEN_RESPONSE_TYPE: "token",
61
- ID_TOKEN_RESPONSE_TYPE: "id_token",
62
- SHR_NONCE_VALIDITY: 240,
63
- INVALID_INSTANCE: "invalid_instance",
64
- };
65
- const HttpStatus = {
66
- SUCCESS_RANGE_START: 200,
67
- SUCCESS_RANGE_END: 299,
68
- REDIRECT: 302,
69
- CLIENT_ERROR_RANGE_START: 400,
70
- CLIENT_ERROR_RANGE_END: 499,
71
- SERVER_ERROR_RANGE_START: 500,
72
- SERVER_ERROR_RANGE_END: 599,
73
- };
74
- const OIDC_DEFAULT_SCOPES = [
75
- Constants.OPENID_SCOPE,
76
- Constants.PROFILE_SCOPE,
77
- Constants.OFFLINE_ACCESS_SCOPE,
78
- ];
79
- const OIDC_SCOPES = [...OIDC_DEFAULT_SCOPES, Constants.EMAIL_SCOPE];
80
- /**
81
- * Request header names
82
- */
83
- const HeaderNames = {
84
- CONTENT_TYPE: "Content-Type",
85
- RETRY_AFTER: "Retry-After",
86
- CCS_HEADER: "X-AnchorMailbox",
87
- WWWAuthenticate: "WWW-Authenticate",
88
- AuthenticationInfo: "Authentication-Info",
89
- X_MS_REQUEST_ID: "x-ms-request-id",
90
- X_MS_HTTP_VERSION: "x-ms-httpver",
91
- };
92
- /**
93
- * Persistent cache keys MSAL which stay while user is logged in.
94
- */
95
- const PersistentCacheKeys = {
96
- ID_TOKEN: "idtoken",
97
- CLIENT_INFO: "client.info",
98
- ADAL_ID_TOKEN: "adal.idtoken",
99
- ERROR: "error",
100
- ERROR_DESC: "error.description",
101
- ACTIVE_ACCOUNT: "active-account",
102
- ACTIVE_ACCOUNT_FILTERS: "active-account-filters", // new cache entry for active_account for a more robust version for browser
103
- };
104
- /**
105
- * String constants related to AAD Authority
106
- */
107
- const AADAuthorityConstants = {
108
- COMMON: "common",
109
- ORGANIZATIONS: "organizations",
110
- CONSUMERS: "consumers",
111
- };
112
- /**
113
- * Keys in the hashParams sent by AAD Server
114
- */
115
- const AADServerParamKeys = {
116
- CLIENT_ID: "client_id",
117
- REDIRECT_URI: "redirect_uri",
118
- RESPONSE_TYPE: "response_type",
119
- RESPONSE_MODE: "response_mode",
120
- GRANT_TYPE: "grant_type",
121
- CLAIMS: "claims",
122
- SCOPE: "scope",
123
- ERROR: "error",
124
- ERROR_DESCRIPTION: "error_description",
125
- ACCESS_TOKEN: "access_token",
126
- ID_TOKEN: "id_token",
127
- REFRESH_TOKEN: "refresh_token",
128
- EXPIRES_IN: "expires_in",
129
- STATE: "state",
130
- NONCE: "nonce",
131
- PROMPT: "prompt",
132
- SESSION_STATE: "session_state",
133
- CLIENT_INFO: "client_info",
134
- CODE: "code",
135
- CODE_CHALLENGE: "code_challenge",
136
- CODE_CHALLENGE_METHOD: "code_challenge_method",
137
- CODE_VERIFIER: "code_verifier",
138
- CLIENT_REQUEST_ID: "client-request-id",
139
- X_CLIENT_SKU: "x-client-SKU",
140
- X_CLIENT_VER: "x-client-VER",
141
- X_CLIENT_OS: "x-client-OS",
142
- X_CLIENT_CPU: "x-client-CPU",
143
- X_CLIENT_CURR_TELEM: "x-client-current-telemetry",
144
- X_CLIENT_LAST_TELEM: "x-client-last-telemetry",
145
- X_MS_LIB_CAPABILITY: "x-ms-lib-capability",
146
- X_APP_NAME: "x-app-name",
147
- X_APP_VER: "x-app-ver",
148
- POST_LOGOUT_URI: "post_logout_redirect_uri",
149
- ID_TOKEN_HINT: "id_token_hint",
150
- DEVICE_CODE: "device_code",
151
- CLIENT_SECRET: "client_secret",
152
- CLIENT_ASSERTION: "client_assertion",
153
- CLIENT_ASSERTION_TYPE: "client_assertion_type",
154
- TOKEN_TYPE: "token_type",
155
- REQ_CNF: "req_cnf",
156
- OBO_ASSERTION: "assertion",
157
- REQUESTED_TOKEN_USE: "requested_token_use",
158
- ON_BEHALF_OF: "on_behalf_of",
159
- FOCI: "foci",
160
- CCS_HEADER: "X-AnchorMailbox",
161
- RETURN_SPA_CODE: "return_spa_code",
162
- NATIVE_BROKER: "nativebroker",
163
- LOGOUT_HINT: "logout_hint",
164
- };
165
- /**
166
- * Claims request keys
167
- */
168
- const ClaimsRequestKeys = {
169
- ACCESS_TOKEN: "access_token",
170
- XMS_CC: "xms_cc",
171
- };
172
- /**
173
- * we considered making this "enum" in the request instead of string, however it looks like the allowed list of
174
- * prompt values kept changing over past couple of years. There are some undocumented prompt values for some
175
- * internal partners too, hence the choice of generic "string" type instead of the "enum"
176
- */
177
- const PromptValue = {
178
- LOGIN: "login",
179
- SELECT_ACCOUNT: "select_account",
180
- CONSENT: "consent",
181
- NONE: "none",
182
- CREATE: "create",
183
- NO_SESSION: "no_session",
184
- };
185
- /**
186
- * SSO Types - generated to populate hints
187
- */
188
- const SSOTypes = {
189
- ACCOUNT: "account",
190
- SID: "sid",
191
- LOGIN_HINT: "login_hint",
192
- ID_TOKEN: "id_token",
193
- DOMAIN_HINT: "domain_hint",
194
- ORGANIZATIONS: "organizations",
195
- CONSUMERS: "consumers",
196
- ACCOUNT_ID: "accountIdentifier",
197
- HOMEACCOUNT_ID: "homeAccountIdentifier",
198
- };
199
- /**
200
- * allowed values for codeVerifier
201
- */
202
- const CodeChallengeMethodValues = {
203
- PLAIN: "plain",
204
- S256: "S256",
205
- };
206
- /**
207
- * allowed values for server response type
208
- */
209
- const ServerResponseType = {
210
- QUERY: "query",
211
- FRAGMENT: "fragment",
212
- };
213
- /**
214
- * allowed values for response_mode
215
- */
216
- const ResponseMode = {
217
- ...ServerResponseType,
218
- FORM_POST: "form_post",
219
- };
220
- /**
221
- * allowed grant_type
222
- */
223
- const GrantType = {
224
- IMPLICIT_GRANT: "implicit",
225
- AUTHORIZATION_CODE_GRANT: "authorization_code",
226
- CLIENT_CREDENTIALS_GRANT: "client_credentials",
227
- RESOURCE_OWNER_PASSWORD_GRANT: "password",
228
- REFRESH_TOKEN_GRANT: "refresh_token",
229
- DEVICE_CODE_GRANT: "device_code",
230
- JWT_BEARER: "urn:ietf:params:oauth:grant-type:jwt-bearer",
231
- };
232
- /**
233
- * Account types in Cache
234
- */
235
- const CacheAccountType = {
236
- MSSTS_ACCOUNT_TYPE: "MSSTS",
237
- ADFS_ACCOUNT_TYPE: "ADFS",
238
- MSAV1_ACCOUNT_TYPE: "MSA",
239
- GENERIC_ACCOUNT_TYPE: "Generic", // NTLM, Kerberos, FBA, Basic etc
240
- };
241
- /**
242
- * Separators used in cache
243
- */
244
- const Separators = {
245
- CACHE_KEY_SEPARATOR: "-",
246
- CLIENT_INFO_SEPARATOR: ".",
247
- };
248
- /**
249
- * Credential Type stored in the cache
250
- */
251
- const CredentialType = {
252
- ID_TOKEN: "IdToken",
253
- ACCESS_TOKEN: "AccessToken",
254
- ACCESS_TOKEN_WITH_AUTH_SCHEME: "AccessToken_With_AuthScheme",
255
- REFRESH_TOKEN: "RefreshToken",
256
- };
257
- /**
258
- * Combine all cache types
259
- */
260
- const CacheType = {
261
- ADFS: 1001,
262
- MSA: 1002,
263
- MSSTS: 1003,
264
- GENERIC: 1004,
265
- ACCESS_TOKEN: 2001,
266
- REFRESH_TOKEN: 2002,
267
- ID_TOKEN: 2003,
268
- APP_METADATA: 3001,
269
- UNDEFINED: 9999,
270
- };
271
- /**
272
- * More Cache related constants
273
- */
274
- const APP_METADATA = "appmetadata";
275
- const CLIENT_INFO = "client_info";
276
- const THE_FAMILY_ID = "1";
277
- const AUTHORITY_METADATA_CONSTANTS = {
278
- CACHE_KEY: "authority-metadata",
279
- REFRESH_TIME_SECONDS: 3600 * 24, // 24 Hours
280
- };
281
- const AuthorityMetadataSource = {
282
- CONFIG: "config",
283
- CACHE: "cache",
284
- NETWORK: "network",
285
- HARDCODED_VALUES: "hardcoded_values",
286
- };
287
- const SERVER_TELEM_CONSTANTS = {
288
- SCHEMA_VERSION: 5,
289
- MAX_CUR_HEADER_BYTES: 80,
290
- MAX_LAST_HEADER_BYTES: 330,
291
- MAX_CACHED_ERRORS: 50,
292
- CACHE_KEY: "server-telemetry",
293
- CATEGORY_SEPARATOR: "|",
294
- VALUE_SEPARATOR: ",",
295
- OVERFLOW_TRUE: "1",
296
- OVERFLOW_FALSE: "0",
297
- UNKNOWN_ERROR: "unknown_error",
298
- };
299
- /**
300
- * Type of the authentication request
301
- */
302
- const AuthenticationScheme = {
303
- BEARER: "Bearer",
304
- POP: "pop",
305
- SSH: "ssh-cert",
306
- };
307
- /**
308
- * Constants related to throttling
309
- */
310
- const ThrottlingConstants = {
311
- // Default time to throttle RequestThumbprint in seconds
312
- DEFAULT_THROTTLE_TIME_SECONDS: 60,
313
- // Default maximum time to throttle in seconds, overrides what the server sends back
314
- DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,
315
- // Prefix for storing throttling entries
316
- THROTTLING_PREFIX: "throttling",
317
- // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling
318
- X_MS_LIB_CAPABILITY_VALUE: "retry-after, h429",
319
- };
320
- const Errors = {
321
- INVALID_GRANT_ERROR: "invalid_grant",
322
- CLIENT_MISMATCH_ERROR: "client_mismatch",
323
- };
324
- /**
325
- * Password grant parameters
326
- */
327
- const PasswordGrantConstants = {
328
- username: "username",
329
- password: "password",
330
- };
331
- /**
332
- * Response codes
333
- */
334
- const ResponseCodes = {
335
- httpSuccess: 200,
336
- httpBadRequest: 400,
337
- };
338
- /**
339
- * Region Discovery Sources
340
- */
341
- const RegionDiscoverySources = {
342
- FAILED_AUTO_DETECTION: "1",
343
- INTERNAL_CACHE: "2",
344
- ENVIRONMENT_VARIABLE: "3",
345
- IMDS: "4",
346
- };
347
- /**
348
- * Region Discovery Outcomes
349
- */
350
- const RegionDiscoveryOutcomes = {
351
- CONFIGURED_MATCHES_DETECTED: "1",
352
- CONFIGURED_NO_AUTO_DETECTION: "2",
353
- CONFIGURED_NOT_DETECTED: "3",
354
- AUTO_DETECTION_REQUESTED_SUCCESSFUL: "4",
355
- AUTO_DETECTION_REQUESTED_FAILED: "5",
356
- };
357
- /**
358
- * Specifies the reason for fetching the access token from the identity provider
359
- */
360
- const CacheOutcome = {
361
- // When a token is found in the cache or the cache is not supposed to be hit when making the request
362
- NOT_APPLICABLE: "0",
363
- // When the token request goes to the identity provider because force_refresh was set to true. Also occurs if claims were requested
364
- FORCE_REFRESH_OR_CLAIMS: "1",
365
- // When the token request goes to the identity provider because no cached access token exists
366
- NO_CACHED_ACCESS_TOKEN: "2",
367
- // When the token request goes to the identity provider because cached access token expired
368
- CACHED_ACCESS_TOKEN_EXPIRED: "3",
369
- // When the token request goes to the identity provider because refresh_in was used and the existing token needs to be refreshed
370
- PROACTIVELY_REFRESHED: "4",
371
- };
372
- const JsonWebTokenTypes = {
373
- Jwt: "JWT",
374
- Jwk: "JWK",
375
- Pop: "pop",
376
- };
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ const Constants = {
8
+ LIBRARY_NAME: "MSAL.JS",
9
+ SKU: "msal.js.common",
10
+ // Prefix for all library cache entries
11
+ CACHE_PREFIX: "msal",
12
+ // default authority
13
+ DEFAULT_AUTHORITY: "https://login.microsoftonline.com/common/",
14
+ DEFAULT_AUTHORITY_HOST: "login.microsoftonline.com",
15
+ DEFAULT_COMMON_TENANT: "common",
16
+ // ADFS String
17
+ ADFS: "adfs",
18
+ DSTS: "dstsv2",
19
+ // Default AAD Instance Discovery Endpoint
20
+ AAD_INSTANCE_DISCOVERY_ENDPT: "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=",
21
+ // CIAM URL
22
+ CIAM_AUTH_URL: ".ciamlogin.com",
23
+ AAD_TENANT_DOMAIN_SUFFIX: ".onmicrosoft.com",
24
+ // Resource delimiter - used for certain cache entries
25
+ RESOURCE_DELIM: "|",
26
+ // Placeholder for non-existent account ids/objects
27
+ NO_ACCOUNT: "NO_ACCOUNT",
28
+ // Claims
29
+ CLAIMS: "claims",
30
+ // Consumer UTID
31
+ CONSUMER_UTID: "9188040d-6c67-4c5b-b112-36a304b66dad",
32
+ // Default scopes
33
+ OPENID_SCOPE: "openid",
34
+ PROFILE_SCOPE: "profile",
35
+ OFFLINE_ACCESS_SCOPE: "offline_access",
36
+ EMAIL_SCOPE: "email",
37
+ // Default response type for authorization code flow
38
+ CODE_RESPONSE_TYPE: "code",
39
+ CODE_GRANT_TYPE: "authorization_code",
40
+ RT_GRANT_TYPE: "refresh_token",
41
+ FRAGMENT_RESPONSE_MODE: "fragment",
42
+ S256_CODE_CHALLENGE_METHOD: "S256",
43
+ URL_FORM_CONTENT_TYPE: "application/x-www-form-urlencoded;charset=utf-8",
44
+ AUTHORIZATION_PENDING: "authorization_pending",
45
+ NOT_DEFINED: "not_defined",
46
+ EMPTY_STRING: "",
47
+ NOT_APPLICABLE: "N/A",
48
+ FORWARD_SLASH: "/",
49
+ IMDS_ENDPOINT: "http://169.254.169.254/metadata/instance/compute/location",
50
+ IMDS_VERSION: "2020-06-01",
51
+ IMDS_TIMEOUT: 2000,
52
+ AZURE_REGION_AUTO_DISCOVER_FLAG: "TryAutoDetect",
53
+ REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: "login.microsoft.com",
54
+ KNOWN_PUBLIC_CLOUDS: [
55
+ "login.microsoftonline.com",
56
+ "login.windows.net",
57
+ "login.microsoft.com",
58
+ "sts.windows.net",
59
+ ],
60
+ TOKEN_RESPONSE_TYPE: "token",
61
+ ID_TOKEN_RESPONSE_TYPE: "id_token",
62
+ SHR_NONCE_VALIDITY: 240,
63
+ INVALID_INSTANCE: "invalid_instance",
64
+ };
65
+ const HttpStatus = {
66
+ SUCCESS_RANGE_START: 200,
67
+ SUCCESS_RANGE_END: 299,
68
+ REDIRECT: 302,
69
+ CLIENT_ERROR_RANGE_START: 400,
70
+ CLIENT_ERROR_RANGE_END: 499,
71
+ SERVER_ERROR_RANGE_START: 500,
72
+ SERVER_ERROR_RANGE_END: 599,
73
+ };
74
+ const OIDC_DEFAULT_SCOPES = [
75
+ Constants.OPENID_SCOPE,
76
+ Constants.PROFILE_SCOPE,
77
+ Constants.OFFLINE_ACCESS_SCOPE,
78
+ ];
79
+ const OIDC_SCOPES = [...OIDC_DEFAULT_SCOPES, Constants.EMAIL_SCOPE];
80
+ /**
81
+ * Request header names
82
+ */
83
+ const HeaderNames = {
84
+ CONTENT_TYPE: "Content-Type",
85
+ RETRY_AFTER: "Retry-After",
86
+ CCS_HEADER: "X-AnchorMailbox",
87
+ WWWAuthenticate: "WWW-Authenticate",
88
+ AuthenticationInfo: "Authentication-Info",
89
+ X_MS_REQUEST_ID: "x-ms-request-id",
90
+ X_MS_HTTP_VERSION: "x-ms-httpver",
91
+ };
92
+ /**
93
+ * Persistent cache keys MSAL which stay while user is logged in.
94
+ */
95
+ const PersistentCacheKeys = {
96
+ ID_TOKEN: "idtoken",
97
+ CLIENT_INFO: "client.info",
98
+ ADAL_ID_TOKEN: "adal.idtoken",
99
+ ERROR: "error",
100
+ ERROR_DESC: "error.description",
101
+ ACTIVE_ACCOUNT: "active-account",
102
+ ACTIVE_ACCOUNT_FILTERS: "active-account-filters", // new cache entry for active_account for a more robust version for browser
103
+ };
104
+ /**
105
+ * String constants related to AAD Authority
106
+ */
107
+ const AADAuthorityConstants = {
108
+ COMMON: "common",
109
+ ORGANIZATIONS: "organizations",
110
+ CONSUMERS: "consumers",
111
+ };
112
+ /**
113
+ * Keys in the hashParams sent by AAD Server
114
+ */
115
+ const AADServerParamKeys = {
116
+ CLIENT_ID: "client_id",
117
+ REDIRECT_URI: "redirect_uri",
118
+ RESPONSE_TYPE: "response_type",
119
+ RESPONSE_MODE: "response_mode",
120
+ GRANT_TYPE: "grant_type",
121
+ CLAIMS: "claims",
122
+ SCOPE: "scope",
123
+ ERROR: "error",
124
+ ERROR_DESCRIPTION: "error_description",
125
+ ACCESS_TOKEN: "access_token",
126
+ ID_TOKEN: "id_token",
127
+ REFRESH_TOKEN: "refresh_token",
128
+ EXPIRES_IN: "expires_in",
129
+ STATE: "state",
130
+ NONCE: "nonce",
131
+ PROMPT: "prompt",
132
+ SESSION_STATE: "session_state",
133
+ CLIENT_INFO: "client_info",
134
+ CODE: "code",
135
+ CODE_CHALLENGE: "code_challenge",
136
+ CODE_CHALLENGE_METHOD: "code_challenge_method",
137
+ CODE_VERIFIER: "code_verifier",
138
+ CLIENT_REQUEST_ID: "client-request-id",
139
+ X_CLIENT_SKU: "x-client-SKU",
140
+ X_CLIENT_VER: "x-client-VER",
141
+ X_CLIENT_OS: "x-client-OS",
142
+ X_CLIENT_CPU: "x-client-CPU",
143
+ X_CLIENT_CURR_TELEM: "x-client-current-telemetry",
144
+ X_CLIENT_LAST_TELEM: "x-client-last-telemetry",
145
+ X_MS_LIB_CAPABILITY: "x-ms-lib-capability",
146
+ X_APP_NAME: "x-app-name",
147
+ X_APP_VER: "x-app-ver",
148
+ POST_LOGOUT_URI: "post_logout_redirect_uri",
149
+ ID_TOKEN_HINT: "id_token_hint",
150
+ DEVICE_CODE: "device_code",
151
+ CLIENT_SECRET: "client_secret",
152
+ CLIENT_ASSERTION: "client_assertion",
153
+ CLIENT_ASSERTION_TYPE: "client_assertion_type",
154
+ TOKEN_TYPE: "token_type",
155
+ REQ_CNF: "req_cnf",
156
+ OBO_ASSERTION: "assertion",
157
+ REQUESTED_TOKEN_USE: "requested_token_use",
158
+ ON_BEHALF_OF: "on_behalf_of",
159
+ FOCI: "foci",
160
+ CCS_HEADER: "X-AnchorMailbox",
161
+ RETURN_SPA_CODE: "return_spa_code",
162
+ NATIVE_BROKER: "nativebroker",
163
+ LOGOUT_HINT: "logout_hint",
164
+ };
165
+ /**
166
+ * Claims request keys
167
+ */
168
+ const ClaimsRequestKeys = {
169
+ ACCESS_TOKEN: "access_token",
170
+ XMS_CC: "xms_cc",
171
+ };
172
+ /**
173
+ * we considered making this "enum" in the request instead of string, however it looks like the allowed list of
174
+ * prompt values kept changing over past couple of years. There are some undocumented prompt values for some
175
+ * internal partners too, hence the choice of generic "string" type instead of the "enum"
176
+ */
177
+ const PromptValue = {
178
+ LOGIN: "login",
179
+ SELECT_ACCOUNT: "select_account",
180
+ CONSENT: "consent",
181
+ NONE: "none",
182
+ CREATE: "create",
183
+ NO_SESSION: "no_session",
184
+ };
185
+ /**
186
+ * SSO Types - generated to populate hints
187
+ */
188
+ const SSOTypes = {
189
+ ACCOUNT: "account",
190
+ SID: "sid",
191
+ LOGIN_HINT: "login_hint",
192
+ ID_TOKEN: "id_token",
193
+ DOMAIN_HINT: "domain_hint",
194
+ ORGANIZATIONS: "organizations",
195
+ CONSUMERS: "consumers",
196
+ ACCOUNT_ID: "accountIdentifier",
197
+ HOMEACCOUNT_ID: "homeAccountIdentifier",
198
+ };
199
+ /**
200
+ * allowed values for codeVerifier
201
+ */
202
+ const CodeChallengeMethodValues = {
203
+ PLAIN: "plain",
204
+ S256: "S256",
205
+ };
206
+ /**
207
+ * allowed values for server response type
208
+ */
209
+ const ServerResponseType = {
210
+ QUERY: "query",
211
+ FRAGMENT: "fragment",
212
+ };
213
+ /**
214
+ * allowed values for response_mode
215
+ */
216
+ const ResponseMode = {
217
+ ...ServerResponseType,
218
+ FORM_POST: "form_post",
219
+ };
220
+ /**
221
+ * allowed grant_type
222
+ */
223
+ const GrantType = {
224
+ IMPLICIT_GRANT: "implicit",
225
+ AUTHORIZATION_CODE_GRANT: "authorization_code",
226
+ CLIENT_CREDENTIALS_GRANT: "client_credentials",
227
+ RESOURCE_OWNER_PASSWORD_GRANT: "password",
228
+ REFRESH_TOKEN_GRANT: "refresh_token",
229
+ DEVICE_CODE_GRANT: "device_code",
230
+ JWT_BEARER: "urn:ietf:params:oauth:grant-type:jwt-bearer",
231
+ };
232
+ /**
233
+ * Account types in Cache
234
+ */
235
+ const CacheAccountType = {
236
+ MSSTS_ACCOUNT_TYPE: "MSSTS",
237
+ ADFS_ACCOUNT_TYPE: "ADFS",
238
+ MSAV1_ACCOUNT_TYPE: "MSA",
239
+ GENERIC_ACCOUNT_TYPE: "Generic", // NTLM, Kerberos, FBA, Basic etc
240
+ };
241
+ /**
242
+ * Separators used in cache
243
+ */
244
+ const Separators = {
245
+ CACHE_KEY_SEPARATOR: "-",
246
+ CLIENT_INFO_SEPARATOR: ".",
247
+ };
248
+ /**
249
+ * Credential Type stored in the cache
250
+ */
251
+ const CredentialType = {
252
+ ID_TOKEN: "IdToken",
253
+ ACCESS_TOKEN: "AccessToken",
254
+ ACCESS_TOKEN_WITH_AUTH_SCHEME: "AccessToken_With_AuthScheme",
255
+ REFRESH_TOKEN: "RefreshToken",
256
+ };
257
+ /**
258
+ * Combine all cache types
259
+ */
260
+ const CacheType = {
261
+ ADFS: 1001,
262
+ MSA: 1002,
263
+ MSSTS: 1003,
264
+ GENERIC: 1004,
265
+ ACCESS_TOKEN: 2001,
266
+ REFRESH_TOKEN: 2002,
267
+ ID_TOKEN: 2003,
268
+ APP_METADATA: 3001,
269
+ UNDEFINED: 9999,
270
+ };
271
+ /**
272
+ * More Cache related constants
273
+ */
274
+ const APP_METADATA = "appmetadata";
275
+ const CLIENT_INFO = "client_info";
276
+ const THE_FAMILY_ID = "1";
277
+ const AUTHORITY_METADATA_CONSTANTS = {
278
+ CACHE_KEY: "authority-metadata",
279
+ REFRESH_TIME_SECONDS: 3600 * 24, // 24 Hours
280
+ };
281
+ const AuthorityMetadataSource = {
282
+ CONFIG: "config",
283
+ CACHE: "cache",
284
+ NETWORK: "network",
285
+ HARDCODED_VALUES: "hardcoded_values",
286
+ };
287
+ const SERVER_TELEM_CONSTANTS = {
288
+ SCHEMA_VERSION: 5,
289
+ MAX_CUR_HEADER_BYTES: 80,
290
+ MAX_LAST_HEADER_BYTES: 330,
291
+ MAX_CACHED_ERRORS: 50,
292
+ CACHE_KEY: "server-telemetry",
293
+ CATEGORY_SEPARATOR: "|",
294
+ VALUE_SEPARATOR: ",",
295
+ OVERFLOW_TRUE: "1",
296
+ OVERFLOW_FALSE: "0",
297
+ UNKNOWN_ERROR: "unknown_error",
298
+ };
299
+ /**
300
+ * Type of the authentication request
301
+ */
302
+ const AuthenticationScheme = {
303
+ BEARER: "Bearer",
304
+ POP: "pop",
305
+ SSH: "ssh-cert",
306
+ };
307
+ /**
308
+ * Constants related to throttling
309
+ */
310
+ const ThrottlingConstants = {
311
+ // Default time to throttle RequestThumbprint in seconds
312
+ DEFAULT_THROTTLE_TIME_SECONDS: 60,
313
+ // Default maximum time to throttle in seconds, overrides what the server sends back
314
+ DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,
315
+ // Prefix for storing throttling entries
316
+ THROTTLING_PREFIX: "throttling",
317
+ // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling
318
+ X_MS_LIB_CAPABILITY_VALUE: "retry-after, h429",
319
+ };
320
+ const Errors = {
321
+ INVALID_GRANT_ERROR: "invalid_grant",
322
+ CLIENT_MISMATCH_ERROR: "client_mismatch",
323
+ };
324
+ /**
325
+ * Password grant parameters
326
+ */
327
+ const PasswordGrantConstants = {
328
+ username: "username",
329
+ password: "password",
330
+ };
331
+ /**
332
+ * Response codes
333
+ */
334
+ const ResponseCodes = {
335
+ httpSuccess: 200,
336
+ httpBadRequest: 400,
337
+ };
338
+ /**
339
+ * Region Discovery Sources
340
+ */
341
+ const RegionDiscoverySources = {
342
+ FAILED_AUTO_DETECTION: "1",
343
+ INTERNAL_CACHE: "2",
344
+ ENVIRONMENT_VARIABLE: "3",
345
+ IMDS: "4",
346
+ };
347
+ /**
348
+ * Region Discovery Outcomes
349
+ */
350
+ const RegionDiscoveryOutcomes = {
351
+ CONFIGURED_MATCHES_DETECTED: "1",
352
+ CONFIGURED_NO_AUTO_DETECTION: "2",
353
+ CONFIGURED_NOT_DETECTED: "3",
354
+ AUTO_DETECTION_REQUESTED_SUCCESSFUL: "4",
355
+ AUTO_DETECTION_REQUESTED_FAILED: "5",
356
+ };
357
+ /**
358
+ * Specifies the reason for fetching the access token from the identity provider
359
+ */
360
+ const CacheOutcome = {
361
+ // When a token is found in the cache or the cache is not supposed to be hit when making the request
362
+ NOT_APPLICABLE: "0",
363
+ // When the token request goes to the identity provider because force_refresh was set to true. Also occurs if claims were requested
364
+ FORCE_REFRESH_OR_CLAIMS: "1",
365
+ // When the token request goes to the identity provider because no cached access token exists
366
+ NO_CACHED_ACCESS_TOKEN: "2",
367
+ // When the token request goes to the identity provider because cached access token expired
368
+ CACHED_ACCESS_TOKEN_EXPIRED: "3",
369
+ // When the token request goes to the identity provider because refresh_in was used and the existing token needs to be refreshed
370
+ PROACTIVELY_REFRESHED: "4",
371
+ };
372
+ const JsonWebTokenTypes = {
373
+ Jwt: "JWT",
374
+ Jwk: "JWK",
375
+ Pop: "pop",
376
+ };
377
377
  const ONE_DAY_IN_MS = 86400000;
378
378
 
379
379
  export { AADAuthorityConstants, AADServerParamKeys, APP_METADATA, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme, AuthorityMetadataSource, CLIENT_INFO, CacheAccountType, CacheOutcome, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, Errors, GrantType, HeaderNames, HttpStatus, JsonWebTokenTypes, OIDC_DEFAULT_SCOPES, OIDC_SCOPES, ONE_DAY_IN_MS, PasswordGrantConstants, PersistentCacheKeys, PromptValue, RegionDiscoveryOutcomes, RegionDiscoverySources, ResponseCodes, ResponseMode, SERVER_TELEM_CONSTANTS, SSOTypes, Separators, ServerResponseType, THE_FAMILY_ID, ThrottlingConstants };