Socket
Socket
Sign inDemoInstall

@azure/msal-common

Package Overview
Dependencies
Maintainers
3
Versions
121
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@azure/msal-common - npm Package Compare versions

Comparing version 14.0.0-beta.1 to 14.0.0

dist/authority/OIDCOptions.d.ts

1

dist/account/AccountInfo.d.ts

@@ -27,2 +27,3 @@ import { TokenClaims } from "./TokenClaims";

nativeAccountId?: string;
authorityType?: string;
};

@@ -29,0 +30,0 @@ export type ActiveAccountFilters = {

2

dist/account/AuthToken.js

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { ClientAuthError } from '../error/ClientAuthError.js';

@@ -9,3 +9,3 @@ export type CcsCredential = {

};
export type CcsCredentialType = typeof CcsCredentialType[keyof typeof CcsCredentialType];
export type CcsCredentialType = (typeof CcsCredentialType)[keyof typeof CcsCredentialType];
//# sourceMappingURL=CcsCredential.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ /*

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { ClientAuthError } from '../error/ClientAuthError.js';

@@ -167,3 +167,3 @@ import { AuthorityType } from "./AuthorityType";

*/
private getCloudDiscoveryMetadataFromHarcodedValues;
private getCloudDiscoveryMetadataFromHardcodedValues;
/**

@@ -200,2 +200,7 @@ * Helper function to determine if this host is included in the knownAuthorities config option

/**
* Returns whether or not the provided host is an alias of a known Microsoft authority for purposes of endpoint discovery
* @param host
*/
isAliasOfKnownMicrosoftAuthority(host: string): boolean;
/**
* Checks whether the provided host is that of a public cloud authority

@@ -202,0 +207,0 @@ *

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -8,3 +8,3 @@ import { AuthorityType } from './AuthorityType.js';

import { Constants, AuthorityMetadataSource, RegionDiscoveryOutcomes, AADAuthorityConstants } from '../utils/Constants.js';
import { EndpointMetadata, InstanceDiscoveryMetadata } from './AuthorityMetadata.js';
import { EndpointMetadata, InstanceDiscoveryMetadata, InstanceDiscoveryMetadataAliases } from './AuthorityMetadata.js';
import { ClientConfigurationError } from '../error/ClientConfigurationError.js';

@@ -191,6 +191,6 @@ import { ProtocolMode } from './ProtocolMode.js';

canReplaceTenant(authorityUri) {
return authorityUri.PathSegments.length === 1
&& !Authority.reservedTenantDomains.has(authorityUri.PathSegments[0])
&& this.getAuthorityType(authorityUri) === AuthorityType.Default
&& this.protocolMode === ProtocolMode.AAD;
return (authorityUri.PathSegments.length === 1 &&
!Authority.reservedTenantDomains.has(authorityUri.PathSegments[0]) &&
this.getAuthorityType(authorityUri) === AuthorityType.Default &&
this.protocolMode === ProtocolMode.AAD);
}

@@ -216,4 +216,5 @@ /**

let cachedPart = cachedAuthorityParts[index];
if (index === 0 && this.canReplaceTenant(cachedAuthorityUrlComponents)) {
const tenantId = (new UrlString(this.metadata.authorization_endpoint)).getUrlComponents().PathSegments[0];
if (index === 0 &&
this.canReplaceTenant(cachedAuthorityUrlComponents)) {
const tenantId = new UrlString(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];
/**

@@ -239,4 +240,5 @@ * Check if AAD canonical authority contains tenant domain name, for example "testdomain.onmicrosoft.com",

get defaultOpenIdConfigurationEndpoint() {
const canonicalAuthorityHost = this.hostnameAndPort;
if (this.authorityType === AuthorityType.Adfs ||
this.protocolMode === ProtocolMode.OIDC) {
!this.isAliasOfKnownMicrosoftAuthority(canonicalAuthorityHost)) {
return `${this.canonicalAuthority}.well-known/openid-configuration`;

@@ -284,19 +286,53 @@ }

this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityUpdateEndpointMetadata, this.correlationId);
this.logger.verbose("Attempting to get endpoint metadata from authority configuration");
let metadata = this.getEndpointMetadataFromConfig();
if (metadata) {
this.logger.verbose("Found endpoint metadata in authority configuration");
metadataEntity.updateEndpointMetadata(metadata, false);
return AuthorityMetadataSource.CONFIG;
}
this.logger.verbose("Did not find endpoint metadata in the config... Attempting to get endpoint metadata from the hardcoded values.");
// skipAuthorityMetadataCache is used to bypass hardcoded authority metadata and force a network metadata cache lookup and network metadata request if no cached response is available.
if (this.authorityOptions.skipAuthorityMetadataCache) {
this.logger.verbose("Skipping hardcoded metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get endpoint metadata from the network metadata cache.");
}
else {
let hardcodedMetadata = this.getEndpointMetadataFromHardcodedValues();
if (hardcodedMetadata) {
this.logger.verbose("Found endpoint metadata from hardcoded values.");
// If the user prefers to use an azure region replace the global endpoints with regional information.
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
this.performanceClient?.setPreQueueTime(PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.correlationId);
this.logger.verbose("Found azure region configuration. Updating endpoints with regional information.");
hardcodedMetadata =
await this.updateMetadataWithRegionalInformation(hardcodedMetadata);
}
metadataEntity.updateEndpointMetadata(hardcodedMetadata, false);
return AuthorityMetadataSource.HARDCODED_VALUES;
}
else {
this.logger.verbose("Did not find endpoint metadata in hardcoded values... Attempting to get endpoint metadata from the network metadata cache.");
}
}
// Check cached metadata entity expiration status
const metadataEntityExpired = metadataEntity.isExpired();
if (this.isAuthoritySameType(metadataEntity) &&
metadataEntity.endpointsFromNetwork &&
!metadataEntity.isExpired()) {
!metadataEntityExpired) {
// No need to update
this.logger.verbose("Found endpoint metadata in the cache.");
return AuthorityMetadataSource.CACHE;
}
else if (metadataEntityExpired) {
this.logger.verbose("The metadata entity is expired.");
}
this.logger.verbose("Did not find cached endpoint metadata... Attempting to get endpoint metadata from the network.");
this.performanceClient?.setPreQueueTime(PerformanceEvents.AuthorityGetEndpointMetadataFromNetwork, this.correlationId);
metadata = await this.getEndpointMetadataFromNetwork();
if (metadata) {
this.logger.verbose("Endpoint metadata was successfully returned from getEndpointMetadataFromNetwork()");
// If the user prefers to use an azure region replace the global endpoints with regional information.
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
this.performanceClient?.setPreQueueTime(PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.correlationId);
this.logger.verbose("Found azure region configuration. Updating endpoints with regional information.");
metadata = await this.updateMetadataWithRegionalInformation(metadata);

@@ -307,15 +343,5 @@ }

}
let harcodedMetadata = this.getEndpointMetadataFromHardcodedValues();
if (harcodedMetadata &&
!this.authorityOptions.skipAuthorityMetadataCache) {
// If the user prefers to use an azure region replace the global endpoints with regional information.
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
this.performanceClient?.setPreQueueTime(PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.correlationId);
harcodedMetadata =
await this.updateMetadataWithRegionalInformation(harcodedMetadata);
}
metadataEntity.updateEndpointMetadata(harcodedMetadata, false);
return AuthorityMetadataSource.HARDCODED_VALUES;
}
else {
// Metadata could not be obtained from the config, cache, network or hardcoded values
this.logger.error("Did not find endpoint metadata from network... Metadata could not be obtained from config, cache, network or hardcoded values. Throwing Untrusted Authority Error.");
throw ClientAuthError.createUnableToGetOpenidConfigError(this.defaultOpenIdConfigurationEndpoint);

@@ -369,7 +395,10 @@ }

if (isValidResponse) {
perfEvent?.endMeasurement({ success: true });
perfEvent?.end({ success: true });
return response.body;
}
else {
perfEvent?.endMeasurement({ success: false, errorCode: "invalid_response" });
perfEvent?.end({
success: false,
errorCode: "invalid_response",
});
this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: could not parse response as OpenID configuration`);

@@ -380,3 +409,6 @@ return null;

catch (e) {
perfEvent?.endMeasurement({ success: false, errorCode: "request_failure" });
perfEvent?.end({
success: false,
errorCode: "request_failure",
});
this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: ${e}`);

@@ -403,15 +435,22 @@ return null;

if (userConfiguredAzureRegion) {
if (userConfiguredAzureRegion !== Constants.AZURE_REGION_AUTO_DISCOVER_FLAG) {
this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.CONFIGURED_NO_AUTO_DETECTION;
this.regionDiscoveryMetadata.region_used = userConfiguredAzureRegion;
if (userConfiguredAzureRegion !==
Constants.AZURE_REGION_AUTO_DISCOVER_FLAG) {
this.regionDiscoveryMetadata.region_outcome =
RegionDiscoveryOutcomes.CONFIGURED_NO_AUTO_DETECTION;
this.regionDiscoveryMetadata.region_used =
userConfiguredAzureRegion;
return Authority.replaceWithRegionalInformation(metadata, userConfiguredAzureRegion);
}
this.performanceClient?.setPreQueueTime(PerformanceEvents.RegionDiscoveryDetectRegion, this.correlationId);
const autodetectedRegionName = await this.regionDiscovery.detectRegion(this.authorityOptions.azureRegionConfiguration?.environmentRegion, this.regionDiscoveryMetadata);
const autodetectedRegionName = await this.regionDiscovery.detectRegion(this.authorityOptions.azureRegionConfiguration
?.environmentRegion, this.regionDiscoveryMetadata);
if (autodetectedRegionName) {
this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_SUCCESSFUL;
this.regionDiscoveryMetadata.region_used = autodetectedRegionName;
this.regionDiscoveryMetadata.region_outcome =
RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_SUCCESSFUL;
this.regionDiscoveryMetadata.region_used =
autodetectedRegionName;
return Authority.replaceWithRegionalInformation(metadata, autodetectedRegionName);
}
this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_FAILED;
this.regionDiscoveryMetadata.region_outcome =
RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_FAILED;
}

@@ -428,3 +467,3 @@ return metadata;

this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityUpdateCloudDiscoveryMetadata, this.correlationId);
this.logger.verbose("Attempting to get cloud discovery metadata in the config");
this.logger.verbose("Attempting to get cloud discovery metadata from authority configuration");
this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities ||

@@ -437,8 +476,20 @@ Constants.NOT_APPLICABLE}`);

if (metadata) {
this.logger.verbose("Found cloud discovery metadata in the config.");
this.logger.verbose("Found cloud discovery metadata in authority configuration");
metadataEntity.updateCloudDiscoveryMetadata(metadata, false);
return AuthorityMetadataSource.CONFIG;
}
// If the cached metadata came from config but that config was not passed to this instance, we must go to the network
this.logger.verbose("Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the cache.");
// If the cached metadata came from config but that config was not passed to this instance, we must go to hardcoded values
this.logger.verbose("Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the hardcoded values.");
if (this.options.skipAuthorityMetadataCache) {
this.logger.verbose("Skipping hardcoded cloud discovery metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get cloud discovery metadata from the network metadata cache.");
}
else {
const hardcodedMetadata = this.getCloudDiscoveryMetadataFromHardcodedValues();
if (hardcodedMetadata) {
this.logger.verbose("Found cloud discovery metadata from hardcoded values.");
metadataEntity.updateCloudDiscoveryMetadata(hardcodedMetadata, false);
return AuthorityMetadataSource.HARDCODED_VALUES;
}
this.logger.verbose("Did not find cloud discovery metadata in hardcoded values... Attempting to get cloud discovery metadata from the network metadata cache.");
}
const metadataEntityExpired = metadataEntity.isExpired();

@@ -448,3 +499,3 @@ if (this.isAuthoritySameType(metadataEntity) &&

!metadataEntityExpired) {
this.logger.verbose("Found metadata in the cache.");
this.logger.verbose("Found cloud discovery metadata in the cache.");
// No need to update

@@ -464,11 +515,4 @@ return AuthorityMetadataSource.CACHE;

}
this.logger.verbose("Did not find cloud discovery metadata from the network... Attempting to get cloud discovery metadata from hardcoded values.");
const harcodedMetadata = this.getCloudDiscoveryMetadataFromHarcodedValues();
if (harcodedMetadata && !this.options.skipAuthorityMetadataCache) {
this.logger.verbose("Found cloud discovery metadata from hardcoded values.");
metadataEntity.updateCloudDiscoveryMetadata(harcodedMetadata, false);
return AuthorityMetadataSource.HARDCODED_VALUES;
}
// Metadata could not be obtained from the config, cache, network or hardcoded values
this.logger.error("Did not find cloud discovery metadata from hardcoded values... Metadata could not be obtained from config, cache, network or hardcoded values. Throwing Untrusted Authority Error.");
this.logger.error("Did not find cloud discovery metadata from network... Metadata could not be obtained from config, cache, network or hardcoded values. Throwing Untrusted Authority Error.");
throw ClientConfigurationError.createUntrustedAuthorityError();

@@ -578,5 +622,7 @@ }

*/
getCloudDiscoveryMetadataFromHarcodedValues() {
getCloudDiscoveryMetadataFromHardcodedValues() {
if (this.canonicalAuthority in InstanceDiscoveryMetadata) {
return InstanceDiscoveryMetadata[this.canonicalAuthority];
const hardcodedMetadataResponse = InstanceDiscoveryMetadata[this.canonicalAuthority];
const metadata = Authority.getCloudDiscoveryMetadataFromNetworkResponse(hardcodedMetadataResponse.metadata, this.hostnameAndPort);
return metadata;
}

@@ -657,2 +703,9 @@ return null;

/**
* Returns whether or not the provided host is an alias of a known Microsoft authority for purposes of endpoint discovery
* @param host
*/
isAliasOfKnownMicrosoftAuthority(host) {
return InstanceDiscoveryMetadataAliases.has(host);
}
/**
* Checks whether the provided host is that of a public cloud authority

@@ -698,11 +751,13 @@ *

static replaceWithRegionalInformation(metadata, azureRegion) {
metadata.authorization_endpoint =
Authority.buildRegionalAuthorityString(metadata.authorization_endpoint, azureRegion);
const regionalMetadata = { ...metadata };
regionalMetadata.authorization_endpoint =
Authority.buildRegionalAuthorityString(regionalMetadata.authorization_endpoint, azureRegion);
// TODO: Enquire on whether we should leave the query string or remove it before releasing the feature
metadata.token_endpoint = Authority.buildRegionalAuthorityString(metadata.token_endpoint, azureRegion, Constants.REGIONAL_AUTH_NON_MSI_QUERY_STRING);
if (metadata.end_session_endpoint) {
metadata.end_session_endpoint =
Authority.buildRegionalAuthorityString(metadata.end_session_endpoint, azureRegion);
regionalMetadata.token_endpoint =
Authority.buildRegionalAuthorityString(regionalMetadata.token_endpoint, azureRegion, Constants.REGIONAL_AUTH_NON_MSI_QUERY_STRING);
if (regionalMetadata.end_session_endpoint) {
regionalMetadata.end_session_endpoint =
Authority.buildRegionalAuthorityString(regionalMetadata.end_session_endpoint, azureRegion);
}
return metadata;
return regionalMetadata;
}

@@ -719,7 +774,10 @@ /**

static transformCIAMAuthority(authority) {
let ciamAuthority = authority.endsWith(Constants.FORWARD_SLASH) ? authority : `${authority}${Constants.FORWARD_SLASH}`;
let ciamAuthority = authority.endsWith(Constants.FORWARD_SLASH)
? authority
: `${authority}${Constants.FORWARD_SLASH}`;
const authorityUrl = new UrlString(authority);
const authorityUrlComponents = authorityUrl.getUrlComponents();
// check if transformation is needed
if (authorityUrlComponents.PathSegments.length === 0 && (authorityUrlComponents.HostNameAndPort.endsWith(Constants.CIAM_AUTH_URL))) {
if (authorityUrlComponents.PathSegments.length === 0 &&
authorityUrlComponents.HostNameAndPort.endsWith(Constants.CIAM_AUTH_URL)) {
const tenantIdOrDomain = authorityUrlComponents.HostNameAndPort.split(".")[0];

@@ -732,3 +790,3 @@ ciamAuthority = `${ciamAuthority}${tenantIdOrDomain}${Constants.AAD_TENANT_DOMAIN_SUFFIX}`;

// Reserved tenant domain names that will not be replaced with tenant id
Authority.reservedTenantDomains = (new Set([
Authority.reservedTenantDomains = new Set([
"{tenant}",

@@ -738,6 +796,6 @@ "{tenantid}",

AADAuthorityConstants.CONSUMERS,
AADAuthorityConstants.ORGANIZATIONS
]));
AADAuthorityConstants.ORGANIZATIONS,
]);
export { Authority };
//# sourceMappingURL=Authority.js.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { Authority } from './Authority.js';

@@ -623,2 +623,3 @@ export declare const rawMetdataJSON: {

};
export declare const InstanceDiscoveryMetadataAliases: Set<String>;
//# sourceMappingURL=AuthorityMetadata.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -879,4 +879,12 @@ /*

const InstanceDiscoveryMetadata = rawMetdataJSON.instanceDiscoveryMetadata;
const InstanceDiscoveryMetadataAliases = new Set();
for (const key in InstanceDiscoveryMetadata) {
for (const metadata of InstanceDiscoveryMetadata[key].metadata) {
for (const alias of metadata.aliases) {
InstanceDiscoveryMetadataAliases.add(alias);
}
}
}
export { EndpointMetadata, InstanceDiscoveryMetadata, rawMetdataJSON };
export { EndpointMetadata, InstanceDiscoveryMetadata, InstanceDiscoveryMetadataAliases, rawMetdataJSON };
//# sourceMappingURL=AuthorityMetadata.js.map
import { ProtocolMode } from "./ProtocolMode";
import { OIDCOptions } from "./OIDCOptions";
import { AzureRegionConfiguration } from "./AzureRegionConfiguration";
export type AuthorityOptions = {
protocolMode: ProtocolMode;
OIDCOptions?: OIDCOptions | null;
knownAuthorities: Array<string>;

@@ -19,3 +21,3 @@ cloudDiscoveryMetadata: string;

};
export type AzureCloudInstance = typeof AzureCloudInstance[keyof typeof AzureCloudInstance];
export type AzureCloudInstance = (typeof AzureCloudInstance)[keyof typeof AzureCloudInstance];
//# sourceMappingURL=AuthorityOptions.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -14,5 +14,5 @@ /*

AzurePpe: "https://login.windows-ppe.net",
// Microsoft Chinese national cloud
// Microsoft Chinese national/regional cloud
AzureChina: "https://login.chinacloudapi.cn",
// Microsoft German national cloud ("Black Forest")
// Microsoft German national/regional cloud ("Black Forest")
AzureGermany: "https://login.microsoftonline.de",

@@ -19,0 +19,0 @@ // US Government cloud

@@ -10,3 +10,3 @@ /**

};
export type AuthorityType = typeof AuthorityType[keyof typeof AuthorityType];
export type AuthorityType = (typeof AuthorityType)[keyof typeof AuthorityType];
//# sourceMappingURL=AuthorityType.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -14,3 +14,3 @@ /*

Dsts: 2,
Ciam: 3
Ciam: 3,
};

@@ -17,0 +17,0 @@

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ /*

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ /*

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ /*

@@ -8,3 +8,3 @@ /**

};
export type ProtocolMode = typeof ProtocolMode[keyof typeof ProtocolMode];
export type ProtocolMode = (typeof ProtocolMode)[keyof typeof ProtocolMode];
//# sourceMappingURL=ProtocolMode.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ /*

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { Constants, ResponseCodes, RegionDiscoverySources } from '../utils/Constants.js';

@@ -16,2 +16,3 @@ import { AccountFilter, CredentialFilter, ValidCredentialType, AppMetadataFilter, AppMetadataCache, TokenKeys } from "./utils/CacheTypes";

import { Logger } from "../logger/Logger";
import { StoreInCache } from "../request/StoreInCache";
/**

@@ -155,3 +156,3 @@ * Interface class which implement cache storage functions used by MSAL to perform validity checks, and store tokens.

*/
saveCacheRecord(cacheRecord: CacheRecord): Promise<void>;
saveCacheRecord(cacheRecord: CacheRecord, storeInCache?: StoreInCache): Promise<void>;
/**

@@ -158,0 +159,0 @@ * saves access token credential

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -75,3 +75,3 @@ import { Separators, CredentialType, AuthenticationScheme, THE_FAMILY_ID, APP_METADATA, AUTHORITY_METADATA_CONSTANTS } from '../utils/Constants.js';

*/
async saveCacheRecord(cacheRecord) {
async saveCacheRecord(cacheRecord, storeInCache) {
if (!cacheRecord) {

@@ -83,9 +83,10 @@ throw ClientAuthError.createNullOrUndefinedCacheRecord();

}
if (!!cacheRecord.idToken) {
if (!!cacheRecord.idToken && storeInCache?.idToken !== false) {
this.setIdTokenCredential(cacheRecord.idToken);
}
if (!!cacheRecord.accessToken) {
if (!!cacheRecord.accessToken && storeInCache?.accessToken !== false) {
await this.saveAccessToken(cacheRecord.accessToken);
}
if (!!cacheRecord.refreshToken) {
if (!!cacheRecord.refreshToken &&
storeInCache?.refreshToken !== false) {
this.setRefreshTokenCredential(cacheRecord.refreshToken);

@@ -92,0 +93,0 @@ }

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { CredentialEntity } from './CredentialEntity.js';

import { Authority } from "../../authority/Authority";
import { AuthToken } from "../../account/AuthToken";
import { ICrypto } from "../../crypto/ICrypto";

@@ -24,3 +23,2 @@ import { AccountInfo } from "../../account/AccountInfo";

* name: Full name for the account, including given name and family name,
* clientInfo: Full base64 encoded client info received from ESTS
* lastModificationTime: last time this entity was modified in the cache

@@ -39,4 +37,4 @@ * lastModificationApp:

authorityType: string;
clientInfo?: string;
name?: string;
clientInfo?: string;
lastModificationTime?: string;

@@ -57,6 +55,2 @@ lastModificationApp?: string;

/**
* returns the type of the cache (in this case account)
*/
generateType(): number;
/**
* Returns the AccountInfo interface for this account.

@@ -72,14 +66,21 @@ */

* Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
* @param clientInfo
* @param authority
* @param idToken
* @param policy
* @param accountDetails
*/
static createAccount(clientInfo: string, homeAccountId: string, idToken: AuthToken, authority?: Authority, cloudGraphHostName?: string, msGraphHost?: string, environment?: string, nativeAccountId?: string): AccountEntity;
static createAccount(accountDetails: {
homeAccountId: string;
idTokenClaims: TokenClaims;
clientInfo?: string;
cloudGraphHostName?: string;
msGraphHost?: string;
environment?: string;
nativeAccountId?: string;
}, authority: Authority): AccountEntity;
/**
* Builds non-AAD/ADFS account.
* @param authority
* @param idToken
* Creates an AccountEntity object from AccountInfo
* @param accountInfo
* @param cloudGraphHostName
* @param msGraphHost
* @returns
*/
static createGenericAccount(homeAccountId: string, idToken: AuthToken, authority?: Authority, cloudGraphHostName?: string, msGraphHost?: string, environment?: string): AccountEntity;
static createFromAccountInfo(accountInfo: AccountInfo, cloudGraphHostName?: string, msGraphHost?: string): AccountEntity;
/**

@@ -90,3 +91,3 @@ * Generate HomeAccountId from server response

*/
static generateHomeAccountId(serverClientInfo: string, authType: AuthorityType, logger: Logger, cryptoObj: ICrypto, idToken?: AuthToken): string;
static generateHomeAccountId(serverClientInfo: string, authType: AuthorityType, logger: Logger, cryptoObj: ICrypto, idTokenClaims?: TokenClaims): string;
/**

@@ -93,0 +94,0 @@ * Validates an entity: checks for all expected params

@@ -1,4 +0,4 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';
import { Separators, CacheAccountType, CacheType, Constants } from '../../utils/Constants.js';
import { Separators, CacheAccountType, Constants } from '../../utils/Constants.js';
import { buildClientInfo } from '../../account/ClientInfo.js';

@@ -8,2 +8,3 @@ import { StringUtils } from '../../utils/StringUtils.js';

import { AuthorityType } from '../../authority/AuthorityType.js';
import { ProtocolMode } from '../../authority/ProtocolMode.js';

@@ -30,3 +31,2 @@ /*

* name: Full name for the account, including given name and family name,
* clientInfo: Full base64 encoded client info received from ESTS
* lastModificationTime: last time this entity was modified in the cache

@@ -59,20 +59,2 @@ * lastModificationApp:

/**
* returns the type of the cache (in this case account)
*/
generateType() {
switch (this.authorityType) {
case CacheAccountType.ADFS_ACCOUNT_TYPE:
return CacheType.ADFS;
case CacheAccountType.MSAV1_ACCOUNT_TYPE:
return CacheType.MSA;
case CacheAccountType.MSSTS_ACCOUNT_TYPE:
return CacheType.MSSTS;
case CacheAccountType.GENERIC_ACCOUNT_TYPE:
return CacheType.GENERIC;
default: {
throw ClientAuthError.createUnexpectedAccountTypeError();
}
}
}
/**
* Returns the AccountInfo interface for this account.

@@ -90,2 +72,3 @@ */

nativeAccountId: this.nativeAccountId,
authorityType: this.authorityType,
};

@@ -107,14 +90,20 @@ }

* Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
* @param clientInfo
* @param authority
* @param idToken
* @param policy
* @param accountDetails
*/
static createAccount(clientInfo, homeAccountId, idToken, authority, cloudGraphHostName, msGraphHost, environment, nativeAccountId) {
static createAccount(accountDetails, authority) {
const account = new AccountEntity();
account.authorityType = CacheAccountType.MSSTS_ACCOUNT_TYPE;
account.clientInfo = clientInfo;
account.homeAccountId = homeAccountId;
account.nativeAccountId = nativeAccountId;
const env = environment || (authority && authority.getPreferredCache());
if (authority.authorityType === AuthorityType.Adfs) {
account.authorityType = CacheAccountType.ADFS_ACCOUNT_TYPE;
}
else if (authority.protocolMode === ProtocolMode.AAD) {
account.authorityType = CacheAccountType.MSSTS_ACCOUNT_TYPE;
}
else {
account.authorityType = CacheAccountType.GENERIC_ACCOUNT_TYPE;
}
account.clientInfo = accountDetails.clientInfo;
account.homeAccountId = accountDetails.homeAccountId;
account.nativeAccountId = accountDetails.nativeAccountId;
const env = accountDetails.environment ||
(authority && authority.getPreferredCache());
if (!env) {

@@ -125,63 +114,47 @@ throw ClientAuthError.createInvalidCacheEnvironmentError();

// non AAD scenarios can have empty realm
account.realm = idToken?.claims?.tid || Constants.EMPTY_STRING;
if (idToken) {
account.idTokenClaims = idToken.claims;
// How do you account for MSA CID here?
account.localAccountId =
idToken?.claims?.oid ||
idToken?.claims?.sub ||
Constants.EMPTY_STRING;
/*
* In B2C scenarios the emails claim is used instead of preferred_username and it is an array.
* In most cases it will contain a single email. This field should not be relied upon if a custom
* policy is configured to return more than 1 email.
*/
const preferredUsername = idToken?.claims?.preferred_username;
const email = idToken?.claims?.emails
? idToken.claims.emails[0]
: null;
account.username =
preferredUsername || email || Constants.EMPTY_STRING;
account.name = idToken?.claims?.name;
}
account.cloudGraphHostName = cloudGraphHostName;
account.msGraphHost = msGraphHost;
account.realm =
accountDetails.idTokenClaims.tid || Constants.EMPTY_STRING;
account.idTokenClaims = accountDetails.idTokenClaims;
// How do you account for MSA CID here?
account.localAccountId =
accountDetails.idTokenClaims.oid ||
accountDetails.idTokenClaims.sub ||
Constants.EMPTY_STRING;
/*
* In B2C scenarios the emails claim is used instead of preferred_username and it is an array.
* In most cases it will contain a single email. This field should not be relied upon if a custom
* policy is configured to return more than 1 email.
*/
const preferredUsername = accountDetails.idTokenClaims.preferred_username ||
accountDetails.idTokenClaims.upn;
const email = accountDetails.idTokenClaims.emails
? accountDetails.idTokenClaims.emails[0]
: null;
account.username = preferredUsername || email || Constants.EMPTY_STRING;
account.name = accountDetails.idTokenClaims.name;
account.cloudGraphHostName = accountDetails.cloudGraphHostName;
account.msGraphHost = accountDetails.msGraphHost;
return account;
}
/**
* Builds non-AAD/ADFS account.
* @param authority
* @param idToken
* Creates an AccountEntity object from AccountInfo
* @param accountInfo
* @param cloudGraphHostName
* @param msGraphHost
* @returns
*/
static createGenericAccount(homeAccountId, idToken, authority, cloudGraphHostName, msGraphHost, environment) {
static createFromAccountInfo(accountInfo, cloudGraphHostName, msGraphHost) {
const account = new AccountEntity();
account.authorityType =
authority && authority.authorityType === AuthorityType.Adfs
? CacheAccountType.ADFS_ACCOUNT_TYPE
: CacheAccountType.GENERIC_ACCOUNT_TYPE;
account.homeAccountId = homeAccountId;
// non AAD scenarios can have empty realm
account.realm = Constants.EMPTY_STRING;
const env = environment || (authority && authority.getPreferredCache());
if (!env) {
throw ClientAuthError.createInvalidCacheEnvironmentError();
}
if (idToken) {
// How do you account for MSA CID here?
account.localAccountId =
idToken?.claims?.oid ||
idToken?.claims?.sub ||
Constants.EMPTY_STRING;
// upn claim for most ADFS scenarios
account.username = idToken?.claims?.upn || Constants.EMPTY_STRING;
account.name = idToken?.claims?.name || Constants.EMPTY_STRING;
account.idTokenClaims = idToken?.claims;
}
account.environment = env;
accountInfo.authorityType || CacheAccountType.GENERIC_ACCOUNT_TYPE;
account.homeAccountId = accountInfo.homeAccountId;
account.localAccountId = accountInfo.localAccountId;
account.nativeAccountId = accountInfo.nativeAccountId;
account.realm = accountInfo.tenantId;
account.environment = accountInfo.environment;
account.username = accountInfo.username;
account.name = accountInfo.name;
account.idTokenClaims = accountInfo.idTokenClaims;
account.cloudGraphHostName = cloudGraphHostName;
account.msGraphHost = msGraphHost;
/*
* add uniqueName to claims
* account.name = idToken.claims.uniqueName;
*/
return account;

@@ -194,5 +167,5 @@ }

*/
static generateHomeAccountId(serverClientInfo, authType, logger, cryptoObj, idToken) {
const accountId = idToken?.claims?.sub
? idToken.claims.sub
static generateHomeAccountId(serverClientInfo, authType, logger, cryptoObj, idTokenClaims) {
const accountId = idTokenClaims?.sub
? idTokenClaims.sub
: Constants.EMPTY_STRING;

@@ -199,0 +172,0 @@ // since ADFS does not have tid and does not set client_info

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { Separators, APP_METADATA } from '../../utils/Constants.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { AUTHORITY_METADATA_CONSTANTS } from '../../utils/Constants.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ /*

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { CredentialType, CacheType, Separators, Constants, AuthenticationScheme } from '../../utils/Constants.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { CredentialEntity } from './CredentialEntity.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { CredentialEntity } from './CredentialEntity.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { SERVER_TELEM_CONSTANTS } from '../../utils/Constants.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { ThrottlingConstants } from '../../utils/Constants.js';

@@ -12,2 +12,3 @@ import { AccountFilter } from "../utils/CacheTypes";

import { AuthorityMetadataEntity } from "../entities/AuthorityMetadataEntity";
import { StoreInCache } from "../../request/StoreInCache";
export interface ICacheManager {

@@ -127,3 +128,3 @@ /**

*/
saveCacheRecord(cacheRecord: CacheRecord): Promise<void>;
saveCacheRecord(cacheRecord: CacheRecord, storeInCache?: StoreInCache): Promise<void>;
/**

@@ -130,0 +131,0 @@ * retrieve accounts matching all provided filters; if no filter is set, get all accounts

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ /*

@@ -14,2 +14,3 @@ import { BaseClient } from "./BaseClient";

protected includeRedirectUri: boolean;
private oidcDefaultScopes;
constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient);

@@ -16,0 +17,0 @@ /**

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -6,2 +6,3 @@ import { BaseClient } from './BaseClient.js';

import { Separators, GrantType, AuthenticationScheme, AADServerParamKeys, PromptValue, HeaderNames } from '../utils/Constants.js';
import { isOidcProtocolMode } from '../config/ClientConfiguration.js';
import { ResponseHandler } from '../response/ResponseHandler.js';

@@ -31,2 +32,4 @@ import { StringUtils } from '../utils/StringUtils.js';

this.includeRedirectUri = true;
this.oidcDefaultScopes =
this.config.authOptions.authority.options.OIDCOptions?.defaultScopes;
}

@@ -70,3 +73,3 @@ /**

if (httpVerAuthority) {
atsMeasurement?.addStaticFields({
atsMeasurement?.add({
httpVerAuthority,

@@ -82,3 +85,3 @@ });

.then((result) => {
atsMeasurement?.endMeasurement({
atsMeasurement?.end({
success: true,

@@ -90,3 +93,3 @@ });

this.logger.verbose("Error in fetching token in ACC", request.correlationId);
atsMeasurement?.endMeasurement({
atsMeasurement?.end({
errorCode: error.errorCode,

@@ -107,6 +110,4 @@ subErrorCode: error.subError,

const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, null, null);
// Deserialize hash fragment response parameters.
const hashUrlString = new UrlString(hashFragment);
// Deserialize hash fragment response parameters.
const serverParams = UrlString.getDeserializedHash(hashUrlString.getHash());
const serverParams = UrlString.getDeserializedCodeResponse(this.config.authOptions.authority.options.OIDCOptions
?.serverResponseType, hashFragment);
// Get code response

@@ -197,3 +198,3 @@ responseHandler.validateServerAuthorizationCodeResponse(serverParams, cachedState, this.cryptoUtils);

// Add scope array, parameter builder will add default scopes and dedupe
parameterBuilder.addScopes(request.scopes);
parameterBuilder.addScopes(request.scopes, true, this.oidcDefaultScopes);
// add code: user set, not validated

@@ -205,3 +206,3 @@ parameterBuilder.addAuthorizationCode(request.code);

parameterBuilder.addThrottling();
if (this.serverTelemetryManager) {
if (this.serverTelemetryManager && !isOidcProtocolMode(this.config)) {
parameterBuilder.addServerTelemetry(this.serverTelemetryManager);

@@ -305,3 +306,3 @@ }

];
parameterBuilder.addScopes(requestScopes);
parameterBuilder.addScopes(requestScopes, true, this.oidcDefaultScopes);
// validate the redirectUri (to be a non null value)

@@ -319,3 +320,5 @@ parameterBuilder.addRedirectUri(request.redirectUri);

parameterBuilder.addLibraryInfo(this.config.libraryInfo);
parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);
if (!isOidcProtocolMode(this.config)) {
parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);
}
// add client_info=1

@@ -322,0 +325,0 @@ parameterBuilder.addClientInfo();

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { buildClientConfiguration } from '../config/ClientConfiguration.js';

@@ -1,3 +0,4 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';
import { isOidcProtocolMode } from '../config/ClientConfiguration.js';
import { BaseClient } from './BaseClient.js';

@@ -38,7 +39,7 @@ import { RequestParameterBuilder } from '../request/RequestParameterBuilder.js';

const httpVerToken = response.headers?.[HeaderNames.X_MS_HTTP_VERSION];
atsMeasurement?.addStaticFields({
atsMeasurement?.add({
refreshTokenSize: response.body.refresh_token?.length || 0,
});
if (httpVerToken) {
atsMeasurement?.addStaticFields({
atsMeasurement?.add({
httpVerToken,

@@ -55,3 +56,3 @@ });

.then((result) => {
atsMeasurement?.endMeasurement({
atsMeasurement?.end({
success: true,

@@ -63,3 +64,3 @@ });

this.logger.verbose("Error in fetching refresh token", request.correlationId);
atsMeasurement?.endMeasurement({
atsMeasurement?.end({
errorCode: error.errorCode,

@@ -128,7 +129,7 @@ subErrorCode: error.subError,

if (!refreshToken) {
atsMeasurement?.discardMeasurement();
atsMeasurement?.discard();
throw InteractionRequiredAuthError.createNoTokensFoundError();
}
// attach cached RT size to the current measurement
atsMeasurement?.endMeasurement({
atsMeasurement?.end({
success: true,

@@ -174,3 +175,3 @@ });

.then((result) => {
acquireTokenMeasurement?.endMeasurement({
acquireTokenMeasurement?.end({
success: true,

@@ -181,3 +182,3 @@ });

.catch((error) => {
acquireTokenMeasurement?.endMeasurement({
acquireTokenMeasurement?.end({
success: false,

@@ -198,3 +199,3 @@ });

parameterBuilder.addClientId(this.config.authOptions.clientId);
parameterBuilder.addScopes(request.scopes);
parameterBuilder.addScopes(request.scopes, true, this.config.authOptions.authority.options.OIDCOptions?.defaultScopes);
parameterBuilder.addGrantType(GrantType.REFRESH_TOKEN_GRANT);

@@ -205,3 +206,3 @@ parameterBuilder.addClientInfo();

parameterBuilder.addThrottling();
if (this.serverTelemetryManager) {
if (this.serverTelemetryManager && !isOidcProtocolMode(this.config)) {
parameterBuilder.addServerTelemetry(this.serverTelemetryManager);

@@ -231,3 +232,3 @@ }

else {
acquireTokenMeasurement?.endMeasurement({
acquireTokenMeasurement?.end({
success: false,

@@ -261,3 +262,3 @@ });

}
acquireTokenMeasurement?.endMeasurement({
acquireTokenMeasurement?.end({
success: true,

@@ -264,0 +265,0 @@ });

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { BaseClient } from './BaseClient.js';

@@ -144,2 +144,7 @@ import { INetworkModule } from "../network/INetworkModule";

export declare function buildClientConfiguration({ authOptions: userAuthOptions, systemOptions: userSystemOptions, loggerOptions: userLoggerOption, cacheOptions: userCacheOptions, storageInterface: storageImplementation, networkInterface: networkImplementation, cryptoInterface: cryptoImplementation, clientCredentials: clientCredentials, libraryInfo: libraryInfo, telemetry: telemetry, serverTelemetryManager: serverTelemetryManager, persistencePlugin: persistencePlugin, serializableCache: serializableCache, }: ClientConfiguration): CommonClientConfiguration;
/**
* Returns true if config has protocolMode set to ProtocolMode.OIDC, false otherwise
* @param ClientConfiguration
*/
export declare function isOidcProtocolMode(config: ClientConfiguration): boolean;
//# sourceMappingURL=ClientConfiguration.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -10,2 +10,3 @@ import { DEFAULT_CRYPTO_IMPLEMENTATION } from '../crypto/ICrypto.js';

import { DefaultStorageClass } from '../cache/CacheManager.js';
import { ProtocolMode } from '../authority/ProtocolMode.js';

@@ -104,4 +105,11 @@ /*

}
/**
* Returns true if config has protocolMode set to ProtocolMode.OIDC, false otherwise
* @param ClientConfiguration
*/
function isOidcProtocolMode(config) {
return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
}
export { DEFAULT_SYSTEM_OPTIONS, buildClientConfiguration };
export { DEFAULT_SYSTEM_OPTIONS, buildClientConfiguration, isOidcProtocolMode };
//# sourceMappingURL=ClientConfiguration.js.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { AuthError } from '../error/AuthError.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { JoseHeaderError } from '../error/JoseHeaderError.js';

@@ -23,3 +23,3 @@ import { ICrypto, SignedHttpRequestParameters } from "./ICrypto";

};
export type KeyLocation = typeof KeyLocation[keyof typeof KeyLocation];
export type KeyLocation = (typeof KeyLocation)[keyof typeof KeyLocation];
export declare class PopTokenGenerator {

@@ -26,0 +26,0 @@ private cryptoUtils;

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { TimeUtils } from '../utils/TimeUtils.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { Constants } from '../utils/Constants.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { AuthError } from './AuthError.js';

@@ -98,2 +98,10 @@ import { ClientAuthError } from "./ClientAuthError";

};
cannotSetOIDCOptions: {
code: string;
desc: string;
};
cannotAllowNativeBroker: {
code: string;
desc: string;
};
authorityMismatch: {

@@ -204,2 +212,10 @@ code: string;

/**
* Throws error when provided non-default OIDCOptions when not in OIDC protocol mode
*/
static createCannotSetOIDCOptionsError(): ClientConfigurationError;
/**
* Throws error when allowNativeBroker is set to true when not in AAD protocol mode
*/
static createCannotAllowNativeBrokerError(): ClientConfigurationError;
/**
* Create an error when the authority provided in request does not match authority provided in account or MSAL.js configuration.

@@ -206,0 +222,0 @@ */

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -103,8 +103,16 @@ import { ClientAuthError } from './ClientAuthError.js';

code: "invalid_authentication_header",
desc: "Invalid authentication header provided"
desc: "Invalid authentication header provided",
},
cannotSetOIDCOptions: {
code: "cannot_set_OIDCOptions",
desc: "Cannot set OIDCOptions parameter. Please change the protocol mode to OIDC or use a non-Microsoft authority.",
},
cannotAllowNativeBroker: {
code: "cannot_allow_native_broker",
desc: "Cannot set allowNativeBroker parameter to true when not in AAD protocol mode.",
},
authorityMismatch: {
code: "authority_mismatch",
desc: "Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority."
}
desc: "Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority.",
},
};

@@ -259,2 +267,14 @@ /**

/**
* Throws error when provided non-default OIDCOptions when not in OIDC protocol mode
*/
static createCannotSetOIDCOptionsError() {
return new ClientConfigurationError(ClientConfigurationErrorMessage.cannotSetOIDCOptions.code, ClientConfigurationErrorMessage.cannotSetOIDCOptions.desc);
}
/**
* Throws error when allowNativeBroker is set to true when not in AAD protocol mode
*/
static createCannotAllowNativeBrokerError() {
return new ClientConfigurationError(ClientConfigurationErrorMessage.cannotAllowNativeBroker.code, ClientConfigurationErrorMessage.cannotAllowNativeBroker.desc);
}
/**
* Create an error when the authority provided in request does not match authority provided in account or MSAL.js configuration.

@@ -261,0 +281,0 @@ */

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { Constants } from '../utils/Constants.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { AuthError } from './AuthError.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { AuthError } from './AuthError.js';

@@ -24,2 +24,3 @@ /**

export { ProtocolMode } from "./authority/ProtocolMode";
export { OIDCOptions } from "./authority/OIDCOptions";
export { INativeBrokerPlugin } from "./broker/nativeBroker/INativeBrokerPlugin";

@@ -64,2 +65,3 @@ export { CacheManager, DefaultStorageClass } from "./cache/CacheManager";

export { RequestParameterBuilder } from "./request/RequestParameterBuilder";
export { StoreInCache } from "./request/StoreInCache";
export { AzureRegion } from "./authority/AzureRegion";

@@ -82,3 +84,3 @@ export { AzureRegionConfiguration } from "./authority/AzureRegionConfiguration";

export { ClientConfigurationError, ClientConfigurationErrorMessage, } from "./error/ClientConfigurationError";
export { Constants, OIDC_DEFAULT_SCOPES, PromptValue, PersistentCacheKeys, ResponseMode, CacheOutcome, CredentialType, CacheType, CacheAccountType, AuthenticationScheme, CodeChallengeMethodValues, SSOTypes, PasswordGrantConstants, ThrottlingConstants, ClaimsRequestKeys, HeaderNames, AADServerParamKeys, Errors, THE_FAMILY_ID, ONE_DAY_IN_MS, GrantType, AADAuthorityConstants, } from "./utils/Constants";
export { Constants, OIDC_DEFAULT_SCOPES, PromptValue, PersistentCacheKeys, ServerResponseType, ResponseMode, CacheOutcome, CredentialType, CacheType, CacheAccountType, AuthenticationScheme, CodeChallengeMethodValues, SSOTypes, PasswordGrantConstants, ThrottlingConstants, ClaimsRequestKeys, HeaderNames, AADServerParamKeys, Errors, THE_FAMILY_ID, ONE_DAY_IN_MS, GrantType, AADAuthorityConstants, } from "./utils/Constants";
export { StringUtils } from "./utils/StringUtils";

@@ -91,3 +93,3 @@ export { StringDict } from "./utils/MsalTypes";

export { IPerformanceClient, PerformanceCallbackFunction, InProgressPerformanceEvent, QueueMeasurement, } from "./telemetry/performance/IPerformanceClient";
export { Counters, IntFields, PerformanceEvent, PerformanceEvents, PerformanceEventStatus, StaticFields, SubMeasurement, } from "./telemetry/performance/PerformanceEvent";
export { IntFields, PerformanceEvent, PerformanceEvents, PerformanceEventStatus, SubMeasurement, } from "./telemetry/performance/PerformanceEvent";
export { IPerformanceMeasurement } from "./telemetry/performance/IPerformanceMeasurement";

@@ -94,0 +96,0 @@ export { PerformanceClient, PreQueueEvent, } from "./telemetry/performance/PerformanceClient";

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -44,3 +44,3 @@ export { AuthorizationCodeClient } from './client/AuthorizationCodeClient.js';

export { ClientConfigurationError, ClientConfigurationErrorMessage } from './error/ClientConfigurationError.js';
export { AADAuthorityConstants, AADServerParamKeys, AuthenticationScheme, CacheAccountType, CacheOutcome, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, Errors, GrantType, HeaderNames, OIDC_DEFAULT_SCOPES, ONE_DAY_IN_MS, PasswordGrantConstants, PersistentCacheKeys, PromptValue, ResponseMode, SSOTypes, THE_FAMILY_ID, ThrottlingConstants } from './utils/Constants.js';
export { AADAuthorityConstants, AADServerParamKeys, AuthenticationScheme, CacheAccountType, CacheOutcome, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, Errors, GrantType, HeaderNames, OIDC_DEFAULT_SCOPES, ONE_DAY_IN_MS, PasswordGrantConstants, PersistentCacheKeys, PromptValue, ResponseMode, SSOTypes, ServerResponseType, THE_FAMILY_ID, ThrottlingConstants } from './utils/Constants.js';
export { StringUtils } from './utils/StringUtils.js';

@@ -47,0 +47,0 @@ export { ProtocolUtils } from './utils/ProtocolUtils.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { StringUtils } from '../utils/StringUtils.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { AuthError } from '../error/AuthError.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { ThrottlingUtils } from './ThrottlingUtils.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { ThrottlingConstants, Constants, HeaderNames } from '../utils/Constants.js';

export declare const name = "@azure/msal-common";
export declare const version = "14.0.0-beta.1";
export declare const version = "14.0.0";
//# sourceMappingURL=packageMetadata.d.ts.map

@@ -1,8 +0,8 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';
/* eslint-disable header/header */
const name = "@azure/msal-common";
const version = "14.0.0-beta.1";
const version = "14.0.0";
export { name, version };
//# sourceMappingURL=packageMetadata.js.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { ClientConfigurationError } from '../error/ClientConfigurationError.js';

import { AuthenticationScheme } from "../utils/Constants";
import { AzureCloudOptions } from "../config/ClientConfiguration";
import { StringDict } from "../utils/MsalTypes";
import { StoreInCache } from "./StoreInCache";
/**

@@ -20,2 +21,3 @@ * BaseAuthRequest

* - tokenQueryParameters - String to string map of custom query parameters added to the /token call
* - storeInCache - Object containing boolean values indicating whether to store tokens in the cache or not (default is true)
*/

@@ -38,3 +40,4 @@ export type BaseAuthRequest = {

tokenQueryParameters?: StringDict;
storeInCache?: StoreInCache;
};
//# sourceMappingURL=BaseAuthRequest.d.ts.map

@@ -31,3 +31,3 @@ import { ResponseMode } from "../utils/Constants";

*/
addScopes(scopes: string[], addOidcScopes?: boolean): void;
addScopes(scopes: string[], addOidcScopes?: boolean, defaultScopes?: Array<string>): void;
/**

@@ -34,0 +34,0 @@ * add clientId

@@ -1,4 +0,4 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';
import { AADServerParamKeys, Constants, ResponseMode, SSOTypes, HeaderNames, CLIENT_INFO, ClaimsRequestKeys, PasswordGrantConstants, AuthenticationScheme, ThrottlingConstants, OIDC_DEFAULT_SCOPES } from '../utils/Constants.js';
import { AADServerParamKeys, Constants, ResponseMode, OIDC_DEFAULT_SCOPES, SSOTypes, HeaderNames, CLIENT_INFO, ClaimsRequestKeys, PasswordGrantConstants, AuthenticationScheme, ThrottlingConstants } from '../utils/Constants.js';
import { ScopeSet } from './ScopeSet.js';

@@ -47,5 +47,11 @@ import { ClientConfigurationError } from '../error/ClientConfigurationError.js';

*/
addScopes(scopes, addOidcScopes = true) {
addScopes(scopes, addOidcScopes = true, defaultScopes = OIDC_DEFAULT_SCOPES) {
// Always add openid to the scopes when adding OIDC scopes
if (addOidcScopes &&
!defaultScopes.includes("openid") &&
!scopes.includes("openid")) {
defaultScopes.push("openid");
}
const requestScopes = addOidcScopes
? [...(scopes || []), ...OIDC_DEFAULT_SCOPES]
? [...(scopes || []), ...defaultScopes]
: scopes || [];

@@ -52,0 +58,0 @@ const scopeSet = new ScopeSet(requestScopes);

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -86,3 +86,3 @@ import { StringUtils } from '../utils/StringUtils.js';

// remove empty string parameters
return Object.fromEntries(Object.entries(eQParams).filter(kv => kv[1] !== ""));
return Object.fromEntries(Object.entries(eQParams).filter((kv) => kv[1] !== ""));
}

@@ -89,0 +89,0 @@ }

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { ClientConfigurationError } from '../error/ClientConfigurationError.js';

@@ -55,9 +55,2 @@ import { ServerAuthorizationTokenResponse } from "./ServerAuthorizationTokenResponse";

/**
* Generate Account
* @param serverTokenResponse
* @param idToken
* @param authority
*/
private generateAccountEntity;
/**
* Creates an @AuthenticationResult from @CacheRecord , @IdToken , and a boolean that states whether or not the result is from cache.

@@ -64,0 +57,0 @@ *

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -10,3 +10,2 @@ import { buildClientInfo } from '../account/ClientInfo.js';

import { AccountEntity } from '../cache/entities/AccountEntity.js';
import { AuthorityType } from '../authority/AuthorityType.js';
import { IdTokenEntity } from '../cache/entities/IdTokenEntity.js';

@@ -49,8 +48,21 @@ import { AccessTokenEntity } from '../cache/entities/AccessTokenEntity.js';

if (!serverResponseHash.state || !cachedState) {
throw !serverResponseHash.state
? ClientAuthError.createStateNotFoundError("Server State")
: ClientAuthError.createStateNotFoundError("Cached State");
throw serverResponseHash.state
? ClientAuthError.createStateNotFoundError("Cached State")
: ClientAuthError.createStateNotFoundError("Server State");
}
if (decodeURIComponent(serverResponseHash.state) !==
decodeURIComponent(cachedState)) {
let decodedServerResponseHash;
let decodedCachedState;
try {
decodedServerResponseHash = decodeURIComponent(serverResponseHash.state);
}
catch (e) {
throw ClientAuthError.createInvalidStateError(serverResponseHash.state, `Server response hash URI could not be decoded`);
}
try {
decodedCachedState = decodeURIComponent(cachedState);
}
catch (e) {
throw ClientAuthError.createInvalidStateError(serverResponseHash.state, `Cached state URI could not be decoded`);
}
if (decodedServerResponseHash !== decodedCachedState) {
throw ClientAuthError.createStateMismatchError();

@@ -115,3 +127,3 @@ }

// generate homeAccountId
this.homeAccountIdentifier = AccountEntity.generateHomeAccountId(serverTokenResponse.client_info || Constants.EMPTY_STRING, authority.authorityType, this.logger, this.cryptoObj, idTokenObj);
this.homeAccountIdentifier = AccountEntity.generateHomeAccountId(serverTokenResponse.client_info || Constants.EMPTY_STRING, authority.authorityType, this.logger, this.cryptoObj, idTokenObj?.claims);
// save the response tokens

@@ -149,3 +161,3 @@ let requestStateObj;

}
await this.cacheStorage.saveCacheRecord(cacheRecord);
await this.cacheStorage.saveCacheRecord(cacheRecord, request.storeInCache);
}

@@ -179,3 +191,9 @@ finally {

cachedIdToken = IdTokenEntity.createIdTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.id_token || Constants.EMPTY_STRING, this.clientId, idTokenObj.claims.tid || Constants.EMPTY_STRING);
cachedAccount = this.generateAccountEntity(serverTokenResponse, idTokenObj, authority, authCodePayload);
cachedAccount = AccountEntity.createAccount({
homeAccountId: this.homeAccountIdentifier,
idTokenClaims: idTokenObj.claims,
clientInfo: serverTokenResponse.client_info,
cloudGraphHostName: authCodePayload?.cloud_graph_host_name,
msGraphHost: authCodePayload?.msgraph_host,
}, authority);
}

@@ -225,30 +243,2 @@ // AccessToken

/**
* Generate Account
* @param serverTokenResponse
* @param idToken
* @param authority
*/
generateAccountEntity(serverTokenResponse, idToken, authority, authCodePayload) {
const authorityType = authority.authorityType;
const cloudGraphHostName = authCodePayload
? authCodePayload.cloud_graph_host_name
: Constants.EMPTY_STRING;
const msGraphhost = authCodePayload
? authCodePayload.msgraph_host
: Constants.EMPTY_STRING;
// ADFS does not require client_info in the response
if (authorityType === AuthorityType.Adfs) {
this.logger.verbose("Authority type is ADFS, creating ADFS account");
return AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost);
}
// This fallback applies to B2C as well as they fall under an AAD account type.
if (StringUtils.isEmpty(serverTokenResponse.client_info) &&
authority.protocolMode === "AAD") {
throw ClientAuthError.createClientInfoEmptyError();
}
return serverTokenResponse.client_info
? AccountEntity.createAccount(serverTokenResponse.client_info, this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost)
: AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost);
}
/**
* Creates an @AuthenticationResult from @CacheRecord , @IdToken , and a boolean that states whether or not the result is from cache.

@@ -255,0 +245,0 @@ *

@@ -1,9 +0,13 @@

import { Counters, PerformanceEvent, PerformanceEvents, StaticFields } from "./PerformanceEvent";
import { PerformanceEvent, PerformanceEvents } from "./PerformanceEvent";
import { IPerformanceMeasurement } from "./IPerformanceMeasurement";
export type PerformanceCallbackFunction = (events: PerformanceEvent[]) => void;
export type InProgressPerformanceEvent = {
endMeasurement: (event?: Partial<PerformanceEvent>) => PerformanceEvent | null;
discardMeasurement: () => void;
addStaticFields: (staticFields: StaticFields) => void;
increment: (counters: Counters) => void;
end: (event?: Partial<PerformanceEvent>) => PerformanceEvent | null;
discard: () => void;
add: (fields: {
[key: string]: {} | undefined;
}) => void;
increment: (fields: {
[key: string]: number | undefined;
}) => void;
event: PerformanceEvent;

@@ -13,6 +17,11 @@ measurement: IPerformanceMeasurement;

export interface IPerformanceClient {
startMeasurement(measureName: PerformanceEvents, correlationId?: string): InProgressPerformanceEvent;
startMeasurement(measureName: string, correlationId?: string): InProgressPerformanceEvent;
endMeasurement(event: PerformanceEvent): PerformanceEvent | null;
discardMeasurements(correlationId: string): void;
addStaticFields(staticFields: StaticFields, correlationId: string): void;
addFields(fields: {
[key: string]: {} | undefined;
}, correlationId: string): void;
incrementFields(fields: {
[key: string]: number | undefined;
}, correlationId: string): void;
removePerformanceCallback(callbackId: string): boolean;

@@ -19,0 +28,0 @@ addPerformanceCallback(callback: PerformanceCallbackFunction): string;

@@ -5,3 +5,3 @@ import { ApplicationTelemetry } from "../../config/ClientConfiguration";

import { IPerformanceMeasurement } from "./IPerformanceMeasurement";
import { Counters, PerformanceEvent, PerformanceEvents, StaticFields } from "./PerformanceEvent";
import { PerformanceEvent, PerformanceEvents } from "./PerformanceEvent";
export interface PreQueueEvent {

@@ -39,2 +39,3 @@ name: PerformanceEvents;

protected queueMeasurements: Map<string, Array<QueueMeasurement>>;
protected intFields: Set<string>;
/**

@@ -50,4 +51,6 @@ * Creates an instance of PerformanceClient,

* @param {string} libraryVersion Version of the library
* @param {ApplicationTelemetry} applicationTelemetry application name and version
* @param {Set<String>} intFields integer fields to be truncated
*/
constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry);
constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, intFields?: Set<string>);
/**

@@ -80,7 +83,2 @@ * Generates and returns a unique id, typically a guid.

/**
* Get integral fields.
* Override to change the set.
*/
getIntFields(): ReadonlySet<string>;
/**
* Gets map of pre-queue times by correlation Id

@@ -119,3 +117,3 @@ *

*/
startMeasurement(measureName: PerformanceEvents, correlationId?: string): InProgressPerformanceEvent;
startMeasurement(measureName: string, correlationId?: string): InProgressPerformanceEvent;
/**

@@ -137,9 +135,13 @@ * Stops measuring the performance for an operation. Should only be called directly by PerformanceClient classes,

*/
addStaticFields(fields: StaticFields, correlationId: string): void;
addFields(fields: {
[key: string]: {} | undefined;
}, correlationId: string): void;
/**
* Increment counters to be emitted when the measurements are flushed
* @param counters {Counters}
* @param fields {string[]}
* @param correlationId {string} correlation identifier
*/
increment(counters: Counters, correlationId: string): void;
incrementFields(fields: {
[key: string]: number | undefined;
}, correlationId: string): void;
/**

@@ -154,3 +156,3 @@ * Upserts event into event cache.

*/
private cacheEventByCorrelationId;
protected cacheEventByCorrelationId(event: PerformanceEvent): void;
private getQueueInfo;

@@ -157,0 +159,0 @@ /**

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -20,4 +20,6 @@ import { IntFields, PerformanceEventStatus } from './PerformanceEvent.js';

* @param {string} libraryVersion Version of the library
* @param {ApplicationTelemetry} applicationTelemetry application name and version
* @param {Set<String>} intFields integer fields to be truncated
*/
constructor(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry) {
constructor(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry, intFields) {
this.authority = authority;

@@ -33,2 +35,6 @@ this.libraryName = libraryName;

this.preQueueTimeByCorrelationId = new Map();
this.intFields = intFields || new Set();
for (const item of IntFields) {
this.intFields.add(item);
}
}

@@ -49,9 +55,2 @@ /**

/**
* Get integral fields.
* Override to change the set.
*/
getIntFields() {
return IntFields;
}
/**
* Gets map of pre-queue times by correlation Id

@@ -173,3 +172,3 @@ *

return {
endMeasurement: (event) => {
end: (event) => {
return this.endMeasurement({

@@ -182,10 +181,10 @@ // Initial set of event properties

},
discardMeasurement: () => {
discard: () => {
return this.discardMeasurements(inProgressEvent.correlationId);
},
addStaticFields: (fields) => {
return this.addStaticFields(fields, inProgressEvent.correlationId);
add: (fields) => {
return this.addFields(fields, inProgressEvent.correlationId);
},
increment: (counters) => {
return this.increment(counters, inProgressEvent.correlationId);
increment: (fields) => {
return this.incrementFields(fields, inProgressEvent.correlationId);
},

@@ -255,3 +254,3 @@ measurement: performanceMeasurement,

};
this.truncateIntegralFields(finalEvent, this.getIntFields());
this.truncateIntegralFields(finalEvent);
this.emitEvents([finalEvent], event.correlationId);

@@ -265,3 +264,3 @@ return finalEvent;

*/
addStaticFields(fields, correlationId) {
addFields(fields, correlationId) {
this.logger.trace("PerformanceClient: Updating static fields");

@@ -281,14 +280,17 @@ const event = this.eventsByCorrelationId.get(correlationId);

* Increment counters to be emitted when the measurements are flushed
* @param counters {Counters}
* @param fields {string[]}
* @param correlationId {string} correlation identifier
*/
increment(counters, correlationId) {
incrementFields(fields, correlationId) {
this.logger.trace("PerformanceClient: Updating counters");
const event = this.eventsByCorrelationId.get(correlationId);
if (event) {
for (const counter in counters) {
for (const counter in fields) {
if (!event.hasOwnProperty(counter)) {
event[counter] = 0;
}
event[counter] += counters[counter];
else if (isNaN(Number(event[counter]))) {
return;
}
event[counter] += fields[counter];
}

@@ -411,4 +413,4 @@ }

*/
truncateIntegralFields(event, intFields) {
intFields.forEach((key) => {
truncateIntegralFields(event) {
this.intFields.forEach((key) => {
if (key in event && typeof event[key] === "number") {

@@ -415,0 +417,0 @@ event[key] = Math.floor(event[key]);

@@ -199,4 +199,5 @@ /**

readonly NativeMessageHandlerHandshake: "nativeMessageHandlerHandshake";
readonly NativeGenerateAuthResult: "nativeGenerateAuthResult";
};
export type PerformanceEvents = typeof PerformanceEvents[keyof typeof PerformanceEvents];
export type PerformanceEvents = (typeof PerformanceEvents)[keyof typeof PerformanceEvents];
/**

@@ -213,94 +214,5 @@ * State of the performance event.

};
export type PerformanceEventStatus = typeof PerformanceEventStatus[keyof typeof PerformanceEventStatus];
/**
* Fields whose value will not change throughout a request
*/
export type StaticFields = {
/**
* The Silent Token Cache Lookup Policy
*
* @type {?(number | undefined)}
*/
cacheLookupPolicy?: number | undefined;
/**
* Size of the id token
*
* @type {number}
*/
idTokenSize?: number;
/**
*
* Size of the access token
*
* @type {number}
*/
accessTokenSize?: number;
/**
*
* Size of the refresh token
*
* @type {number}
*/
refreshTokenSize?: number | undefined;
/**
* Application name as specified by the app.
*
* @type {?string}
*/
appName?: string;
/**
* Application version as specified by the app.
*
* @type {?string}
*/
appVersion?: string;
/**
* The following are fields that may be emitted in native broker scenarios
*/
extensionId?: string;
extensionVersion?: string;
matsBrokerVersion?: string;
matsAccountJoinOnStart?: string;
matsAccountJoinOnEnd?: string;
matsDeviceJoin?: string;
matsPromptBehavior?: string;
matsApiErrorCode?: number;
matsUiVisible?: boolean;
matsSilentCode?: number;
matsSilentBiSubCode?: number;
matsSilentMessage?: string;
matsSilentStatus?: number;
matsHttpStatus?: number;
matsHttpEventCount?: number;
httpVerToken?: string;
httpVerAuthority?: string;
/**
* Native broker fields
*/
allowNativeBroker?: boolean;
extensionInstalled?: boolean;
extensionHandshakeTimeoutMs?: number;
extensionHandshakeTimedOut?: boolean;
};
/**
* Fields whose value may change throughout a request
*/
export type Counters = {
visibilityChangeCount?: number;
incompleteSubsCount?: number;
/**
* Amount of times queued in the JS event queue.
*
* @type {?number}
*/
queuedCount?: number;
/**
* Amount of manually completed queue events.
*
* @type {?number}
*/
queuedManuallyCompletedCount?: number;
};
export type PerformanceEventStatus = (typeof PerformanceEventStatus)[keyof typeof PerformanceEventStatus];
export type SubMeasurement = {
name: PerformanceEvents;
name: string;
startTimeMs: number;

@@ -314,3 +226,3 @@ };

*/
export type PerformanceEvent = StaticFields & Counters & {
export type PerformanceEvent = {
/**

@@ -369,5 +281,5 @@ * Unique id for the event

*
* @type {PerformanceEvents}
* @type {string}
*/
name: PerformanceEvents;
name: string;
/**

@@ -444,4 +356,77 @@ * Visibility of the page when the event completed.

incompleteSubMeasurements?: Map<string, SubMeasurement>;
visibilityChangeCount?: number;
incompleteSubsCount?: number;
/**
* Amount of times queued in the JS event queue.
*
* @type {?number}
*/
queuedCount?: number;
/**
* Amount of manually completed queue events.
*
* @type {?number}
*/
queuedManuallyCompletedCount?: number;
/**
* Size of the id token
*
* @type {number}
*/
idTokenSize?: number;
/**
*
* Size of the access token
*
* @type {number}
*/
accessTokenSize?: number;
/**
*
* Size of the refresh token
*
* @type {number}
*/
refreshTokenSize?: number | undefined;
/**
* Application name as specified by the app.
*
* @type {?string}
*/
appName?: string;
/**
* Application version as specified by the app.
*
* @type {?string}
*/
appVersion?: string;
/**
* The following are fields that may be emitted in native broker scenarios
*/
extensionId?: string;
extensionVersion?: string;
matsBrokerVersion?: string;
matsAccountJoinOnStart?: string;
matsAccountJoinOnEnd?: string;
matsDeviceJoin?: string;
matsPromptBehavior?: string;
matsApiErrorCode?: number;
matsUiVisible?: boolean;
matsSilentCode?: number;
matsSilentBiSubCode?: number;
matsSilentMessage?: string;
matsSilentStatus?: number;
matsHttpStatus?: number;
matsHttpEventCount?: number;
httpVerToken?: string;
httpVerAuthority?: string;
/**
* Native broker fields
*/
allowNativeBroker?: boolean;
extensionInstalled?: boolean;
extensionHandshakeTimeoutMs?: number;
extensionHandshakeTimedOut?: boolean;
};
export declare const IntFields: ReadonlySet<string>;
//# sourceMappingURL=PerformanceEvent.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -205,2 +205,3 @@ /*

NativeMessageHandlerHandshake: "nativeMessageHandlerHandshake",
NativeGenerateAuthResult: "nativeGenerateAuthResult",
};

@@ -207,0 +208,0 @@ /**

import { IPerformanceClient } from "./IPerformanceClient";
import { IPerformanceMeasurement } from "./IPerformanceMeasurement";
import { PerformanceClient } from "./PerformanceClient";
import { PerformanceEvent } from "./PerformanceEvent";
export declare class StubPerformanceMeasurement implements IPerformanceMeasurement {

@@ -15,3 +16,11 @@ startMeasurement(): void;

setPreQueueTime(): void;
endMeasurement(): PerformanceEvent | null;
discardMeasurements(): void;
removePerformanceCallback(): boolean;
addPerformanceCallback(): string;
emitEvents(): void;
addFields(): void;
incrementFields(): void;
cacheEventByCorrelationId(): void;
}
//# sourceMappingURL=StubPerformanceClient.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -10,5 +10,11 @@ import { PerformanceClient } from './PerformanceClient.js';

class StubPerformanceMeasurement {
startMeasurement() { return; }
endMeasurement() { return; }
flushMeasurement() { return null; }
startMeasurement() {
return;
}
endMeasurement() {
return;
}
flushMeasurement() {
return null;
}
}

@@ -25,4 +31,32 @@ class StubPerformanceClient extends PerformanceClient {

}
addQueueMeasurement() { return; }
setPreQueueTime() { return; }
addQueueMeasurement() {
return;
}
setPreQueueTime() {
return;
}
endMeasurement() {
return null;
}
discardMeasurements() {
return;
}
removePerformanceCallback() {
return true;
}
addPerformanceCallback() {
return "";
}
emitEvents() {
return;
}
addFields() {
return;
}
incrementFields() {
return;
}
cacheEventByCorrelationId() {
return;
}
}

@@ -29,0 +63,0 @@

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { CacheOutcome, Constants, SERVER_TELEM_CONSTANTS, Separators } from '../../utils/Constants.js';

import { ServerAuthorizationCodeResponse } from "../response/ServerAuthorizationCodeResponse";
import { IUri } from "./IUri";
import { ServerResponseType } from "../utils/Constants";
/**

@@ -57,2 +58,9 @@ * Url object class which can perform various transformations on url strings.

static parseQueryString(queryString: string): string;
/**
* Parses query server response string from given string.
* Extract hash between '?code=' and '#' if trailing '# is present.
* Returns empty string if no query symbol is found.
* @param queryString
*/
static parseQueryServerResponse(queryString: string): string;
static constructAuthorityUriFromObject(urlObject: IUri): UrlString;

@@ -68,2 +76,7 @@ /**

/**
* Returns either deserialized query string or deserialized hash, depending on the serverResponseType
* as a server auth code response object.
*/
static getDeserializedCodeResponse(serverResponseType: ServerResponseType | undefined, hashFragment: string): ServerAuthorizationCodeResponse;
/**
* Check if the hash of the URL string contains known properties

@@ -70,0 +83,0 @@ */

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -6,3 +6,3 @@ import { ClientConfigurationError } from '../error/ClientConfigurationError.js';

import { StringUtils } from '../utils/StringUtils.js';
import { AADAuthorityConstants, Constants } from '../utils/Constants.js';
import { AADAuthorityConstants, Constants, ServerResponseType } from '../utils/Constants.js';

@@ -191,2 +191,26 @@ /*

}
/**
* Parses query server response string from given string.
* Extract hash between '?code=' and '#' if trailing '# is present.
* Returns empty string if no query symbol is found.
* @param queryString
*/
static parseQueryServerResponse(queryString) {
const queryIndex1 = queryString.indexOf("?code");
const queryIndex2 = queryString.indexOf("/?code");
const hashIndex = queryString.indexOf("#");
if (queryIndex2 > -1 && hashIndex > -1) {
return queryString.substring(queryIndex2 + 2, hashIndex);
}
else if (queryIndex2 > -1) {
return queryString.substring(queryIndex2 + 2);
}
else if (queryIndex1 > -1 && hashIndex > -1) {
return queryString.substring(queryIndex1 + 1, hashIndex);
}
else if (queryIndex1 > -1) {
return queryString.substring(queryIndex1 + 1);
}
return Constants.EMPTY_STRING;
}
static constructAuthorityUriFromObject(urlObject) {

@@ -238,2 +262,17 @@ return new UrlString(urlObject.Protocol +

/**
* Returns either deserialized query string or deserialized hash, depending on the serverResponseType
* as a server auth code response object.
*/
static getDeserializedCodeResponse(serverResponseType, hashFragment) {
const hashUrlString = new UrlString(hashFragment);
let serverParams;
if (serverResponseType === ServerResponseType.QUERY) {
serverParams = UrlString.getDeserializedQueryString(hashFragment);
}
else {
serverParams = UrlString.getDeserializedHash(hashUrlString.getHash());
}
return serverParams;
}
/**
* Check if the hash of the URL string contains known properties

@@ -240,0 +279,0 @@ */

@@ -58,3 +58,3 @@ export declare const Constants: {

};
export type HeaderNames = typeof HeaderNames[keyof typeof HeaderNames];
export type HeaderNames = (typeof HeaderNames)[keyof typeof HeaderNames];
/**

@@ -72,3 +72,3 @@ * Persistent cache keys MSAL which stay while user is logged in.

};
export type PersistentCacheKeys = typeof PersistentCacheKeys[keyof typeof PersistentCacheKeys];
export type PersistentCacheKeys = (typeof PersistentCacheKeys)[keyof typeof PersistentCacheKeys];
/**

@@ -82,3 +82,3 @@ * String constants related to AAD Authority

};
export type AADAuthorityConstants = typeof AADAuthorityConstants[keyof typeof AADAuthorityConstants];
export type AADAuthorityConstants = (typeof AADAuthorityConstants)[keyof typeof AADAuthorityConstants];
/**

@@ -137,3 +137,3 @@ * Keys in the hashParams sent by AAD Server

};
export type AADServerParamKeys = typeof AADServerParamKeys[keyof typeof AADServerParamKeys];
export type AADServerParamKeys = (typeof AADServerParamKeys)[keyof typeof AADServerParamKeys];
/**

@@ -146,3 +146,3 @@ * Claims request keys

};
export type ClaimsRequestKeys = typeof ClaimsRequestKeys[keyof typeof ClaimsRequestKeys];
export type ClaimsRequestKeys = (typeof ClaimsRequestKeys)[keyof typeof ClaimsRequestKeys];
/**

@@ -175,3 +175,3 @@ * we considered making this "enum" in the request instead of string, however it looks like the allowed list of

};
export type SSOTypes = typeof SSOTypes[keyof typeof SSOTypes];
export type SSOTypes = (typeof SSOTypes)[keyof typeof SSOTypes];
/**

@@ -185,10 +185,18 @@ * allowed values for codeVerifier

/**
* allowed values for server response type
*/
export declare const ServerResponseType: {
readonly QUERY: "query";
readonly FRAGMENT: "fragment";
};
export type ServerResponseType = (typeof ServerResponseType)[keyof typeof ServerResponseType];
/**
* allowed values for response_mode
*/
export declare const ResponseMode: {
readonly FORM_POST: "form_post";
readonly QUERY: "query";
readonly FRAGMENT: "fragment";
readonly FORM_POST: "form_post";
};
export type ResponseMode = typeof ResponseMode[keyof typeof ResponseMode];
export type ResponseMode = (typeof ResponseMode)[keyof typeof ResponseMode];
/**

@@ -206,3 +214,3 @@ * allowed grant_type

};
export type GrantType = typeof GrantType[keyof typeof GrantType];
export type GrantType = (typeof GrantType)[keyof typeof GrantType];
/**

@@ -217,3 +225,3 @@ * Account types in Cache

};
export type CacheAccountType = typeof CacheAccountType[keyof typeof CacheAccountType];
export type CacheAccountType = (typeof CacheAccountType)[keyof typeof CacheAccountType];
/**

@@ -226,3 +234,3 @@ * Separators used in cache

};
export type Separators = typeof Separators[keyof typeof Separators];
export type Separators = (typeof Separators)[keyof typeof Separators];
/**

@@ -237,3 +245,3 @@ * Credential Type stored in the cache

};
export type CredentialType = typeof CredentialType[keyof typeof CredentialType];
export type CredentialType = (typeof CredentialType)[keyof typeof CredentialType];
/**

@@ -253,3 +261,3 @@ * Combine all cache types

};
export type CacheType = typeof CacheType[keyof typeof CacheType];
export type CacheType = (typeof CacheType)[keyof typeof CacheType];
/**

@@ -271,3 +279,3 @@ * More Cache related constants

};
export type AuthorityMetadataSource = typeof AuthorityMetadataSource[keyof typeof AuthorityMetadataSource];
export type AuthorityMetadataSource = (typeof AuthorityMetadataSource)[keyof typeof AuthorityMetadataSource];
export declare const SERVER_TELEM_CONSTANTS: {

@@ -293,3 +301,3 @@ SCHEMA_VERSION: number;

};
export type AuthenticationScheme = typeof AuthenticationScheme[keyof typeof AuthenticationScheme];
export type AuthenticationScheme = (typeof AuthenticationScheme)[keyof typeof AuthenticationScheme];
/**

@@ -315,3 +323,3 @@ * Constants related to throttling

};
export type PasswordGrantConstants = typeof PasswordGrantConstants[keyof typeof PasswordGrantConstants];
export type PasswordGrantConstants = (typeof PasswordGrantConstants)[keyof typeof PasswordGrantConstants];
/**

@@ -324,3 +332,3 @@ * Response codes

};
export type ResponseCodes = typeof ResponseCodes[keyof typeof ResponseCodes];
export type ResponseCodes = (typeof ResponseCodes)[keyof typeof ResponseCodes];
/**

@@ -335,3 +343,3 @@ * Region Discovery Sources

};
export type RegionDiscoverySources = typeof RegionDiscoverySources[keyof typeof RegionDiscoverySources];
export type RegionDiscoverySources = (typeof RegionDiscoverySources)[keyof typeof RegionDiscoverySources];
/**

@@ -347,3 +355,3 @@ * Region Discovery Outcomes

};
export type RegionDiscoveryOutcomes = typeof RegionDiscoveryOutcomes[keyof typeof RegionDiscoveryOutcomes];
export type RegionDiscoveryOutcomes = (typeof RegionDiscoveryOutcomes)[keyof typeof RegionDiscoveryOutcomes];
export declare const CacheOutcome: {

@@ -356,3 +364,3 @@ readonly NO_CACHE_HIT: "0";

};
export type CacheOutcome = typeof CacheOutcome[keyof typeof CacheOutcome];
export type CacheOutcome = (typeof CacheOutcome)[keyof typeof CacheOutcome];
export declare const JsonTypes: {

@@ -363,4 +371,4 @@ readonly Jwt: "JWT";

};
export type JsonTypes = typeof JsonTypes[keyof typeof JsonTypes];
export type JsonTypes = (typeof JsonTypes)[keyof typeof JsonTypes];
export declare const ONE_DAY_IN_MS = 86400000;
//# sourceMappingURL=Constants.d.ts.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -199,7 +199,13 @@ /*

/**
* allowed values for server response type
*/
const ServerResponseType = {
QUERY: "query",
FRAGMENT: "fragment",
};
/**
* allowed values for response_mode
*/
const ResponseMode = {
QUERY: "query",
FRAGMENT: "fragment",
...ServerResponseType,
FORM_POST: "form_post",

@@ -358,3 +364,3 @@ };

export { AADAuthorityConstants, AADServerParamKeys, APP_METADATA, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme, AuthorityMetadataSource, CLIENT_INFO, CacheAccountType, CacheOutcome, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, Errors, GrantType, HeaderNames, JsonTypes, OIDC_DEFAULT_SCOPES, OIDC_SCOPES, ONE_DAY_IN_MS, PasswordGrantConstants, PersistentCacheKeys, PromptValue, RegionDiscoveryOutcomes, RegionDiscoverySources, ResponseCodes, ResponseMode, SERVER_TELEM_CONSTANTS, SSOTypes, Separators, THE_FAMILY_ID, ThrottlingConstants };
export { AADAuthorityConstants, AADServerParamKeys, APP_METADATA, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme, AuthorityMetadataSource, CLIENT_INFO, CacheAccountType, CacheOutcome, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, Errors, GrantType, HeaderNames, JsonTypes, 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 };
//# sourceMappingURL=Constants.js.map

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { StringUtils } from './StringUtils.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ import { ClientAuthError } from '../error/ClientAuthError.js';

@@ -1,2 +0,2 @@

/*! @azure/msal-common v14.0.0-beta.1 2023-07-06 */
/*! @azure/msal-common v14.0.0 2023-08-08 */
'use strict';

@@ -3,0 +3,0 @@ /*

@@ -13,3 +13,3 @@ {

},
"version": "14.0.0-beta.1",
"version": "14.0.0",
"description": "Microsoft Authentication Library for js",

@@ -26,5 +26,14 @@ "keywords": [

"sideEffects": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"module": "./dist/index.js",
"import": "./dist/index.js",
"require": "./dist/index.cjs.js",
"default": "./dist/index.js"
},
"./package.json": "./package.json"
},
"engines": {

@@ -57,7 +66,3 @@ "node": ">=0.8.0"

"beachball": {
"disallowedChangeTypes": [
"patch",
"minor",
"major"
]
"disallowedChangeTypes": []
},

@@ -64,0 +69,0 @@ "devDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc