@azure/msal-common 14.13.0 → 14.14.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.
- package/dist/account/AccountInfo.d.ts +9 -1
- package/dist/account/AccountInfo.d.ts.map +1 -1
- package/dist/account/AccountInfo.mjs +35 -18
- package/dist/account/AccountInfo.mjs.map +1 -1
- package/dist/account/AuthToken.mjs +1 -1
- package/dist/account/CcsCredential.mjs +1 -1
- package/dist/account/ClientInfo.mjs +1 -1
- package/dist/account/TokenClaims.mjs +1 -1
- package/dist/authority/Authority.mjs +1 -1
- package/dist/authority/AuthorityFactory.mjs +1 -1
- package/dist/authority/AuthorityMetadata.mjs +1 -1
- package/dist/authority/AuthorityOptions.mjs +1 -1
- package/dist/authority/AuthorityType.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
- package/dist/authority/OpenIdConfigResponse.mjs +1 -1
- package/dist/authority/ProtocolMode.mjs +1 -1
- package/dist/authority/RegionDiscovery.mjs +1 -1
- package/dist/cache/CacheManager.d.ts +0 -1
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.mjs +2 -5
- package/dist/cache/CacheManager.mjs.map +1 -1
- package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
- package/dist/cache/entities/AccountEntity.mjs +4 -8
- package/dist/cache/entities/AccountEntity.mjs.map +1 -1
- package/dist/cache/entities/ServerTelemetryEntity.d.ts +1 -0
- package/dist/cache/entities/ServerTelemetryEntity.d.ts.map +1 -1
- package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist/cache/utils/CacheHelpers.mjs +1 -1
- package/dist/client/AuthorizationCodeClient.mjs +1 -1
- package/dist/client/BaseClient.mjs +1 -1
- package/dist/client/RefreshTokenClient.mjs +1 -1
- package/dist/client/SilentFlowClient.mjs +1 -1
- package/dist/config/ClientConfiguration.mjs +1 -1
- package/dist/constants/AADServerParamKeys.d.ts +1 -0
- package/dist/constants/AADServerParamKeys.d.ts.map +1 -1
- package/dist/constants/AADServerParamKeys.mjs +3 -2
- package/dist/constants/AADServerParamKeys.mjs.map +1 -1
- package/dist/crypto/ICrypto.mjs +1 -1
- package/dist/crypto/JoseHeader.mjs +1 -1
- package/dist/crypto/PopTokenGenerator.mjs +1 -1
- package/dist/error/AuthError.mjs +1 -1
- package/dist/error/AuthErrorCodes.mjs +1 -1
- package/dist/error/CacheError.mjs +1 -1
- package/dist/error/CacheErrorCodes.mjs +1 -1
- package/dist/error/ClientAuthError.mjs +1 -1
- package/dist/error/ClientAuthErrorCodes.mjs +1 -1
- package/dist/error/ClientConfigurationError.mjs +1 -1
- package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
- package/dist/error/InteractionRequiredAuthError.mjs +1 -1
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
- package/dist/error/JoseHeaderError.mjs +1 -1
- package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
- package/dist/error/ServerError.mjs +1 -1
- package/dist/index.cjs +105 -34
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/logger/Logger.mjs +1 -1
- package/dist/network/INetworkModule.mjs +1 -1
- package/dist/network/NetworkManager.mjs +1 -1
- package/dist/network/ThrottlingUtils.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/request/AuthenticationHeaderParser.mjs +1 -1
- package/dist/request/RequestParameterBuilder.mjs +1 -1
- package/dist/request/RequestValidator.mjs +1 -1
- package/dist/request/ScopeSet.mjs +1 -1
- package/dist/response/ResponseHandler.d.ts.map +1 -1
- package/dist/response/ResponseHandler.mjs +6 -6
- package/dist/response/ResponseHandler.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.d.ts +12 -0
- package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.mjs +61 -2
- package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
- package/dist/url/UrlString.mjs +1 -1
- package/dist/utils/ClientAssertionUtils.mjs +1 -1
- package/dist/utils/Constants.mjs +1 -1
- package/dist/utils/FunctionWrappers.mjs +1 -1
- package/dist/utils/ProtocolUtils.mjs +1 -1
- package/dist/utils/StringUtils.mjs +1 -1
- package/dist/utils/TimeUtils.mjs +1 -1
- package/dist/utils/UrlUtils.mjs +1 -1
- package/package.json +1 -1
- package/src/account/AccountInfo.ts +37 -17
- package/src/cache/CacheManager.ts +2 -12
- package/src/cache/entities/AccountEntity.ts +8 -10
- package/src/cache/entities/ServerTelemetryEntity.ts +1 -0
- package/src/constants/AADServerParamKeys.ts +1 -0
- package/src/index.ts +1 -1
- package/src/packageMetadata.ts +1 -1
- package/src/response/ResponseHandler.ts +7 -6
- package/src/telemetry/server/ServerTelemetryManager.ts +95 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.14.0 2024-07-23 */
|
|
2
2
|
'use strict';
|
|
3
3
|
/*
|
|
4
4
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -56,6 +56,7 @@ const LOGOUT_HINT = "logout_hint";
|
|
|
56
56
|
const SID = "sid";
|
|
57
57
|
const LOGIN_HINT = "login_hint";
|
|
58
58
|
const DOMAIN_HINT = "domain_hint";
|
|
59
|
+
const X_CLIENT_EXTRA_SKU = "x-client-xtra-sku";
|
|
59
60
|
|
|
60
|
-
export { ACCESS_TOKEN, CCS_HEADER, CLAIMS, CLIENT_ASSERTION, CLIENT_ASSERTION_TYPE, CLIENT_ID, CLIENT_INFO, CLIENT_REQUEST_ID, CLIENT_SECRET, CODE, CODE_CHALLENGE, CODE_CHALLENGE_METHOD, CODE_VERIFIER, DEVICE_CODE, DOMAIN_HINT, ERROR, ERROR_DESCRIPTION, EXPIRES_IN, FOCI, GRANT_TYPE, ID_TOKEN, ID_TOKEN_HINT, LOGIN_HINT, LOGOUT_HINT, NATIVE_BROKER, NONCE, OBO_ASSERTION, ON_BEHALF_OF, POST_LOGOUT_URI, PROMPT, REDIRECT_URI, REFRESH_TOKEN, REFRESH_TOKEN_EXPIRES_IN, REQUESTED_TOKEN_USE, REQ_CNF, RESPONSE_MODE, RESPONSE_TYPE, RETURN_SPA_CODE, SCOPE, SESSION_STATE, SID, STATE, TOKEN_TYPE, X_APP_NAME, X_APP_VER, X_CLIENT_CPU, X_CLIENT_CURR_TELEM, X_CLIENT_LAST_TELEM, X_CLIENT_OS, X_CLIENT_SKU, X_CLIENT_VER, X_MS_LIB_CAPABILITY };
|
|
61
|
+
export { ACCESS_TOKEN, CCS_HEADER, CLAIMS, CLIENT_ASSERTION, CLIENT_ASSERTION_TYPE, CLIENT_ID, CLIENT_INFO, CLIENT_REQUEST_ID, CLIENT_SECRET, CODE, CODE_CHALLENGE, CODE_CHALLENGE_METHOD, CODE_VERIFIER, DEVICE_CODE, DOMAIN_HINT, ERROR, ERROR_DESCRIPTION, EXPIRES_IN, FOCI, GRANT_TYPE, ID_TOKEN, ID_TOKEN_HINT, LOGIN_HINT, LOGOUT_HINT, NATIVE_BROKER, NONCE, OBO_ASSERTION, ON_BEHALF_OF, POST_LOGOUT_URI, PROMPT, REDIRECT_URI, REFRESH_TOKEN, REFRESH_TOKEN_EXPIRES_IN, REQUESTED_TOKEN_USE, REQ_CNF, RESPONSE_MODE, RESPONSE_TYPE, RETURN_SPA_CODE, SCOPE, SESSION_STATE, SID, STATE, TOKEN_TYPE, X_APP_NAME, X_APP_VER, X_CLIENT_CPU, X_CLIENT_CURR_TELEM, X_CLIENT_EXTRA_SKU, X_CLIENT_LAST_TELEM, X_CLIENT_OS, X_CLIENT_SKU, X_CLIENT_VER, X_MS_LIB_CAPABILITY };
|
|
61
62
|
//# sourceMappingURL=AADServerParamKeys.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AADServerParamKeys.mjs","sources":["../../src/constants/AADServerParamKeys.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAEI,MAAM,SAAS,GAAG,YAAY;AAC9B,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,MAAM,GAAG,SAAS;AACxB,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,iBAAiB,GAAG,oBAAoB;AAC9C,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,QAAQ,GAAG,WAAW;AAC5B,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,wBAAwB,GAAG,2BAA2B;AAC5D,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,MAAM,GAAG,SAAS;AACxB,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,IAAI,GAAG,OAAO;AACpB,MAAM,cAAc,GAAG,iBAAiB;AACxC,MAAM,qBAAqB,GAAG,wBAAwB;AACtD,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,iBAAiB,GAAG,oBAAoB;AAC9C,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,mBAAmB,GAAG,6BAA6B;AACzD,MAAM,mBAAmB,GAAG,0BAA0B;AACtD,MAAM,mBAAmB,GAAG,sBAAsB;AAClD,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,SAAS,GAAG,YAAY;AAC9B,MAAM,eAAe,GAAG,2BAA2B;AACnD,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,gBAAgB,GAAG,mBAAmB;AAC5C,MAAM,qBAAqB,GAAG,wBAAwB;AACtD,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,OAAO,GAAG,UAAU;AAC1B,MAAM,aAAa,GAAG,YAAY;AAClC,MAAM,mBAAmB,GAAG,sBAAsB;AAClD,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,IAAI,GAAG,OAAO;AACpB,MAAM,UAAU,GAAG,kBAAkB;AACrC,MAAM,eAAe,GAAG,kBAAkB;AAC1C,MAAM,aAAa,GAAG,eAAe;AACrC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,GAAG,GAAG,MAAM;AAClB,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,WAAW,GAAG;;;;"}
|
|
1
|
+
{"version":3,"file":"AADServerParamKeys.mjs","sources":["../../src/constants/AADServerParamKeys.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAEI,MAAM,SAAS,GAAG,YAAY;AAC9B,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,MAAM,GAAG,SAAS;AACxB,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,iBAAiB,GAAG,oBAAoB;AAC9C,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,QAAQ,GAAG,WAAW;AAC5B,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,wBAAwB,GAAG,2BAA2B;AAC5D,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,MAAM,GAAG,SAAS;AACxB,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,IAAI,GAAG,OAAO;AACpB,MAAM,cAAc,GAAG,iBAAiB;AACxC,MAAM,qBAAqB,GAAG,wBAAwB;AACtD,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,iBAAiB,GAAG,oBAAoB;AAC9C,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,mBAAmB,GAAG,6BAA6B;AACzD,MAAM,mBAAmB,GAAG,0BAA0B;AACtD,MAAM,mBAAmB,GAAG,sBAAsB;AAClD,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,SAAS,GAAG,YAAY;AAC9B,MAAM,eAAe,GAAG,2BAA2B;AACnD,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,aAAa,GAAG,gBAAgB;AACtC,MAAM,gBAAgB,GAAG,mBAAmB;AAC5C,MAAM,qBAAqB,GAAG,wBAAwB;AACtD,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,OAAO,GAAG,UAAU;AAC1B,MAAM,aAAa,GAAG,YAAY;AAClC,MAAM,mBAAmB,GAAG,sBAAsB;AAClD,MAAM,YAAY,GAAG,eAAe;AACpC,MAAM,IAAI,GAAG,OAAO;AACpB,MAAM,UAAU,GAAG,kBAAkB;AACrC,MAAM,eAAe,GAAG,kBAAkB;AAC1C,MAAM,aAAa,GAAG,eAAe;AACrC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,GAAG,GAAG,MAAM;AAClB,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,WAAW,GAAG,cAAc;AAClC,MAAM,kBAAkB,GAAG;;;;"}
|
package/dist/crypto/ICrypto.mjs
CHANGED
package/dist/error/AuthError.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.14.0 2024-07-23 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { AuthError } from './AuthError.mjs';
|
|
4
4
|
import { clientInfoDecodingError, clientInfoEmptyError, tokenParsingError, nullOrEmptyToken, endpointResolutionError, networkError, openIdConfigError, hashNotDeserialized, invalidState, stateMismatch, stateNotFound, nonceMismatch, authTimeNotFound, maxAgeTranspired, multipleMatchingTokens, multipleMatchingAccounts, multipleMatchingAppMetadata, requestCannotBeMade, cannotRemoveEmptyScope, cannotAppendScopeSet, emptyInputScopeSet, deviceCodePollingCancelled, deviceCodeExpired, deviceCodeUnknownError, noAccountInSilentRequest, invalidCacheRecord, invalidCacheEnvironment, noAccountFound, noCryptoObject, unexpectedCredentialType, invalidAssertion, invalidClientCredential, tokenRefreshRequired, userTimeoutReached, tokenClaimsCnfRequiredForSignedJwt, authorizationCodeMissingFromServerResponse, bindingKeyNotRemoved, endSessionEndpointNotSupported, keyIdMissing, noNetworkConnectivity, userCanceled, missingTenantIdError, nestedAppAuthBridgeDisabled, methodNotImplemented } from './ClientAuthErrorCodes.mjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.14.0 2024-07-23 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { AuthError } from './AuthError.mjs';
|
|
4
4
|
import { redirectUriEmpty, claimsRequestParsingError, authorityUriInsecure, urlParseError, urlEmptyError, emptyInputScopesError, invalidPromptValue, invalidClaims, tokenRequestEmpty, logoutRequestEmpty, invalidCodeChallengeMethod, pkceParamsMissing, invalidCloudDiscoveryMetadata, invalidAuthorityMetadata, untrustedAuthority, missingSshJwk, missingSshKid, missingNonceAuthenticationHeader, invalidAuthenticationHeader, cannotSetOIDCOptions, cannotAllowNativeBroker, authorityMismatch } from './ClientConfigurationErrorCodes.mjs';
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.14.0 2024-07-23 */
|
|
2
2
|
'use strict';
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -3541,6 +3541,7 @@ const LOGOUT_HINT = "logout_hint";
|
|
|
3541
3541
|
const SID = "sid";
|
|
3542
3542
|
const LOGIN_HINT = "login_hint";
|
|
3543
3543
|
const DOMAIN_HINT = "domain_hint";
|
|
3544
|
+
const X_CLIENT_EXTRA_SKU = "x-client-xtra-sku";
|
|
3544
3545
|
|
|
3545
3546
|
var AADServerParamKeys = /*#__PURE__*/Object.freeze({
|
|
3546
3547
|
__proto__: null,
|
|
@@ -3591,6 +3592,7 @@ var AADServerParamKeys = /*#__PURE__*/Object.freeze({
|
|
|
3591
3592
|
X_APP_VER: X_APP_VER,
|
|
3592
3593
|
X_CLIENT_CPU: X_CLIENT_CPU,
|
|
3593
3594
|
X_CLIENT_CURR_TELEM: X_CLIENT_CURR_TELEM,
|
|
3595
|
+
X_CLIENT_EXTRA_SKU: X_CLIENT_EXTRA_SKU,
|
|
3594
3596
|
X_CLIENT_LAST_TELEM: X_CLIENT_LAST_TELEM,
|
|
3595
3597
|
X_CLIENT_OS: X_CLIENT_OS,
|
|
3596
3598
|
X_CLIENT_SKU: X_CLIENT_SKU,
|
|
@@ -3826,7 +3828,7 @@ class Logger {
|
|
|
3826
3828
|
|
|
3827
3829
|
/* eslint-disable header/header */
|
|
3828
3830
|
const name = "@azure/msal-common";
|
|
3829
|
-
const version = "14.
|
|
3831
|
+
const version = "14.14.0";
|
|
3830
3832
|
|
|
3831
3833
|
/*
|
|
3832
3834
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -4079,21 +4081,38 @@ function tenantIdMatchesHomeTenant(tenantId, homeAccountId) {
|
|
|
4079
4081
|
!!homeAccountId &&
|
|
4080
4082
|
tenantId === homeAccountId.split(".")[1]);
|
|
4081
4083
|
}
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
4096
|
-
|
|
4084
|
+
/**
|
|
4085
|
+
* Build tenant profile
|
|
4086
|
+
* @param homeAccountId - Home account identifier for this account object
|
|
4087
|
+
* @param localAccountId - Local account identifer for this account object
|
|
4088
|
+
* @param tenantId - Full tenant or organizational id that this account belongs to
|
|
4089
|
+
* @param idTokenClaims - Claims from the ID token
|
|
4090
|
+
* @returns
|
|
4091
|
+
*/
|
|
4092
|
+
function buildTenantProfile(homeAccountId, localAccountId, tenantId, idTokenClaims) {
|
|
4093
|
+
if (idTokenClaims) {
|
|
4094
|
+
const { oid, sub, tid, name, tfp, acr } = idTokenClaims;
|
|
4095
|
+
/**
|
|
4096
|
+
* Since there is no way to determine if the authority is AAD or B2C, we exhaust all the possible claims that can serve as tenant ID with the following precedence:
|
|
4097
|
+
* tid - TenantID claim that identifies the tenant that issued the token in AAD. Expected in all AAD ID tokens, not present in B2C ID Tokens.
|
|
4098
|
+
* tfp - Trust Framework Policy claim that identifies the policy that was used to authenticate the user. Functions as tenant for B2C scenarios.
|
|
4099
|
+
* acr - Authentication Context Class Reference claim used only with older B2C policies. Fallback in case tfp is not present, but likely won't be present anyway.
|
|
4100
|
+
*/
|
|
4101
|
+
const tenantId = tid || tfp || acr || "";
|
|
4102
|
+
return {
|
|
4103
|
+
tenantId: tenantId,
|
|
4104
|
+
localAccountId: oid || sub || "",
|
|
4105
|
+
name: name,
|
|
4106
|
+
isHomeTenant: tenantIdMatchesHomeTenant(tenantId, homeAccountId),
|
|
4107
|
+
};
|
|
4108
|
+
}
|
|
4109
|
+
else {
|
|
4110
|
+
return {
|
|
4111
|
+
tenantId,
|
|
4112
|
+
localAccountId,
|
|
4113
|
+
isHomeTenant: tenantIdMatchesHomeTenant(tenantId, homeAccountId),
|
|
4114
|
+
};
|
|
4115
|
+
}
|
|
4097
4116
|
}
|
|
4098
4117
|
/**
|
|
4099
4118
|
* Replaces account info that varies by tenant profile sourced from the ID token claims passed in with the tenant-specific account info
|
|
@@ -4113,7 +4132,7 @@ function updateAccountTenantProfileData(baseAccountInfo, tenantProfile, idTokenC
|
|
|
4113
4132
|
if (idTokenClaims) {
|
|
4114
4133
|
// Ignore isHomeTenant, loginHint, and sid which are part of tenant profile but not base account info
|
|
4115
4134
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4116
|
-
const { isHomeTenant, ...claimsSourcedTenantProfile } =
|
|
4135
|
+
const { isHomeTenant, ...claimsSourcedTenantProfile } = buildTenantProfile(baseAccountInfo.homeAccountId, baseAccountInfo.localAccountId, baseAccountInfo.tenantId, idTokenClaims);
|
|
4117
4136
|
updatedAccountInfo = {
|
|
4118
4137
|
...updatedAccountInfo,
|
|
4119
4138
|
...claimsSourcedTenantProfile,
|
|
@@ -4288,12 +4307,8 @@ class AccountEntity {
|
|
|
4288
4307
|
account.tenantProfiles = accountDetails.tenantProfiles;
|
|
4289
4308
|
}
|
|
4290
4309
|
else {
|
|
4291
|
-
const
|
|
4292
|
-
|
|
4293
|
-
const tenantProfile = buildTenantProfileFromIdTokenClaims(accountDetails.homeAccountId, accountDetails.idTokenClaims);
|
|
4294
|
-
tenantProfiles.push(tenantProfile);
|
|
4295
|
-
}
|
|
4296
|
-
account.tenantProfiles = tenantProfiles;
|
|
4310
|
+
const tenantProfile = buildTenantProfile(accountDetails.homeAccountId, account.localAccountId, account.realm, accountDetails.idTokenClaims);
|
|
4311
|
+
account.tenantProfiles = [tenantProfile];
|
|
4297
4312
|
}
|
|
4298
4313
|
return account;
|
|
4299
4314
|
}
|
|
@@ -4495,12 +4510,9 @@ class CacheManager {
|
|
|
4495
4510
|
*/
|
|
4496
4511
|
buildTenantProfiles(cachedAccounts, accountFilter) {
|
|
4497
4512
|
return cachedAccounts.flatMap((accountEntity) => {
|
|
4498
|
-
return this.
|
|
4513
|
+
return this.getTenantProfilesFromAccountEntity(accountEntity, accountFilter?.tenantId, accountFilter);
|
|
4499
4514
|
});
|
|
4500
4515
|
}
|
|
4501
|
-
getAccountInfoForTenantProfiles(accountEntity, accountFilter) {
|
|
4502
|
-
return this.getTenantProfilesFromAccountEntity(accountEntity, accountFilter?.tenantId, accountFilter);
|
|
4503
|
-
}
|
|
4504
4516
|
getTenantedAccountInfoByFilter(accountInfo, tokenKeys, tenantProfile, tenantProfileFilter) {
|
|
4505
4517
|
let tenantedAccountInfo = null;
|
|
4506
4518
|
let idTokenClaims;
|
|
@@ -7136,12 +7148,12 @@ function buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decod
|
|
|
7136
7148
|
nativeAccountId: nativeAccountId,
|
|
7137
7149
|
}, authority, base64Decode);
|
|
7138
7150
|
const tenantProfiles = baseAccount.tenantProfiles || [];
|
|
7139
|
-
|
|
7140
|
-
|
|
7151
|
+
const tenantId = claimsTenantId || baseAccount.realm;
|
|
7152
|
+
if (tenantId &&
|
|
7141
7153
|
!tenantProfiles.find((tenantProfile) => {
|
|
7142
|
-
return tenantProfile.tenantId ===
|
|
7154
|
+
return tenantProfile.tenantId === tenantId;
|
|
7143
7155
|
})) {
|
|
7144
|
-
const newTenantProfile =
|
|
7156
|
+
const newTenantProfile = buildTenantProfile(homeAccountId, baseAccount.localAccountId, tenantId, idTokenClaims);
|
|
7145
7157
|
tenantProfiles.push(newTenantProfile);
|
|
7146
7158
|
}
|
|
7147
7159
|
baseAccount.tenantProfiles = tenantProfiles;
|
|
@@ -8056,6 +8068,44 @@ class AuthenticationHeaderParser {
|
|
|
8056
8068
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
8057
8069
|
* Licensed under the MIT License.
|
|
8058
8070
|
*/
|
|
8071
|
+
const skuGroupSeparator = ",";
|
|
8072
|
+
const skuValueSeparator = "|";
|
|
8073
|
+
function makeExtraSkuString(params) {
|
|
8074
|
+
const { skus, libraryName, libraryVersion, extensionName, extensionVersion, } = params;
|
|
8075
|
+
const skuMap = new Map([
|
|
8076
|
+
[0, [libraryName, libraryVersion]],
|
|
8077
|
+
[2, [extensionName, extensionVersion]],
|
|
8078
|
+
]);
|
|
8079
|
+
let skuArr = [];
|
|
8080
|
+
if (skus?.length) {
|
|
8081
|
+
skuArr = skus.split(skuGroupSeparator);
|
|
8082
|
+
// Ignore invalid input sku param
|
|
8083
|
+
if (skuArr.length < 4) {
|
|
8084
|
+
return skus;
|
|
8085
|
+
}
|
|
8086
|
+
}
|
|
8087
|
+
else {
|
|
8088
|
+
skuArr = Array.from({ length: 4 }, () => skuValueSeparator);
|
|
8089
|
+
}
|
|
8090
|
+
skuMap.forEach((value, key) => {
|
|
8091
|
+
if (value.length === 2 && value[0]?.length && value[1]?.length) {
|
|
8092
|
+
setSku({
|
|
8093
|
+
skuArr,
|
|
8094
|
+
index: key,
|
|
8095
|
+
skuName: value[0],
|
|
8096
|
+
skuVersion: value[1],
|
|
8097
|
+
});
|
|
8098
|
+
}
|
|
8099
|
+
});
|
|
8100
|
+
return skuArr.join(skuGroupSeparator);
|
|
8101
|
+
}
|
|
8102
|
+
function setSku(params) {
|
|
8103
|
+
const { skuArr, index, skuName, skuVersion } = params;
|
|
8104
|
+
if (index >= skuArr.length) {
|
|
8105
|
+
return;
|
|
8106
|
+
}
|
|
8107
|
+
skuArr[index] = [skuName, skuVersion].join(skuValueSeparator);
|
|
8108
|
+
}
|
|
8059
8109
|
/** @internal */
|
|
8060
8110
|
class ServerTelemetryManager {
|
|
8061
8111
|
constructor(telemetryRequest, cacheManager) {
|
|
@@ -8075,7 +8125,12 @@ class ServerTelemetryManager {
|
|
|
8075
8125
|
*/
|
|
8076
8126
|
generateCurrentRequestHeaderValue() {
|
|
8077
8127
|
const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;
|
|
8078
|
-
const
|
|
8128
|
+
const platformFieldsArr = [this.wrapperSKU, this.wrapperVer];
|
|
8129
|
+
const nativeBrokerErrorCode = this.getNativeBrokerErrorCode();
|
|
8130
|
+
if (nativeBrokerErrorCode?.length) {
|
|
8131
|
+
platformFieldsArr.push(`broker_error=${nativeBrokerErrorCode}`);
|
|
8132
|
+
}
|
|
8133
|
+
const platformFields = platformFieldsArr.join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);
|
|
8079
8134
|
const regionDiscoveryFields = this.getRegionDiscoveryFields();
|
|
8080
8135
|
const requestWithRegionDiscoveryFields = [
|
|
8081
8136
|
request,
|
|
@@ -8252,6 +8307,22 @@ class ServerTelemetryManager {
|
|
|
8252
8307
|
setCacheOutcome(cacheOutcome) {
|
|
8253
8308
|
this.cacheOutcome = cacheOutcome;
|
|
8254
8309
|
}
|
|
8310
|
+
setNativeBrokerErrorCode(errorCode) {
|
|
8311
|
+
const lastRequests = this.getLastRequests();
|
|
8312
|
+
lastRequests.nativeBrokerErrorCode = errorCode;
|
|
8313
|
+
this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);
|
|
8314
|
+
}
|
|
8315
|
+
getNativeBrokerErrorCode() {
|
|
8316
|
+
return this.getLastRequests().nativeBrokerErrorCode;
|
|
8317
|
+
}
|
|
8318
|
+
clearNativeBrokerErrorCode() {
|
|
8319
|
+
const lastRequests = this.getLastRequests();
|
|
8320
|
+
delete lastRequests.nativeBrokerErrorCode;
|
|
8321
|
+
this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);
|
|
8322
|
+
}
|
|
8323
|
+
static makeExtraSkuString(params) {
|
|
8324
|
+
return makeExtraSkuString(params);
|
|
8325
|
+
}
|
|
8255
8326
|
}
|
|
8256
8327
|
|
|
8257
8328
|
/*
|
|
@@ -9003,7 +9074,7 @@ exports.buildAccountToCache = buildAccountToCache;
|
|
|
9003
9074
|
exports.buildClientInfo = buildClientInfo;
|
|
9004
9075
|
exports.buildClientInfoFromHomeAccountId = buildClientInfoFromHomeAccountId;
|
|
9005
9076
|
exports.buildStaticAuthorityOptions = buildStaticAuthorityOptions;
|
|
9006
|
-
exports.
|
|
9077
|
+
exports.buildTenantProfile = buildTenantProfile;
|
|
9007
9078
|
exports.createAuthError = createAuthError;
|
|
9008
9079
|
exports.createClientAuthError = createClientAuthError;
|
|
9009
9080
|
exports.createClientConfigurationError = createClientConfigurationError;
|