Commit iniziale
This commit is contained in:
255
node_modules/@azure/msal-common/dist/authority/Authority.d.ts
generated
vendored
Normal file
255
node_modules/@azure/msal-common/dist/authority/Authority.d.ts
generated
vendored
Normal file
@@ -0,0 +1,255 @@
|
||||
import { AuthorityType } from "./AuthorityType.js";
|
||||
import { OpenIdConfigResponse } from "./OpenIdConfigResponse.js";
|
||||
import { IUri } from "../url/IUri.js";
|
||||
import { INetworkModule } from "../network/INetworkModule.js";
|
||||
import { ProtocolMode } from "./ProtocolMode.js";
|
||||
import { ICacheManager } from "../cache/interface/ICacheManager.js";
|
||||
import { AuthorityOptions, StaticAuthorityOptions } from "./AuthorityOptions.js";
|
||||
import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata.js";
|
||||
import { RegionDiscoveryMetadata } from "./RegionDiscoveryMetadata.js";
|
||||
import { AzureCloudOptions } from "../config/ClientConfiguration.js";
|
||||
import { Logger } from "../logger/Logger.js";
|
||||
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient.js";
|
||||
/**
|
||||
* The authority class validates the authority URIs used by the user, and retrieves the OpenID Configuration Data from the
|
||||
* endpoint. It will store the pertinent config data in this object for use during token calls.
|
||||
* @internal
|
||||
*/
|
||||
export declare class Authority {
|
||||
private _canonicalAuthority;
|
||||
private _canonicalAuthorityUrlComponents;
|
||||
protected networkInterface: INetworkModule;
|
||||
protected cacheManager: ICacheManager;
|
||||
private authorityOptions;
|
||||
private metadata;
|
||||
private regionDiscovery;
|
||||
regionDiscoveryMetadata: RegionDiscoveryMetadata;
|
||||
private logger;
|
||||
protected performanceClient: IPerformanceClient | undefined;
|
||||
protected correlationId: string;
|
||||
private managedIdentity;
|
||||
private static reservedTenantDomains;
|
||||
constructor(authority: string, networkInterface: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions, logger: Logger, correlationId: string, performanceClient?: IPerformanceClient, managedIdentity?: boolean);
|
||||
/**
|
||||
* Get {@link AuthorityType}
|
||||
* @param authorityUri {@link IUri}
|
||||
* @private
|
||||
*/
|
||||
private getAuthorityType;
|
||||
get authorityType(): AuthorityType;
|
||||
/**
|
||||
* ProtocolMode enum representing the way endpoints are constructed.
|
||||
*/
|
||||
get protocolMode(): ProtocolMode;
|
||||
/**
|
||||
* Returns authorityOptions which can be used to reinstantiate a new authority instance
|
||||
*/
|
||||
get options(): AuthorityOptions;
|
||||
/**
|
||||
* A URL that is the authority set by the developer
|
||||
*/
|
||||
get canonicalAuthority(): string;
|
||||
/**
|
||||
* Sets canonical authority.
|
||||
*/
|
||||
set canonicalAuthority(url: string);
|
||||
/**
|
||||
* Get authority components.
|
||||
*/
|
||||
get canonicalAuthorityUrlComponents(): IUri;
|
||||
/**
|
||||
* Get hostname and port i.e. login.microsoftonline.com
|
||||
*/
|
||||
get hostnameAndPort(): string;
|
||||
/**
|
||||
* Get tenant for authority.
|
||||
*/
|
||||
get tenant(): string;
|
||||
/**
|
||||
* OAuth /authorize endpoint for requests
|
||||
*/
|
||||
get authorizationEndpoint(): string;
|
||||
/**
|
||||
* OAuth /token endpoint for requests
|
||||
*/
|
||||
get tokenEndpoint(): string;
|
||||
get deviceCodeEndpoint(): string;
|
||||
/**
|
||||
* OAuth logout endpoint for requests
|
||||
*/
|
||||
get endSessionEndpoint(): string;
|
||||
/**
|
||||
* OAuth issuer for requests
|
||||
*/
|
||||
get selfSignedJwtAudience(): string;
|
||||
/**
|
||||
* Jwks_uri for token signing keys
|
||||
*/
|
||||
get jwksUri(): string;
|
||||
/**
|
||||
* Returns a flag indicating that tenant name can be replaced in authority {@link IUri}
|
||||
* @param authorityUri {@link IUri}
|
||||
* @private
|
||||
*/
|
||||
private canReplaceTenant;
|
||||
/**
|
||||
* Replaces tenant in url path with current tenant. Defaults to common.
|
||||
* @param urlString
|
||||
*/
|
||||
private replaceTenant;
|
||||
/**
|
||||
* Replaces path such as tenant or policy with the current tenant or policy.
|
||||
* @param urlString
|
||||
*/
|
||||
private replacePath;
|
||||
/**
|
||||
* The default open id configuration endpoint for any canonical authority.
|
||||
*/
|
||||
protected get defaultOpenIdConfigurationEndpoint(): string;
|
||||
/**
|
||||
* Boolean that returns whether or not tenant discovery has been completed.
|
||||
*/
|
||||
discoveryComplete(): boolean;
|
||||
/**
|
||||
* Perform endpoint discovery to discover aliases, preferred_cache, preferred_network
|
||||
* and the /authorize, /token and logout endpoints.
|
||||
*/
|
||||
resolveEndpointsAsync(): Promise<void>;
|
||||
/**
|
||||
* Returns metadata entity from cache if it exists, otherwiser returns a new metadata entity built
|
||||
* from the configured canonical authority
|
||||
* @returns
|
||||
*/
|
||||
private getCurrentMetadataEntity;
|
||||
/**
|
||||
* Updates cached metadata based on metadata source and sets the instance's metadata
|
||||
* property to the same value
|
||||
* @param metadataEntity
|
||||
* @param cloudDiscoverySource
|
||||
* @param endpointMetadataResult
|
||||
*/
|
||||
private updateCachedMetadata;
|
||||
/**
|
||||
* Update AuthorityMetadataEntity with new endpoints and return where the information came from
|
||||
* @param metadataEntity
|
||||
*/
|
||||
private updateEndpointMetadata;
|
||||
/**
|
||||
* Updates endpoint metadata from local sources and returns where the information was retrieved from and the metadata config
|
||||
* response if the source is hardcoded metadata
|
||||
* @param metadataEntity
|
||||
* @returns
|
||||
*/
|
||||
private updateEndpointMetadataFromLocalSources;
|
||||
/**
|
||||
* Compares the number of url components after the domain to determine if the cached
|
||||
* authority metadata can be used for the requested authority. Protects against same domain different
|
||||
* authority such as login.microsoftonline.com/tenant and login.microsoftonline.com/tfp/tenant/policy
|
||||
* @param metadataEntity
|
||||
*/
|
||||
private isAuthoritySameType;
|
||||
/**
|
||||
* Parse authorityMetadata config option
|
||||
*/
|
||||
private getEndpointMetadataFromConfig;
|
||||
/**
|
||||
* Gets OAuth endpoints from the given OpenID configuration endpoint.
|
||||
*
|
||||
* @param hasHardcodedMetadata boolean
|
||||
*/
|
||||
private getEndpointMetadataFromNetwork;
|
||||
/**
|
||||
* Get OAuth endpoints for common authorities.
|
||||
*/
|
||||
private getEndpointMetadataFromHardcodedValues;
|
||||
/**
|
||||
* Update the retrieved metadata with regional information.
|
||||
* User selected Azure region will be used if configured.
|
||||
*/
|
||||
private updateMetadataWithRegionalInformation;
|
||||
/**
|
||||
* Updates the AuthorityMetadataEntity with new aliases, preferred_network and preferred_cache
|
||||
* and returns where the information was retrieved from
|
||||
* @param metadataEntity
|
||||
* @returns AuthorityMetadataSource
|
||||
*/
|
||||
private updateCloudDiscoveryMetadata;
|
||||
private updateCloudDiscoveryMetadataFromLocalSources;
|
||||
/**
|
||||
* Parse cloudDiscoveryMetadata config or check knownAuthorities
|
||||
*/
|
||||
private getCloudDiscoveryMetadataFromConfig;
|
||||
/**
|
||||
* Called to get metadata from network if CloudDiscoveryMetadata was not populated by config
|
||||
*
|
||||
* @param hasHardcodedMetadata boolean
|
||||
*/
|
||||
private getCloudDiscoveryMetadataFromNetwork;
|
||||
/**
|
||||
* Helper function to determine if this host is included in the knownAuthorities config option
|
||||
*/
|
||||
private isInKnownAuthorities;
|
||||
/**
|
||||
* helper function to populate the authority based on azureCloudOptions
|
||||
* @param authorityString
|
||||
* @param azureCloudOptions
|
||||
*/
|
||||
static generateAuthority(authorityString: string, azureCloudOptions?: AzureCloudOptions): string;
|
||||
/**
|
||||
* Creates cloud discovery metadata object from a given host
|
||||
* @param host
|
||||
*/
|
||||
static createCloudDiscoveryMetadataFromHost(host: string): CloudDiscoveryMetadata;
|
||||
/**
|
||||
* helper function to generate environment from authority object
|
||||
*/
|
||||
getPreferredCache(): string;
|
||||
/**
|
||||
* Returns whether or not the provided host is an alias of this authority instance
|
||||
* @param host
|
||||
*/
|
||||
isAlias(host: string): boolean;
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* @param authority string
|
||||
* @returns bool
|
||||
*/
|
||||
static isPublicCloudAuthority(host: string): boolean;
|
||||
/**
|
||||
* Rebuild the authority string with the region
|
||||
*
|
||||
* @param host string
|
||||
* @param region string
|
||||
*/
|
||||
static buildRegionalAuthorityString(host: string, region: string, queryString?: string): string;
|
||||
/**
|
||||
* Replace the endpoints in the metadata object with their regional equivalents.
|
||||
*
|
||||
* @param metadata OpenIdConfigResponse
|
||||
* @param azureRegion string
|
||||
*/
|
||||
static replaceWithRegionalInformation(metadata: OpenIdConfigResponse, azureRegion: string): OpenIdConfigResponse;
|
||||
/**
|
||||
* Transform CIAM_AUTHORIY as per the below rules:
|
||||
* If no path segments found and it is a CIAM authority (hostname ends with .ciamlogin.com), then transform it
|
||||
*
|
||||
* NOTE: The transformation path should go away once STS supports CIAM with the format: `tenantIdorDomain.ciamlogin.com`
|
||||
* `ciamlogin.com` can also change in the future and we should accommodate the same
|
||||
*
|
||||
* @param authority
|
||||
*/
|
||||
static transformCIAMAuthority(authority: string): string;
|
||||
}
|
||||
/**
|
||||
* Extract tenantId from authority
|
||||
*/
|
||||
export declare function getTenantFromAuthorityString(authority: string): string | undefined;
|
||||
export declare function formatAuthorityUri(authorityUri: string): string;
|
||||
export declare function buildStaticAuthorityOptions(authOptions: Partial<AuthorityOptions>): StaticAuthorityOptions;
|
||||
//# sourceMappingURL=Authority.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/Authority.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/Authority.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Authority.d.ts","sourceRoot":"","sources":["../../src/authority/Authority.ts"],"names":[],"mappings":"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"}
|
||||
860
node_modules/@azure/msal-common/dist/authority/Authority.mjs
generated
vendored
Normal file
860
node_modules/@azure/msal-common/dist/authority/Authority.mjs
generated
vendored
Normal file
@@ -0,0 +1,860 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
import { AuthorityType } from './AuthorityType.mjs';
|
||||
import { isOpenIdConfigResponse } from './OpenIdConfigResponse.mjs';
|
||||
import { UrlString } from '../url/UrlString.mjs';
|
||||
import { createClientAuthError } from '../error/ClientAuthError.mjs';
|
||||
import { Constants, AuthorityMetadataSource, RegionDiscoveryOutcomes, AADAuthorityConstants } from '../utils/Constants.mjs';
|
||||
import { EndpointMetadata, getCloudDiscoveryMetadataFromHardcodedValues, getCloudDiscoveryMetadataFromNetworkResponse, InstanceDiscoveryMetadataAliases } from './AuthorityMetadata.mjs';
|
||||
import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
|
||||
import { ProtocolMode } from './ProtocolMode.mjs';
|
||||
import { AzureCloudInstance } from './AuthorityOptions.mjs';
|
||||
import { isCloudInstanceDiscoveryResponse } from './CloudInstanceDiscoveryResponse.mjs';
|
||||
import { isCloudInstanceDiscoveryErrorResponse } from './CloudInstanceDiscoveryErrorResponse.mjs';
|
||||
import { RegionDiscovery } from './RegionDiscovery.mjs';
|
||||
import { AuthError } from '../error/AuthError.mjs';
|
||||
import { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';
|
||||
import { invokeAsync } from '../utils/FunctionWrappers.mjs';
|
||||
import { generateAuthorityMetadataExpiresAt, updateAuthorityEndpointMetadata, isAuthorityMetadataExpired, updateCloudDiscoveryMetadata } from '../cache/utils/CacheHelpers.mjs';
|
||||
import { endpointResolutionError, endSessionEndpointNotSupported, openIdConfigError } from '../error/ClientAuthErrorCodes.mjs';
|
||||
import { invalidAuthorityMetadata, untrustedAuthority, invalidCloudDiscoveryMetadata } from '../error/ClientConfigurationErrorCodes.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* The authority class validates the authority URIs used by the user, and retrieves the OpenID Configuration Data from the
|
||||
* endpoint. It will store the pertinent config data in this object for use during token calls.
|
||||
* @internal
|
||||
*/
|
||||
class Authority {
|
||||
constructor(authority, networkInterface, cacheManager, authorityOptions, logger, correlationId, performanceClient, managedIdentity) {
|
||||
this.canonicalAuthority = authority;
|
||||
this._canonicalAuthority.validateAsUri();
|
||||
this.networkInterface = networkInterface;
|
||||
this.cacheManager = cacheManager;
|
||||
this.authorityOptions = authorityOptions;
|
||||
this.regionDiscoveryMetadata = {
|
||||
region_used: undefined,
|
||||
region_source: undefined,
|
||||
region_outcome: undefined,
|
||||
};
|
||||
this.logger = logger;
|
||||
this.performanceClient = performanceClient;
|
||||
this.correlationId = correlationId;
|
||||
this.managedIdentity = managedIdentity || false;
|
||||
this.regionDiscovery = new RegionDiscovery(networkInterface, this.logger, this.performanceClient, this.correlationId);
|
||||
}
|
||||
/**
|
||||
* Get {@link AuthorityType}
|
||||
* @param authorityUri {@link IUri}
|
||||
* @private
|
||||
*/
|
||||
getAuthorityType(authorityUri) {
|
||||
// CIAM auth url pattern is being standardized as: <tenant>.ciamlogin.com
|
||||
if (authorityUri.HostNameAndPort.endsWith(Constants.CIAM_AUTH_URL)) {
|
||||
return AuthorityType.Ciam;
|
||||
}
|
||||
const pathSegments = authorityUri.PathSegments;
|
||||
if (pathSegments.length) {
|
||||
switch (pathSegments[0].toLowerCase()) {
|
||||
case Constants.ADFS:
|
||||
return AuthorityType.Adfs;
|
||||
case Constants.DSTS:
|
||||
return AuthorityType.Dsts;
|
||||
}
|
||||
}
|
||||
return AuthorityType.Default;
|
||||
}
|
||||
// See above for AuthorityType
|
||||
get authorityType() {
|
||||
return this.getAuthorityType(this.canonicalAuthorityUrlComponents);
|
||||
}
|
||||
/**
|
||||
* ProtocolMode enum representing the way endpoints are constructed.
|
||||
*/
|
||||
get protocolMode() {
|
||||
return this.authorityOptions.protocolMode;
|
||||
}
|
||||
/**
|
||||
* Returns authorityOptions which can be used to reinstantiate a new authority instance
|
||||
*/
|
||||
get options() {
|
||||
return this.authorityOptions;
|
||||
}
|
||||
/**
|
||||
* A URL that is the authority set by the developer
|
||||
*/
|
||||
get canonicalAuthority() {
|
||||
return this._canonicalAuthority.urlString;
|
||||
}
|
||||
/**
|
||||
* Sets canonical authority.
|
||||
*/
|
||||
set canonicalAuthority(url) {
|
||||
this._canonicalAuthority = new UrlString(url);
|
||||
this._canonicalAuthority.validateAsUri();
|
||||
this._canonicalAuthorityUrlComponents = null;
|
||||
}
|
||||
/**
|
||||
* Get authority components.
|
||||
*/
|
||||
get canonicalAuthorityUrlComponents() {
|
||||
if (!this._canonicalAuthorityUrlComponents) {
|
||||
this._canonicalAuthorityUrlComponents =
|
||||
this._canonicalAuthority.getUrlComponents();
|
||||
}
|
||||
return this._canonicalAuthorityUrlComponents;
|
||||
}
|
||||
/**
|
||||
* Get hostname and port i.e. login.microsoftonline.com
|
||||
*/
|
||||
get hostnameAndPort() {
|
||||
return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase();
|
||||
}
|
||||
/**
|
||||
* Get tenant for authority.
|
||||
*/
|
||||
get tenant() {
|
||||
return this.canonicalAuthorityUrlComponents.PathSegments[0];
|
||||
}
|
||||
/**
|
||||
* OAuth /authorize endpoint for requests
|
||||
*/
|
||||
get authorizationEndpoint() {
|
||||
if (this.discoveryComplete()) {
|
||||
return this.replacePath(this.metadata.authorization_endpoint);
|
||||
}
|
||||
else {
|
||||
throw createClientAuthError(endpointResolutionError);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* OAuth /token endpoint for requests
|
||||
*/
|
||||
get tokenEndpoint() {
|
||||
if (this.discoveryComplete()) {
|
||||
return this.replacePath(this.metadata.token_endpoint);
|
||||
}
|
||||
else {
|
||||
throw createClientAuthError(endpointResolutionError);
|
||||
}
|
||||
}
|
||||
get deviceCodeEndpoint() {
|
||||
if (this.discoveryComplete()) {
|
||||
return this.replacePath(this.metadata.token_endpoint.replace("/token", "/devicecode"));
|
||||
}
|
||||
else {
|
||||
throw createClientAuthError(endpointResolutionError);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* OAuth logout endpoint for requests
|
||||
*/
|
||||
get endSessionEndpoint() {
|
||||
if (this.discoveryComplete()) {
|
||||
// ROPC policies may not have end_session_endpoint set
|
||||
if (!this.metadata.end_session_endpoint) {
|
||||
throw createClientAuthError(endSessionEndpointNotSupported);
|
||||
}
|
||||
return this.replacePath(this.metadata.end_session_endpoint);
|
||||
}
|
||||
else {
|
||||
throw createClientAuthError(endpointResolutionError);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* OAuth issuer for requests
|
||||
*/
|
||||
get selfSignedJwtAudience() {
|
||||
if (this.discoveryComplete()) {
|
||||
return this.replacePath(this.metadata.issuer);
|
||||
}
|
||||
else {
|
||||
throw createClientAuthError(endpointResolutionError);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Jwks_uri for token signing keys
|
||||
*/
|
||||
get jwksUri() {
|
||||
if (this.discoveryComplete()) {
|
||||
return this.replacePath(this.metadata.jwks_uri);
|
||||
}
|
||||
else {
|
||||
throw createClientAuthError(endpointResolutionError);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Returns a flag indicating that tenant name can be replaced in authority {@link IUri}
|
||||
* @param authorityUri {@link IUri}
|
||||
* @private
|
||||
*/
|
||||
canReplaceTenant(authorityUri) {
|
||||
return (authorityUri.PathSegments.length === 1 &&
|
||||
!Authority.reservedTenantDomains.has(authorityUri.PathSegments[0]) &&
|
||||
this.getAuthorityType(authorityUri) === AuthorityType.Default &&
|
||||
this.protocolMode === ProtocolMode.AAD);
|
||||
}
|
||||
/**
|
||||
* Replaces tenant in url path with current tenant. Defaults to common.
|
||||
* @param urlString
|
||||
*/
|
||||
replaceTenant(urlString) {
|
||||
return urlString.replace(/{tenant}|{tenantid}/g, this.tenant);
|
||||
}
|
||||
/**
|
||||
* Replaces path such as tenant or policy with the current tenant or policy.
|
||||
* @param urlString
|
||||
*/
|
||||
replacePath(urlString) {
|
||||
let endpoint = urlString;
|
||||
const cachedAuthorityUrl = new UrlString(this.metadata.canonical_authority);
|
||||
const cachedAuthorityUrlComponents = cachedAuthorityUrl.getUrlComponents();
|
||||
const cachedAuthorityParts = cachedAuthorityUrlComponents.PathSegments;
|
||||
const currentAuthorityParts = this.canonicalAuthorityUrlComponents.PathSegments;
|
||||
currentAuthorityParts.forEach((currentPart, index) => {
|
||||
let cachedPart = cachedAuthorityParts[index];
|
||||
if (index === 0 &&
|
||||
this.canReplaceTenant(cachedAuthorityUrlComponents)) {
|
||||
const tenantId = new UrlString(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];
|
||||
/**
|
||||
* Check if AAD canonical authority contains tenant domain name, for example "testdomain.onmicrosoft.com",
|
||||
* by comparing its first path segment to the corresponding authorization endpoint path segment, which is
|
||||
* always resolved with tenant id by OIDC.
|
||||
*/
|
||||
if (cachedPart !== tenantId) {
|
||||
this.logger.verbose(`Replacing tenant domain name ${cachedPart} with id ${tenantId}`);
|
||||
cachedPart = tenantId;
|
||||
}
|
||||
}
|
||||
if (currentPart !== cachedPart) {
|
||||
endpoint = endpoint.replace(`/${cachedPart}/`, `/${currentPart}/`);
|
||||
}
|
||||
});
|
||||
return this.replaceTenant(endpoint);
|
||||
}
|
||||
/**
|
||||
* The default open id configuration endpoint for any canonical authority.
|
||||
*/
|
||||
get defaultOpenIdConfigurationEndpoint() {
|
||||
const canonicalAuthorityHost = this.hostnameAndPort;
|
||||
if (this.canonicalAuthority.endsWith("v2.0/") ||
|
||||
this.authorityType === AuthorityType.Adfs ||
|
||||
(this.protocolMode !== ProtocolMode.AAD &&
|
||||
!this.isAliasOfKnownMicrosoftAuthority(canonicalAuthorityHost))) {
|
||||
return `${this.canonicalAuthority}.well-known/openid-configuration`;
|
||||
}
|
||||
return `${this.canonicalAuthority}v2.0/.well-known/openid-configuration`;
|
||||
}
|
||||
/**
|
||||
* Boolean that returns whether or not tenant discovery has been completed.
|
||||
*/
|
||||
discoveryComplete() {
|
||||
return !!this.metadata;
|
||||
}
|
||||
/**
|
||||
* Perform endpoint discovery to discover aliases, preferred_cache, preferred_network
|
||||
* and the /authorize, /token and logout endpoints.
|
||||
*/
|
||||
async resolveEndpointsAsync() {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityResolveEndpointsAsync, this.correlationId);
|
||||
const metadataEntity = this.getCurrentMetadataEntity();
|
||||
const cloudDiscoverySource = await invokeAsync(this.updateCloudDiscoveryMetadata.bind(this), PerformanceEvents.AuthorityUpdateCloudDiscoveryMetadata, this.logger, this.performanceClient, this.correlationId)(metadataEntity);
|
||||
this.canonicalAuthority = this.canonicalAuthority.replace(this.hostnameAndPort, metadataEntity.preferred_network);
|
||||
const endpointSource = await invokeAsync(this.updateEndpointMetadata.bind(this), PerformanceEvents.AuthorityUpdateEndpointMetadata, this.logger, this.performanceClient, this.correlationId)(metadataEntity);
|
||||
this.updateCachedMetadata(metadataEntity, cloudDiscoverySource, {
|
||||
source: endpointSource,
|
||||
});
|
||||
this.performanceClient?.addFields({
|
||||
cloudDiscoverySource: cloudDiscoverySource,
|
||||
authorityEndpointSource: endpointSource,
|
||||
}, this.correlationId);
|
||||
}
|
||||
/**
|
||||
* Returns metadata entity from cache if it exists, otherwiser returns a new metadata entity built
|
||||
* from the configured canonical authority
|
||||
* @returns
|
||||
*/
|
||||
getCurrentMetadataEntity() {
|
||||
let metadataEntity = this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);
|
||||
if (!metadataEntity) {
|
||||
metadataEntity = {
|
||||
aliases: [],
|
||||
preferred_cache: this.hostnameAndPort,
|
||||
preferred_network: this.hostnameAndPort,
|
||||
canonical_authority: this.canonicalAuthority,
|
||||
authorization_endpoint: "",
|
||||
token_endpoint: "",
|
||||
end_session_endpoint: "",
|
||||
issuer: "",
|
||||
aliasesFromNetwork: false,
|
||||
endpointsFromNetwork: false,
|
||||
expiresAt: generateAuthorityMetadataExpiresAt(),
|
||||
jwks_uri: "",
|
||||
};
|
||||
}
|
||||
return metadataEntity;
|
||||
}
|
||||
/**
|
||||
* Updates cached metadata based on metadata source and sets the instance's metadata
|
||||
* property to the same value
|
||||
* @param metadataEntity
|
||||
* @param cloudDiscoverySource
|
||||
* @param endpointMetadataResult
|
||||
*/
|
||||
updateCachedMetadata(metadataEntity, cloudDiscoverySource, endpointMetadataResult) {
|
||||
if (cloudDiscoverySource !== AuthorityMetadataSource.CACHE &&
|
||||
endpointMetadataResult?.source !== AuthorityMetadataSource.CACHE) {
|
||||
// Reset the expiration time unless both values came from a successful cache lookup
|
||||
metadataEntity.expiresAt =
|
||||
generateAuthorityMetadataExpiresAt();
|
||||
metadataEntity.canonical_authority = this.canonicalAuthority;
|
||||
}
|
||||
const cacheKey = this.cacheManager.generateAuthorityMetadataCacheKey(metadataEntity.preferred_cache);
|
||||
this.cacheManager.setAuthorityMetadata(cacheKey, metadataEntity);
|
||||
this.metadata = metadataEntity;
|
||||
}
|
||||
/**
|
||||
* Update AuthorityMetadataEntity with new endpoints and return where the information came from
|
||||
* @param metadataEntity
|
||||
*/
|
||||
async updateEndpointMetadata(metadataEntity) {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityUpdateEndpointMetadata, this.correlationId);
|
||||
const localMetadata = this.updateEndpointMetadataFromLocalSources(metadataEntity);
|
||||
// Further update may be required for hardcoded metadata if regional metadata is preferred
|
||||
if (localMetadata) {
|
||||
if (localMetadata.source ===
|
||||
AuthorityMetadataSource.HARDCODED_VALUES) {
|
||||
// If the user prefers to use an azure region replace the global endpoints with regional information.
|
||||
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
|
||||
if (localMetadata.metadata) {
|
||||
const hardcodedMetadata = await invokeAsync(this.updateMetadataWithRegionalInformation.bind(this), PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.logger, this.performanceClient, this.correlationId)(localMetadata.metadata);
|
||||
updateAuthorityEndpointMetadata(metadataEntity, hardcodedMetadata, false);
|
||||
metadataEntity.canonical_authority =
|
||||
this.canonicalAuthority;
|
||||
}
|
||||
}
|
||||
}
|
||||
return localMetadata.source;
|
||||
}
|
||||
// Get metadata from network if local sources aren't available
|
||||
let metadata = await invokeAsync(this.getEndpointMetadataFromNetwork.bind(this), PerformanceEvents.AuthorityGetEndpointMetadataFromNetwork, this.logger, this.performanceClient, this.correlationId)();
|
||||
if (metadata) {
|
||||
// If the user prefers to use an azure region replace the global endpoints with regional information.
|
||||
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
|
||||
metadata = await invokeAsync(this.updateMetadataWithRegionalInformation.bind(this), PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.logger, this.performanceClient, this.correlationId)(metadata);
|
||||
}
|
||||
updateAuthorityEndpointMetadata(metadataEntity, metadata, true);
|
||||
return AuthorityMetadataSource.NETWORK;
|
||||
}
|
||||
else {
|
||||
// Metadata could not be obtained from the config, cache, network or hardcoded values
|
||||
throw createClientAuthError(openIdConfigError, this.defaultOpenIdConfigurationEndpoint);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Updates endpoint metadata from local sources and returns where the information was retrieved from and the metadata config
|
||||
* response if the source is hardcoded metadata
|
||||
* @param metadataEntity
|
||||
* @returns
|
||||
*/
|
||||
updateEndpointMetadataFromLocalSources(metadataEntity) {
|
||||
this.logger.verbose("Attempting to get endpoint metadata from authority configuration");
|
||||
const configMetadata = this.getEndpointMetadataFromConfig();
|
||||
if (configMetadata) {
|
||||
this.logger.verbose("Found endpoint metadata in authority configuration");
|
||||
updateAuthorityEndpointMetadata(metadataEntity, configMetadata, false);
|
||||
return {
|
||||
source: 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 {
|
||||
const hardcodedMetadata = this.getEndpointMetadataFromHardcodedValues();
|
||||
if (hardcodedMetadata) {
|
||||
updateAuthorityEndpointMetadata(metadataEntity, hardcodedMetadata, false);
|
||||
return {
|
||||
source: AuthorityMetadataSource.HARDCODED_VALUES,
|
||||
metadata: hardcodedMetadata,
|
||||
};
|
||||
}
|
||||
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 = isAuthorityMetadataExpired(metadataEntity);
|
||||
if (this.isAuthoritySameType(metadataEntity) &&
|
||||
metadataEntity.endpointsFromNetwork &&
|
||||
!metadataEntityExpired) {
|
||||
// No need to update
|
||||
this.logger.verbose("Found endpoint metadata in the cache.");
|
||||
return { source: AuthorityMetadataSource.CACHE };
|
||||
}
|
||||
else if (metadataEntityExpired) {
|
||||
this.logger.verbose("The metadata entity is expired.");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Compares the number of url components after the domain to determine if the cached
|
||||
* authority metadata can be used for the requested authority. Protects against same domain different
|
||||
* authority such as login.microsoftonline.com/tenant and login.microsoftonline.com/tfp/tenant/policy
|
||||
* @param metadataEntity
|
||||
*/
|
||||
isAuthoritySameType(metadataEntity) {
|
||||
const cachedAuthorityUrl = new UrlString(metadataEntity.canonical_authority);
|
||||
const cachedParts = cachedAuthorityUrl.getUrlComponents().PathSegments;
|
||||
return (cachedParts.length ===
|
||||
this.canonicalAuthorityUrlComponents.PathSegments.length);
|
||||
}
|
||||
/**
|
||||
* Parse authorityMetadata config option
|
||||
*/
|
||||
getEndpointMetadataFromConfig() {
|
||||
if (this.authorityOptions.authorityMetadata) {
|
||||
try {
|
||||
return JSON.parse(this.authorityOptions.authorityMetadata);
|
||||
}
|
||||
catch (e) {
|
||||
throw createClientConfigurationError(invalidAuthorityMetadata);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Gets OAuth endpoints from the given OpenID configuration endpoint.
|
||||
*
|
||||
* @param hasHardcodedMetadata boolean
|
||||
*/
|
||||
async getEndpointMetadataFromNetwork() {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityGetEndpointMetadataFromNetwork, this.correlationId);
|
||||
const options = {};
|
||||
/*
|
||||
* TODO: Add a timeout if the authority exists in our library's
|
||||
* hardcoded list of metadata
|
||||
*/
|
||||
const openIdConfigurationEndpoint = this.defaultOpenIdConfigurationEndpoint;
|
||||
this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: attempting to retrieve OAuth endpoints from ${openIdConfigurationEndpoint}`);
|
||||
try {
|
||||
const response = await this.networkInterface.sendGetRequestAsync(openIdConfigurationEndpoint, options);
|
||||
const isValidResponse = isOpenIdConfigResponse(response.body);
|
||||
if (isValidResponse) {
|
||||
return response.body;
|
||||
}
|
||||
else {
|
||||
this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: could not parse response as OpenID configuration`);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: ${e}`);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Get OAuth endpoints for common authorities.
|
||||
*/
|
||||
getEndpointMetadataFromHardcodedValues() {
|
||||
if (this.hostnameAndPort in EndpointMetadata) {
|
||||
return EndpointMetadata[this.hostnameAndPort];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Update the retrieved metadata with regional information.
|
||||
* User selected Azure region will be used if configured.
|
||||
*/
|
||||
async updateMetadataWithRegionalInformation(metadata) {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.correlationId);
|
||||
const userConfiguredAzureRegion = this.authorityOptions.azureRegionConfiguration?.azureRegion;
|
||||
if (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);
|
||||
}
|
||||
const autodetectedRegionName = await invokeAsync(this.regionDiscovery.detectRegion.bind(this.regionDiscovery), PerformanceEvents.RegionDiscoveryDetectRegion, this.logger, this.performanceClient, this.correlationId)(this.authorityOptions.azureRegionConfiguration
|
||||
?.environmentRegion, this.regionDiscoveryMetadata);
|
||||
if (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;
|
||||
}
|
||||
return metadata;
|
||||
}
|
||||
/**
|
||||
* Updates the AuthorityMetadataEntity with new aliases, preferred_network and preferred_cache
|
||||
* and returns where the information was retrieved from
|
||||
* @param metadataEntity
|
||||
* @returns AuthorityMetadataSource
|
||||
*/
|
||||
async updateCloudDiscoveryMetadata(metadataEntity) {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityUpdateCloudDiscoveryMetadata, this.correlationId);
|
||||
const localMetadataSource = this.updateCloudDiscoveryMetadataFromLocalSources(metadataEntity);
|
||||
if (localMetadataSource) {
|
||||
return localMetadataSource;
|
||||
}
|
||||
// Fallback to network as metadata source
|
||||
const metadata = await invokeAsync(this.getCloudDiscoveryMetadataFromNetwork.bind(this), PerformanceEvents.AuthorityGetCloudDiscoveryMetadataFromNetwork, this.logger, this.performanceClient, this.correlationId)();
|
||||
if (metadata) {
|
||||
updateCloudDiscoveryMetadata(metadataEntity, metadata, true);
|
||||
return AuthorityMetadataSource.NETWORK;
|
||||
}
|
||||
// Metadata could not be obtained from the config, cache, network or hardcoded values
|
||||
throw createClientConfigurationError(untrustedAuthority);
|
||||
}
|
||||
updateCloudDiscoveryMetadataFromLocalSources(metadataEntity) {
|
||||
this.logger.verbose("Attempting to get cloud discovery metadata from authority configuration");
|
||||
this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities ||
|
||||
Constants.NOT_APPLICABLE}`);
|
||||
this.logger.verbosePii(`Authority Metadata: ${this.authorityOptions.authorityMetadata ||
|
||||
Constants.NOT_APPLICABLE}`);
|
||||
this.logger.verbosePii(`Canonical Authority: ${metadataEntity.canonical_authority || Constants.NOT_APPLICABLE}`);
|
||||
const metadata = this.getCloudDiscoveryMetadataFromConfig();
|
||||
if (metadata) {
|
||||
this.logger.verbose("Found cloud discovery metadata in authority configuration");
|
||||
updateCloudDiscoveryMetadata(metadataEntity, 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 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 = getCloudDiscoveryMetadataFromHardcodedValues(this.hostnameAndPort);
|
||||
if (hardcodedMetadata) {
|
||||
this.logger.verbose("Found cloud discovery metadata from hardcoded values.");
|
||||
updateCloudDiscoveryMetadata(metadataEntity, 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 = isAuthorityMetadataExpired(metadataEntity);
|
||||
if (this.isAuthoritySameType(metadataEntity) &&
|
||||
metadataEntity.aliasesFromNetwork &&
|
||||
!metadataEntityExpired) {
|
||||
this.logger.verbose("Found cloud discovery metadata in the cache.");
|
||||
// No need to update
|
||||
return AuthorityMetadataSource.CACHE;
|
||||
}
|
||||
else if (metadataEntityExpired) {
|
||||
this.logger.verbose("The metadata entity is expired.");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Parse cloudDiscoveryMetadata config or check knownAuthorities
|
||||
*/
|
||||
getCloudDiscoveryMetadataFromConfig() {
|
||||
// CIAM does not support cloud discovery metadata
|
||||
if (this.authorityType === AuthorityType.Ciam) {
|
||||
this.logger.verbose("CIAM authorities do not support cloud discovery metadata, generate the aliases from authority host.");
|
||||
return Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);
|
||||
}
|
||||
// Check if network response was provided in config
|
||||
if (this.authorityOptions.cloudDiscoveryMetadata) {
|
||||
this.logger.verbose("The cloud discovery metadata has been provided as a network response, in the config.");
|
||||
try {
|
||||
this.logger.verbose("Attempting to parse the cloud discovery metadata.");
|
||||
const parsedResponse = JSON.parse(this.authorityOptions.cloudDiscoveryMetadata);
|
||||
const metadata = getCloudDiscoveryMetadataFromNetworkResponse(parsedResponse.metadata, this.hostnameAndPort);
|
||||
this.logger.verbose("Parsed the cloud discovery metadata.");
|
||||
if (metadata) {
|
||||
this.logger.verbose("There is returnable metadata attached to the parsed cloud discovery metadata.");
|
||||
return metadata;
|
||||
}
|
||||
else {
|
||||
this.logger.verbose("There is no metadata attached to the parsed cloud discovery metadata.");
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
this.logger.verbose("Unable to parse the cloud discovery metadata. Throwing Invalid Cloud Discovery Metadata Error.");
|
||||
throw createClientConfigurationError(invalidCloudDiscoveryMetadata);
|
||||
}
|
||||
}
|
||||
// If cloudDiscoveryMetadata is empty or does not contain the host, check knownAuthorities
|
||||
if (this.isInKnownAuthorities()) {
|
||||
this.logger.verbose("The host is included in knownAuthorities. Creating new cloud discovery metadata from the host.");
|
||||
return Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Called to get metadata from network if CloudDiscoveryMetadata was not populated by config
|
||||
*
|
||||
* @param hasHardcodedMetadata boolean
|
||||
*/
|
||||
async getCloudDiscoveryMetadataFromNetwork() {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityGetCloudDiscoveryMetadataFromNetwork, this.correlationId);
|
||||
const instanceDiscoveryEndpoint = `${Constants.AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`;
|
||||
const options = {};
|
||||
/*
|
||||
* TODO: Add a timeout if the authority exists in our library's
|
||||
* hardcoded list of metadata
|
||||
*/
|
||||
let match = null;
|
||||
try {
|
||||
const response = await this.networkInterface.sendGetRequestAsync(instanceDiscoveryEndpoint, options);
|
||||
let typedResponseBody;
|
||||
let metadata;
|
||||
if (isCloudInstanceDiscoveryResponse(response.body)) {
|
||||
typedResponseBody =
|
||||
response.body;
|
||||
metadata = typedResponseBody.metadata;
|
||||
this.logger.verbosePii(`tenant_discovery_endpoint is: ${typedResponseBody.tenant_discovery_endpoint}`);
|
||||
}
|
||||
else if (isCloudInstanceDiscoveryErrorResponse(response.body)) {
|
||||
this.logger.warning(`A CloudInstanceDiscoveryErrorResponse was returned. The cloud instance discovery network request's status code is: ${response.status}`);
|
||||
typedResponseBody =
|
||||
response.body;
|
||||
if (typedResponseBody.error === Constants.INVALID_INSTANCE) {
|
||||
this.logger.error("The CloudInstanceDiscoveryErrorResponse error is invalid_instance.");
|
||||
return null;
|
||||
}
|
||||
this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error is ${typedResponseBody.error}`);
|
||||
this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error description is ${typedResponseBody.error_description}`);
|
||||
this.logger.warning("Setting the value of the CloudInstanceDiscoveryMetadata (returned from the network) to []");
|
||||
metadata = [];
|
||||
}
|
||||
else {
|
||||
this.logger.error("AAD did not return a CloudInstanceDiscoveryResponse or CloudInstanceDiscoveryErrorResponse");
|
||||
return null;
|
||||
}
|
||||
this.logger.verbose("Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request.");
|
||||
match = getCloudDiscoveryMetadataFromNetworkResponse(metadata, this.hostnameAndPort);
|
||||
}
|
||||
catch (error) {
|
||||
if (error instanceof AuthError) {
|
||||
this.logger.error(`There was a network error while attempting to get the cloud discovery instance metadata.\nError: ${error.errorCode}\nError Description: ${error.errorMessage}`);
|
||||
}
|
||||
else {
|
||||
const typedError = error;
|
||||
this.logger.error(`A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata.\nError: ${typedError.name}\nError Description: ${typedError.message}`);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// Custom Domain scenario, host is trusted because Instance Discovery call succeeded
|
||||
if (!match) {
|
||||
this.logger.warning("The developer's authority was not found within the CloudInstanceDiscoveryMetadata returned from the network request.");
|
||||
this.logger.verbose("Creating custom Authority for custom domain scenario.");
|
||||
match = Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);
|
||||
}
|
||||
return match;
|
||||
}
|
||||
/**
|
||||
* Helper function to determine if this host is included in the knownAuthorities config option
|
||||
*/
|
||||
isInKnownAuthorities() {
|
||||
const matches = this.authorityOptions.knownAuthorities.filter((authority) => {
|
||||
return (authority &&
|
||||
UrlString.getDomainFromUrl(authority).toLowerCase() ===
|
||||
this.hostnameAndPort);
|
||||
});
|
||||
return matches.length > 0;
|
||||
}
|
||||
/**
|
||||
* helper function to populate the authority based on azureCloudOptions
|
||||
* @param authorityString
|
||||
* @param azureCloudOptions
|
||||
*/
|
||||
static generateAuthority(authorityString, azureCloudOptions) {
|
||||
let authorityAzureCloudInstance;
|
||||
if (azureCloudOptions &&
|
||||
azureCloudOptions.azureCloudInstance !== AzureCloudInstance.None) {
|
||||
const tenant = azureCloudOptions.tenant
|
||||
? azureCloudOptions.tenant
|
||||
: Constants.DEFAULT_COMMON_TENANT;
|
||||
authorityAzureCloudInstance = `${azureCloudOptions.azureCloudInstance}/${tenant}/`;
|
||||
}
|
||||
return authorityAzureCloudInstance
|
||||
? authorityAzureCloudInstance
|
||||
: authorityString;
|
||||
}
|
||||
/**
|
||||
* Creates cloud discovery metadata object from a given host
|
||||
* @param host
|
||||
*/
|
||||
static createCloudDiscoveryMetadataFromHost(host) {
|
||||
return {
|
||||
preferred_network: host,
|
||||
preferred_cache: host,
|
||||
aliases: [host],
|
||||
};
|
||||
}
|
||||
/**
|
||||
* helper function to generate environment from authority object
|
||||
*/
|
||||
getPreferredCache() {
|
||||
if (this.managedIdentity) {
|
||||
return Constants.DEFAULT_AUTHORITY_HOST;
|
||||
}
|
||||
else if (this.discoveryComplete()) {
|
||||
return this.metadata.preferred_cache;
|
||||
}
|
||||
else {
|
||||
throw createClientAuthError(endpointResolutionError);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Returns whether or not the provided host is an alias of this authority instance
|
||||
* @param host
|
||||
*/
|
||||
isAlias(host) {
|
||||
return this.metadata.aliases.indexOf(host) > -1;
|
||||
}
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* @param authority string
|
||||
* @returns bool
|
||||
*/
|
||||
static isPublicCloudAuthority(host) {
|
||||
return Constants.KNOWN_PUBLIC_CLOUDS.indexOf(host) >= 0;
|
||||
}
|
||||
/**
|
||||
* Rebuild the authority string with the region
|
||||
*
|
||||
* @param host string
|
||||
* @param region string
|
||||
*/
|
||||
static buildRegionalAuthorityString(host, region, queryString) {
|
||||
// Create and validate a Url string object with the initial authority string
|
||||
const authorityUrlInstance = new UrlString(host);
|
||||
authorityUrlInstance.validateAsUri();
|
||||
const authorityUrlParts = authorityUrlInstance.getUrlComponents();
|
||||
let hostNameAndPort = `${region}.${authorityUrlParts.HostNameAndPort}`;
|
||||
if (this.isPublicCloudAuthority(authorityUrlParts.HostNameAndPort)) {
|
||||
hostNameAndPort = `${region}.${Constants.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`;
|
||||
}
|
||||
// Include the query string portion of the url
|
||||
const url = UrlString.constructAuthorityUriFromObject({
|
||||
...authorityUrlInstance.getUrlComponents(),
|
||||
HostNameAndPort: hostNameAndPort,
|
||||
}).urlString;
|
||||
// Add the query string if a query string was provided
|
||||
if (queryString)
|
||||
return `${url}?${queryString}`;
|
||||
return url;
|
||||
}
|
||||
/**
|
||||
* Replace the endpoints in the metadata object with their regional equivalents.
|
||||
*
|
||||
* @param metadata OpenIdConfigResponse
|
||||
* @param azureRegion string
|
||||
*/
|
||||
static replaceWithRegionalInformation(metadata, azureRegion) {
|
||||
const regionalMetadata = { ...metadata };
|
||||
regionalMetadata.authorization_endpoint =
|
||||
Authority.buildRegionalAuthorityString(regionalMetadata.authorization_endpoint, azureRegion);
|
||||
regionalMetadata.token_endpoint =
|
||||
Authority.buildRegionalAuthorityString(regionalMetadata.token_endpoint, azureRegion);
|
||||
if (regionalMetadata.end_session_endpoint) {
|
||||
regionalMetadata.end_session_endpoint =
|
||||
Authority.buildRegionalAuthorityString(regionalMetadata.end_session_endpoint, azureRegion);
|
||||
}
|
||||
return regionalMetadata;
|
||||
}
|
||||
/**
|
||||
* Transform CIAM_AUTHORIY as per the below rules:
|
||||
* If no path segments found and it is a CIAM authority (hostname ends with .ciamlogin.com), then transform it
|
||||
*
|
||||
* NOTE: The transformation path should go away once STS supports CIAM with the format: `tenantIdorDomain.ciamlogin.com`
|
||||
* `ciamlogin.com` can also change in the future and we should accommodate the same
|
||||
*
|
||||
* @param authority
|
||||
*/
|
||||
static transformCIAMAuthority(authority) {
|
||||
let ciamAuthority = authority;
|
||||
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)) {
|
||||
const tenantIdOrDomain = authorityUrlComponents.HostNameAndPort.split(".")[0];
|
||||
ciamAuthority = `${ciamAuthority}${tenantIdOrDomain}${Constants.AAD_TENANT_DOMAIN_SUFFIX}`;
|
||||
}
|
||||
return ciamAuthority;
|
||||
}
|
||||
}
|
||||
// Reserved tenant domain names that will not be replaced with tenant id
|
||||
Authority.reservedTenantDomains = new Set([
|
||||
"{tenant}",
|
||||
"{tenantid}",
|
||||
AADAuthorityConstants.COMMON,
|
||||
AADAuthorityConstants.CONSUMERS,
|
||||
AADAuthorityConstants.ORGANIZATIONS,
|
||||
]);
|
||||
/**
|
||||
* Extract tenantId from authority
|
||||
*/
|
||||
function getTenantFromAuthorityString(authority) {
|
||||
const authorityUrl = new UrlString(authority);
|
||||
const authorityUrlComponents = authorityUrl.getUrlComponents();
|
||||
/**
|
||||
* For credential matching purposes, tenantId is the last path segment of the authority URL:
|
||||
* AAD Authority - domain/tenantId -> Credentials are cached with realm = tenantId
|
||||
* B2C Authority - domain/{tenantId}?/.../policy -> Credentials are cached with realm = policy
|
||||
* tenantId is downcased because B2C policies can have mixed case but tfp claim is downcased
|
||||
*
|
||||
* Note that we may not have any path segments in certain OIDC scenarios.
|
||||
*/
|
||||
const tenantId = authorityUrlComponents.PathSegments.slice(-1)[0]?.toLowerCase();
|
||||
switch (tenantId) {
|
||||
case AADAuthorityConstants.COMMON:
|
||||
case AADAuthorityConstants.ORGANIZATIONS:
|
||||
case AADAuthorityConstants.CONSUMERS:
|
||||
return undefined;
|
||||
default:
|
||||
return tenantId;
|
||||
}
|
||||
}
|
||||
function formatAuthorityUri(authorityUri) {
|
||||
return authorityUri.endsWith(Constants.FORWARD_SLASH)
|
||||
? authorityUri
|
||||
: `${authorityUri}${Constants.FORWARD_SLASH}`;
|
||||
}
|
||||
function buildStaticAuthorityOptions(authOptions) {
|
||||
const rawCloudDiscoveryMetadata = authOptions.cloudDiscoveryMetadata;
|
||||
let cloudDiscoveryMetadata = undefined;
|
||||
if (rawCloudDiscoveryMetadata) {
|
||||
try {
|
||||
cloudDiscoveryMetadata = JSON.parse(rawCloudDiscoveryMetadata);
|
||||
}
|
||||
catch (e) {
|
||||
throw createClientConfigurationError(invalidCloudDiscoveryMetadata);
|
||||
}
|
||||
}
|
||||
return {
|
||||
canonicalAuthority: authOptions.authority
|
||||
? formatAuthorityUri(authOptions.authority)
|
||||
: undefined,
|
||||
knownAuthorities: authOptions.knownAuthorities,
|
||||
cloudDiscoveryMetadata: cloudDiscoveryMetadata,
|
||||
};
|
||||
}
|
||||
|
||||
export { Authority, buildStaticAuthorityOptions, formatAuthorityUri, getTenantFromAuthorityString };
|
||||
//# sourceMappingURL=Authority.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/Authority.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/Authority.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
19
node_modules/@azure/msal-common/dist/authority/AuthorityFactory.d.ts
generated
vendored
Normal file
19
node_modules/@azure/msal-common/dist/authority/AuthorityFactory.d.ts
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import { Authority } from "./Authority.js";
|
||||
import { INetworkModule } from "../network/INetworkModule.js";
|
||||
import { ICacheManager } from "../cache/interface/ICacheManager.js";
|
||||
import { AuthorityOptions } from "./AuthorityOptions.js";
|
||||
import { Logger } from "../logger/Logger.js";
|
||||
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient.js";
|
||||
/**
|
||||
* Create an authority object of the correct type based on the url
|
||||
* Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
|
||||
*
|
||||
* Also performs endpoint discovery.
|
||||
*
|
||||
* @param authorityUri
|
||||
* @param networkClient
|
||||
* @param protocolMode
|
||||
* @internal
|
||||
*/
|
||||
export declare function createDiscoveredInstance(authorityUri: string, networkClient: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions, logger: Logger, correlationId: string, performanceClient?: IPerformanceClient): Promise<Authority>;
|
||||
//# sourceMappingURL=AuthorityFactory.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AuthorityFactory.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AuthorityFactory.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthorityFactory.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityFactory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAIpF;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC1C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,iBAAiB,CAAC,EAAE,kBAAkB,GACvC,OAAO,CAAC,SAAS,CAAC,CAoCpB"}
|
||||
39
node_modules/@azure/msal-common/dist/authority/AuthorityFactory.mjs
generated
vendored
Normal file
39
node_modules/@azure/msal-common/dist/authority/AuthorityFactory.mjs
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
import { Authority, formatAuthorityUri } from './Authority.mjs';
|
||||
import { createClientAuthError } from '../error/ClientAuthError.mjs';
|
||||
import { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';
|
||||
import { invokeAsync } from '../utils/FunctionWrappers.mjs';
|
||||
import { endpointResolutionError } from '../error/ClientAuthErrorCodes.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* Create an authority object of the correct type based on the url
|
||||
* Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
|
||||
*
|
||||
* Also performs endpoint discovery.
|
||||
*
|
||||
* @param authorityUri
|
||||
* @param networkClient
|
||||
* @param protocolMode
|
||||
* @internal
|
||||
*/
|
||||
async function createDiscoveredInstance(authorityUri, networkClient, cacheManager, authorityOptions, logger, correlationId, performanceClient) {
|
||||
performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityFactoryCreateDiscoveredInstance, correlationId);
|
||||
const authorityUriFinal = Authority.transformCIAMAuthority(formatAuthorityUri(authorityUri));
|
||||
// Initialize authority and perform discovery endpoint check.
|
||||
const acquireTokenAuthority = new Authority(authorityUriFinal, networkClient, cacheManager, authorityOptions, logger, correlationId, performanceClient);
|
||||
try {
|
||||
await invokeAsync(acquireTokenAuthority.resolveEndpointsAsync.bind(acquireTokenAuthority), PerformanceEvents.AuthorityResolveEndpointsAsync, logger, performanceClient, correlationId)();
|
||||
return acquireTokenAuthority;
|
||||
}
|
||||
catch (e) {
|
||||
throw createClientAuthError(endpointResolutionError);
|
||||
}
|
||||
}
|
||||
|
||||
export { createDiscoveredInstance };
|
||||
//# sourceMappingURL=AuthorityFactory.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AuthorityFactory.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AuthorityFactory.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthorityFactory.mjs","sources":["../../src/authority/AuthorityFactory.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.endpointResolutionError"],"mappings":";;;;;;;;AAAA;;;AAGG;AAeH;;;;;;;;;;AAUG;AACI,eAAe,wBAAwB,CAC1C,YAAoB,EACpB,aAA6B,EAC7B,YAA2B,EAC3B,gBAAkC,EAClC,MAAc,EACd,aAAqB,EACrB,iBAAsC,EAAA;IAEtC,iBAAiB,EAAE,mBAAmB,CAClC,iBAAiB,CAAC,wCAAwC,EAC1D,aAAa,CAChB,CAAC;IACF,MAAM,iBAAiB,GAAG,SAAS,CAAC,sBAAsB,CACtD,kBAAkB,CAAC,YAAY,CAAC,CACnC,CAAC;;AAGF,IAAA,MAAM,qBAAqB,GAAc,IAAI,SAAS,CAClD,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,iBAAiB,CACpB,CAAC;IAEF,IAAI;QACA,MAAM,WAAW,CACb,qBAAqB,CAAC,qBAAqB,CAAC,IAAI,CAC5C,qBAAqB,CACxB,EACD,iBAAiB,CAAC,8BAA8B,EAChD,MAAM,EACN,iBAAiB,EACjB,aAAa,CAChB,EAAE,CAAC;AACJ,QAAA,OAAO,qBAAqB,CAAC;AAChC,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACR,QAAA,MAAM,qBAAqB,CACvBA,uBAA4C,CAC/C,CAAC;AACL,KAAA;AACL;;;;"}
|
||||
44
node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.d.ts
generated
vendored
Normal file
44
node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.d.ts
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import { Logger } from "../logger/Logger.js";
|
||||
import { AuthorityMetadataSource } from "../utils/Constants.js";
|
||||
import { StaticAuthorityOptions } from "./AuthorityOptions.js";
|
||||
import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata.js";
|
||||
import { CloudInstanceDiscoveryResponse } from "./CloudInstanceDiscoveryResponse.js";
|
||||
import { OpenIdConfigResponse } from "./OpenIdConfigResponse.js";
|
||||
type RawMetadata = {
|
||||
endpointMetadata: {
|
||||
[key: string]: OpenIdConfigResponse;
|
||||
};
|
||||
instanceDiscoveryMetadata: CloudInstanceDiscoveryResponse;
|
||||
};
|
||||
export declare const rawMetdataJSON: RawMetadata;
|
||||
export declare const EndpointMetadata: {
|
||||
[key: string]: OpenIdConfigResponse;
|
||||
};
|
||||
export declare const InstanceDiscoveryMetadata: CloudInstanceDiscoveryResponse;
|
||||
export declare const InstanceDiscoveryMetadataAliases: Set<String>;
|
||||
/**
|
||||
* Attempts to get an aliases array from the static authority metadata sources based on the canonical authority host
|
||||
* @param staticAuthorityOptions
|
||||
* @param logger
|
||||
* @returns
|
||||
*/
|
||||
export declare function getAliasesFromStaticSources(staticAuthorityOptions: StaticAuthorityOptions, logger?: Logger): string[];
|
||||
/**
|
||||
* Returns aliases for from the raw cloud discovery metadata passed in
|
||||
* @param authorityHost
|
||||
* @param rawCloudDiscoveryMetadata
|
||||
* @returns
|
||||
*/
|
||||
export declare function getAliasesFromMetadata(authorityHost?: string, cloudDiscoveryMetadata?: CloudDiscoveryMetadata[], source?: AuthorityMetadataSource, logger?: Logger): string[] | null;
|
||||
/**
|
||||
* Get cloud discovery metadata for common authorities
|
||||
*/
|
||||
export declare function getCloudDiscoveryMetadataFromHardcodedValues(authorityHost: string): CloudDiscoveryMetadata | null;
|
||||
/**
|
||||
* Searches instance discovery network response for the entry that contains the host in the aliases list
|
||||
* @param response
|
||||
* @param authority
|
||||
*/
|
||||
export declare function getCloudDiscoveryMetadataFromNetworkResponse(response: CloudDiscoveryMetadata[], authorityHost: string): CloudDiscoveryMetadata | null;
|
||||
export {};
|
||||
//# sourceMappingURL=AuthorityMetadata.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthorityMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityMetadata.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,KAAK,WAAW,GAAG;IACf,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAC;IAC1D,yBAAyB,EAAE,8BAA8B,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WA8E5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;CAAkC,CAAC;AAChE,eAAO,MAAM,yBAAyB,gCACM,CAAC;AAE7C,eAAO,MAAM,gCAAgC,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AASvE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAwBV;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,aAAa,CAAC,EAAE,MAAM,EACtB,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,EACjD,MAAM,CAAC,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,GAAG,IAAI,CAqBjB;AAED;;GAEG;AACH,wBAAgB,4CAA4C,CACxD,aAAa,EAAE,MAAM,GACtB,sBAAsB,GAAG,IAAI,CAM/B;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CACxD,QAAQ,EAAE,sBAAsB,EAAE,EAClC,aAAa,EAAE,MAAM,GACtB,sBAAsB,GAAG,IAAI,CAS/B"}
|
||||
145
node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.mjs
generated
vendored
Normal file
145
node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.mjs
generated
vendored
Normal file
@@ -0,0 +1,145 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
import { UrlString } from '../url/UrlString.mjs';
|
||||
import { AuthorityMetadataSource } from '../utils/Constants.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
const rawMetdataJSON = {
|
||||
endpointMetadata: {
|
||||
"login.microsoftonline.com": {
|
||||
token_endpoint: "https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token",
|
||||
jwks_uri: "https://login.microsoftonline.com/{tenantid}/discovery/v2.0/keys",
|
||||
issuer: "https://login.microsoftonline.com/{tenantid}/v2.0",
|
||||
authorization_endpoint: "https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/authorize",
|
||||
end_session_endpoint: "https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/logout",
|
||||
},
|
||||
"login.chinacloudapi.cn": {
|
||||
token_endpoint: "https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/token",
|
||||
jwks_uri: "https://login.chinacloudapi.cn/{tenantid}/discovery/v2.0/keys",
|
||||
issuer: "https://login.partner.microsoftonline.cn/{tenantid}/v2.0",
|
||||
authorization_endpoint: "https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/authorize",
|
||||
end_session_endpoint: "https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/logout",
|
||||
},
|
||||
"login.microsoftonline.us": {
|
||||
token_endpoint: "https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/token",
|
||||
jwks_uri: "https://login.microsoftonline.us/{tenantid}/discovery/v2.0/keys",
|
||||
issuer: "https://login.microsoftonline.us/{tenantid}/v2.0",
|
||||
authorization_endpoint: "https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/authorize",
|
||||
end_session_endpoint: "https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/logout",
|
||||
},
|
||||
},
|
||||
instanceDiscoveryMetadata: {
|
||||
tenant_discovery_endpoint: "https://{canonicalAuthority}/v2.0/.well-known/openid-configuration",
|
||||
metadata: [
|
||||
{
|
||||
preferred_network: "login.microsoftonline.com",
|
||||
preferred_cache: "login.windows.net",
|
||||
aliases: [
|
||||
"login.microsoftonline.com",
|
||||
"login.windows.net",
|
||||
"login.microsoft.com",
|
||||
"sts.windows.net",
|
||||
],
|
||||
},
|
||||
{
|
||||
preferred_network: "login.partner.microsoftonline.cn",
|
||||
preferred_cache: "login.partner.microsoftonline.cn",
|
||||
aliases: [
|
||||
"login.partner.microsoftonline.cn",
|
||||
"login.chinacloudapi.cn",
|
||||
],
|
||||
},
|
||||
{
|
||||
preferred_network: "login.microsoftonline.de",
|
||||
preferred_cache: "login.microsoftonline.de",
|
||||
aliases: ["login.microsoftonline.de"],
|
||||
},
|
||||
{
|
||||
preferred_network: "login.microsoftonline.us",
|
||||
preferred_cache: "login.microsoftonline.us",
|
||||
aliases: [
|
||||
"login.microsoftonline.us",
|
||||
"login.usgovcloudapi.net",
|
||||
],
|
||||
},
|
||||
{
|
||||
preferred_network: "login-us.microsoftonline.com",
|
||||
preferred_cache: "login-us.microsoftonline.com",
|
||||
aliases: ["login-us.microsoftonline.com"],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
const EndpointMetadata = rawMetdataJSON.endpointMetadata;
|
||||
const InstanceDiscoveryMetadata = rawMetdataJSON.instanceDiscoveryMetadata;
|
||||
const InstanceDiscoveryMetadataAliases = new Set();
|
||||
InstanceDiscoveryMetadata.metadata.forEach((metadataEntry) => {
|
||||
metadataEntry.aliases.forEach((alias) => {
|
||||
InstanceDiscoveryMetadataAliases.add(alias);
|
||||
});
|
||||
});
|
||||
/**
|
||||
* Attempts to get an aliases array from the static authority metadata sources based on the canonical authority host
|
||||
* @param staticAuthorityOptions
|
||||
* @param logger
|
||||
* @returns
|
||||
*/
|
||||
function getAliasesFromStaticSources(staticAuthorityOptions, logger) {
|
||||
let staticAliases;
|
||||
const canonicalAuthority = staticAuthorityOptions.canonicalAuthority;
|
||||
if (canonicalAuthority) {
|
||||
const authorityHost = new UrlString(canonicalAuthority).getUrlComponents().HostNameAndPort;
|
||||
staticAliases =
|
||||
getAliasesFromMetadata(authorityHost, staticAuthorityOptions.cloudDiscoveryMetadata?.metadata, AuthorityMetadataSource.CONFIG, logger) ||
|
||||
getAliasesFromMetadata(authorityHost, InstanceDiscoveryMetadata.metadata, AuthorityMetadataSource.HARDCODED_VALUES, logger) ||
|
||||
staticAuthorityOptions.knownAuthorities;
|
||||
}
|
||||
return staticAliases || [];
|
||||
}
|
||||
/**
|
||||
* Returns aliases for from the raw cloud discovery metadata passed in
|
||||
* @param authorityHost
|
||||
* @param rawCloudDiscoveryMetadata
|
||||
* @returns
|
||||
*/
|
||||
function getAliasesFromMetadata(authorityHost, cloudDiscoveryMetadata, source, logger) {
|
||||
logger?.trace(`getAliasesFromMetadata called with source: ${source}`);
|
||||
if (authorityHost && cloudDiscoveryMetadata) {
|
||||
const metadata = getCloudDiscoveryMetadataFromNetworkResponse(cloudDiscoveryMetadata, authorityHost);
|
||||
if (metadata) {
|
||||
logger?.trace(`getAliasesFromMetadata: found cloud discovery metadata in ${source}, returning aliases`);
|
||||
return metadata.aliases;
|
||||
}
|
||||
else {
|
||||
logger?.trace(`getAliasesFromMetadata: did not find cloud discovery metadata in ${source}`);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Get cloud discovery metadata for common authorities
|
||||
*/
|
||||
function getCloudDiscoveryMetadataFromHardcodedValues(authorityHost) {
|
||||
const metadata = getCloudDiscoveryMetadataFromNetworkResponse(InstanceDiscoveryMetadata.metadata, authorityHost);
|
||||
return metadata;
|
||||
}
|
||||
/**
|
||||
* Searches instance discovery network response for the entry that contains the host in the aliases list
|
||||
* @param response
|
||||
* @param authority
|
||||
*/
|
||||
function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
|
||||
for (let i = 0; i < response.length; i++) {
|
||||
const metadata = response[i];
|
||||
if (metadata.aliases.includes(authorityHost)) {
|
||||
return metadata;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
export { EndpointMetadata, InstanceDiscoveryMetadata, InstanceDiscoveryMetadataAliases, getAliasesFromMetadata, getAliasesFromStaticSources, getCloudDiscoveryMetadataFromHardcodedValues, getCloudDiscoveryMetadataFromNetworkResponse, rawMetdataJSON };
|
||||
//# sourceMappingURL=AuthorityMetadata.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthorityMetadata.mjs","sources":["../../src/authority/AuthorityMetadata.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
||||
28
node_modules/@azure/msal-common/dist/authority/AuthorityOptions.d.ts
generated
vendored
Normal file
28
node_modules/@azure/msal-common/dist/authority/AuthorityOptions.d.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import { ProtocolMode } from "./ProtocolMode.js";
|
||||
import { OIDCOptions } from "./OIDCOptions.js";
|
||||
import { AzureRegionConfiguration } from "./AzureRegionConfiguration.js";
|
||||
import { CloudInstanceDiscoveryResponse } from "./CloudInstanceDiscoveryResponse.js";
|
||||
export type AuthorityOptions = {
|
||||
protocolMode: ProtocolMode;
|
||||
OIDCOptions?: OIDCOptions | null;
|
||||
knownAuthorities: Array<string>;
|
||||
cloudDiscoveryMetadata: string;
|
||||
authorityMetadata: string;
|
||||
skipAuthorityMetadataCache?: boolean;
|
||||
azureRegionConfiguration?: AzureRegionConfiguration;
|
||||
authority?: string;
|
||||
};
|
||||
export type StaticAuthorityOptions = Partial<Pick<AuthorityOptions, "knownAuthorities">> & {
|
||||
canonicalAuthority?: string;
|
||||
cloudDiscoveryMetadata?: CloudInstanceDiscoveryResponse;
|
||||
};
|
||||
export declare const AzureCloudInstance: {
|
||||
readonly None: "none";
|
||||
readonly AzurePublic: "https://login.microsoftonline.com";
|
||||
readonly AzurePpe: "https://login.windows-ppe.net";
|
||||
readonly AzureChina: "https://login.chinacloudapi.cn";
|
||||
readonly AzureGermany: "https://login.microsoftonline.de";
|
||||
readonly AzureUsGovernment: "https://login.microsoftonline.us";
|
||||
};
|
||||
export type AzureCloudInstance = (typeof AzureCloudInstance)[keyof typeof AzureCloudInstance];
|
||||
//# sourceMappingURL=AuthorityOptions.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AuthorityOptions.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AuthorityOptions.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthorityOptions.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CACxC,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAC7C,GAAG;IACA,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,8BAA8B,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;CAkBrB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAC1B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
|
||||
23
node_modules/@azure/msal-common/dist/authority/AuthorityOptions.mjs
generated
vendored
Normal file
23
node_modules/@azure/msal-common/dist/authority/AuthorityOptions.mjs
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
const AzureCloudInstance = {
|
||||
// AzureCloudInstance is not specified.
|
||||
None: "none",
|
||||
// Microsoft Azure public cloud
|
||||
AzurePublic: "https://login.microsoftonline.com",
|
||||
// Microsoft PPE
|
||||
AzurePpe: "https://login.windows-ppe.net",
|
||||
// Microsoft Chinese national/regional cloud
|
||||
AzureChina: "https://login.chinacloudapi.cn",
|
||||
// Microsoft German national/regional cloud ("Black Forest")
|
||||
AzureGermany: "https://login.microsoftonline.de",
|
||||
// US Government cloud
|
||||
AzureUsGovernment: "https://login.microsoftonline.us",
|
||||
};
|
||||
|
||||
export { AzureCloudInstance };
|
||||
//# sourceMappingURL=AuthorityOptions.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AuthorityOptions.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AuthorityOptions.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthorityOptions.mjs","sources":["../../src/authority/AuthorityOptions.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAyBU,MAAA,kBAAkB,GAAG;;AAE9B,IAAA,IAAI,EAAE,MAAM;;AAGZ,IAAA,WAAW,EAAE,mCAAmC;;AAGhD,IAAA,QAAQ,EAAE,+BAA+B;;AAGzC,IAAA,UAAU,EAAE,gCAAgC;;AAG5C,IAAA,YAAY,EAAE,kCAAkC;;AAGhD,IAAA,iBAAiB,EAAE,kCAAkC;;;;;"}
|
||||
11
node_modules/@azure/msal-common/dist/authority/AuthorityType.d.ts
generated
vendored
Normal file
11
node_modules/@azure/msal-common/dist/authority/AuthorityType.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Authority types supported by MSAL.
|
||||
*/
|
||||
export declare const AuthorityType: {
|
||||
readonly Default: 0;
|
||||
readonly Adfs: 1;
|
||||
readonly Dsts: 2;
|
||||
readonly Ciam: 3;
|
||||
};
|
||||
export type AuthorityType = (typeof AuthorityType)[keyof typeof AuthorityType];
|
||||
//# sourceMappingURL=AuthorityType.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AuthorityType.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AuthorityType.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthorityType.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityType.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
||||
18
node_modules/@azure/msal-common/dist/authority/AuthorityType.mjs
generated
vendored
Normal file
18
node_modules/@azure/msal-common/dist/authority/AuthorityType.mjs
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* Authority types supported by MSAL.
|
||||
*/
|
||||
const AuthorityType = {
|
||||
Default: 0,
|
||||
Adfs: 1,
|
||||
Dsts: 2,
|
||||
Ciam: 3,
|
||||
};
|
||||
|
||||
export { AuthorityType };
|
||||
//# sourceMappingURL=AuthorityType.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AuthorityType.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AuthorityType.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthorityType.mjs","sources":["../../src/authority/AuthorityType.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAEH;;AAEG;AACU,MAAA,aAAa,GAAG;AACzB,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,IAAI,EAAE,CAAC;;;;;"}
|
||||
2
node_modules/@azure/msal-common/dist/authority/AzureRegion.d.ts
generated
vendored
Normal file
2
node_modules/@azure/msal-common/dist/authority/AzureRegion.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export type AzureRegion = string;
|
||||
//# sourceMappingURL=AzureRegion.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AzureRegion.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AzureRegion.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AzureRegion.d.ts","sourceRoot":"","sources":["../../src/authority/AzureRegion.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC"}
|
||||
6
node_modules/@azure/msal-common/dist/authority/AzureRegionConfiguration.d.ts
generated
vendored
Normal file
6
node_modules/@azure/msal-common/dist/authority/AzureRegionConfiguration.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { AzureRegion } from "./AzureRegion.js";
|
||||
export type AzureRegionConfiguration = {
|
||||
azureRegion?: AzureRegion;
|
||||
environmentRegion: string | undefined;
|
||||
};
|
||||
//# sourceMappingURL=AzureRegionConfiguration.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/AzureRegionConfiguration.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/AzureRegionConfiguration.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AzureRegionConfiguration.d.ts","sourceRoot":"","sources":["../../src/authority/AzureRegionConfiguration.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C,MAAM,MAAM,wBAAwB,GAAG;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC"}
|
||||
6
node_modules/@azure/msal-common/dist/authority/CloudDiscoveryMetadata.d.ts
generated
vendored
Normal file
6
node_modules/@azure/msal-common/dist/authority/CloudDiscoveryMetadata.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export type CloudDiscoveryMetadata = {
|
||||
preferred_network: string;
|
||||
preferred_cache: string;
|
||||
aliases: Array<string>;
|
||||
};
|
||||
//# sourceMappingURL=CloudDiscoveryMetadata.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/CloudDiscoveryMetadata.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/CloudDiscoveryMetadata.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CloudDiscoveryMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/CloudDiscoveryMetadata.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,sBAAsB,GAAG;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1B,CAAC"}
|
||||
14
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts
generated
vendored
Normal file
14
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* The OpenID Configuration Endpoint Response type. Used by the authority class to get relevant OAuth endpoints.
|
||||
*/
|
||||
export type CloudInstanceDiscoveryErrorResponse = {
|
||||
error: String;
|
||||
error_description: String;
|
||||
error_codes?: Array<Number>;
|
||||
timestamp?: String;
|
||||
trace_id?: String;
|
||||
correlation_id?: String;
|
||||
error_uri?: String;
|
||||
};
|
||||
export declare function isCloudInstanceDiscoveryErrorResponse(response: object): boolean;
|
||||
//# sourceMappingURL=CloudInstanceDiscoveryErrorResponse.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CloudInstanceDiscoveryErrorResponse.d.ts","sourceRoot":"","sources":["../../src/authority/CloudInstanceDiscoveryErrorResponse.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,qCAAqC,CACjD,QAAQ,EAAE,MAAM,GACjB,OAAO,CAKT"}
|
||||
13
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs
generated
vendored
Normal file
13
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
function isCloudInstanceDiscoveryErrorResponse(response) {
|
||||
return (response.hasOwnProperty("error") &&
|
||||
response.hasOwnProperty("error_description"));
|
||||
}
|
||||
|
||||
export { isCloudInstanceDiscoveryErrorResponse };
|
||||
//# sourceMappingURL=CloudInstanceDiscoveryErrorResponse.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CloudInstanceDiscoveryErrorResponse.mjs","sources":["../../src/authority/CloudInstanceDiscoveryErrorResponse.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAeG,SAAU,qCAAqC,CACjD,QAAgB,EAAA;AAEhB,IAAA,QACI,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;AAChC,QAAA,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAC9C;AACN;;;;"}
|
||||
10
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.d.ts
generated
vendored
Normal file
10
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata.js";
|
||||
/**
|
||||
* The OpenID Configuration Endpoint Response type. Used by the authority class to get relevant OAuth endpoints.
|
||||
*/
|
||||
export type CloudInstanceDiscoveryResponse = {
|
||||
tenant_discovery_endpoint: string;
|
||||
metadata: Array<CloudDiscoveryMetadata>;
|
||||
};
|
||||
export declare function isCloudInstanceDiscoveryResponse(response: object): boolean;
|
||||
//# sourceMappingURL=CloudInstanceDiscoveryResponse.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CloudInstanceDiscoveryResponse.d.ts","sourceRoot":"","sources":["../../src/authority/CloudInstanceDiscoveryResponse.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG;IACzC,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;CAC3C,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK1E"}
|
||||
13
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.mjs
generated
vendored
Normal file
13
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.mjs
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
function isCloudInstanceDiscoveryResponse(response) {
|
||||
return (response.hasOwnProperty("tenant_discovery_endpoint") &&
|
||||
response.hasOwnProperty("metadata"));
|
||||
}
|
||||
|
||||
export { isCloudInstanceDiscoveryResponse };
|
||||
//# sourceMappingURL=CloudInstanceDiscoveryResponse.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"CloudInstanceDiscoveryResponse.mjs","sources":["../../src/authority/CloudInstanceDiscoveryResponse.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAYG,SAAU,gCAAgC,CAAC,QAAgB,EAAA;AAC7D,IAAA,QACI,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;AACpD,QAAA,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EACrC;AACN;;;;"}
|
||||
6
node_modules/@azure/msal-common/dist/authority/ImdsOptions.d.ts
generated
vendored
Normal file
6
node_modules/@azure/msal-common/dist/authority/ImdsOptions.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export type ImdsOptions = {
|
||||
headers?: {
|
||||
Metadata: string;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=ImdsOptions.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/ImdsOptions.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/ImdsOptions.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ImdsOptions.d.ts","sourceRoot":"","sources":["../../src/authority/ImdsOptions.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC"}
|
||||
9
node_modules/@azure/msal-common/dist/authority/OIDCOptions.d.ts
generated
vendored
Normal file
9
node_modules/@azure/msal-common/dist/authority/OIDCOptions.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { ServerResponseType } from "../utils/Constants.js";
|
||||
/**
|
||||
* Options for the OIDC protocol mode.
|
||||
*/
|
||||
export type OIDCOptions = {
|
||||
serverResponseType?: ServerResponseType;
|
||||
defaultScopes?: Array<string>;
|
||||
};
|
||||
//# sourceMappingURL=OIDCOptions.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/OIDCOptions.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/OIDCOptions.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"OIDCOptions.d.ts","sourceRoot":"","sources":["../../src/authority/OIDCOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC"}
|
||||
12
node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.d.ts
generated
vendored
Normal file
12
node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Tenant Discovery Response which contains the relevant OAuth endpoints and data needed for authentication and authorization.
|
||||
*/
|
||||
export type OpenIdConfigResponse = {
|
||||
authorization_endpoint: string;
|
||||
token_endpoint: string;
|
||||
end_session_endpoint?: string;
|
||||
issuer: string;
|
||||
jwks_uri: string;
|
||||
};
|
||||
export declare function isOpenIdConfigResponse(response: object): boolean;
|
||||
//# sourceMappingURL=OpenIdConfigResponse.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"OpenIdConfigResponse.d.ts","sourceRoot":"","sources":["../../src/authority/OpenIdConfigResponse.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOhE"}
|
||||
15
node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.mjs
generated
vendored
Normal file
15
node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.mjs
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
function isOpenIdConfigResponse(response) {
|
||||
return (response.hasOwnProperty("authorization_endpoint") &&
|
||||
response.hasOwnProperty("token_endpoint") &&
|
||||
response.hasOwnProperty("issuer") &&
|
||||
response.hasOwnProperty("jwks_uri"));
|
||||
}
|
||||
|
||||
export { isOpenIdConfigResponse };
|
||||
//# sourceMappingURL=OpenIdConfigResponse.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"OpenIdConfigResponse.mjs","sources":["../../src/authority/OpenIdConfigResponse.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAaG,SAAU,sBAAsB,CAAC,QAAgB,EAAA;AACnD,IAAA,QACI,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;AACjD,QAAA,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;AACzC,QAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;AACjC,QAAA,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EACrC;AACN;;;;"}
|
||||
9
node_modules/@azure/msal-common/dist/authority/ProtocolMode.d.ts
generated
vendored
Normal file
9
node_modules/@azure/msal-common/dist/authority/ProtocolMode.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* Protocol modes supported by MSAL.
|
||||
*/
|
||||
export declare const ProtocolMode: {
|
||||
readonly AAD: "AAD";
|
||||
readonly OIDC: "OIDC";
|
||||
};
|
||||
export type ProtocolMode = (typeof ProtocolMode)[keyof typeof ProtocolMode];
|
||||
//# sourceMappingURL=ProtocolMode.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/ProtocolMode.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/ProtocolMode.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ProtocolMode.d.ts","sourceRoot":"","sources":["../../src/authority/ProtocolMode.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAGf,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
|
||||
16
node_modules/@azure/msal-common/dist/authority/ProtocolMode.mjs
generated
vendored
Normal file
16
node_modules/@azure/msal-common/dist/authority/ProtocolMode.mjs
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* Protocol modes supported by MSAL.
|
||||
*/
|
||||
const ProtocolMode = {
|
||||
AAD: "AAD",
|
||||
OIDC: "OIDC",
|
||||
};
|
||||
|
||||
export { ProtocolMode };
|
||||
//# sourceMappingURL=ProtocolMode.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/ProtocolMode.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/ProtocolMode.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ProtocolMode.mjs","sources":["../../src/authority/ProtocolMode.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAEH;;AAEG;AACU,MAAA,YAAY,GAAG;AACxB,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,IAAI,EAAE,MAAM;;;;;"}
|
||||
33
node_modules/@azure/msal-common/dist/authority/RegionDiscovery.d.ts
generated
vendored
Normal file
33
node_modules/@azure/msal-common/dist/authority/RegionDiscovery.d.ts
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import { INetworkModule } from "../network/INetworkModule.js";
|
||||
import { RegionDiscoveryMetadata } from "./RegionDiscoveryMetadata.js";
|
||||
import { ImdsOptions } from "./ImdsOptions.js";
|
||||
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient.js";
|
||||
import { Logger } from "../logger/Logger.js";
|
||||
export declare class RegionDiscovery {
|
||||
protected networkInterface: INetworkModule;
|
||||
private logger;
|
||||
protected performanceClient: IPerformanceClient | undefined;
|
||||
protected correlationId: string | undefined;
|
||||
protected static IMDS_OPTIONS: ImdsOptions;
|
||||
constructor(networkInterface: INetworkModule, logger: Logger, performanceClient?: IPerformanceClient, correlationId?: string);
|
||||
/**
|
||||
* Detect the region from the application's environment.
|
||||
*
|
||||
* @returns Promise<string | null>
|
||||
*/
|
||||
detectRegion(environmentRegion: string | undefined, regionDiscoveryMetadata: RegionDiscoveryMetadata): Promise<string | null>;
|
||||
/**
|
||||
* Make the call to the IMDS endpoint
|
||||
*
|
||||
* @param imdsEndpointUrl
|
||||
* @returns Promise<NetworkResponse<string>>
|
||||
*/
|
||||
private getRegionFromIMDS;
|
||||
/**
|
||||
* Get the most recent version of the IMDS endpoint available
|
||||
*
|
||||
* @returns Promise<string | null>
|
||||
*/
|
||||
private getCurrentVersion;
|
||||
}
|
||||
//# sourceMappingURL=RegionDiscovery.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/RegionDiscovery.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/RegionDiscovery.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"RegionDiscovery.d.ts","sourceRoot":"","sources":["../../src/authority/RegionDiscovery.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAGpF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,qBAAa,eAAe;IAExB,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAE3C,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAE5D,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5C,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAIxC;gBAGE,gBAAgB,EAAE,cAAc,EAChC,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,MAAM;IAQ1B;;;;OAIG;IACU,YAAY,CACrB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,uBAAuB,EAAE,uBAAuB,GACjD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoFzB;;;;;OAKG;YACW,iBAAiB;IAe/B;;;;OAIG;YACW,iBAAiB;CA6BlC"}
|
||||
115
node_modules/@azure/msal-common/dist/authority/RegionDiscovery.mjs
generated
vendored
Normal file
115
node_modules/@azure/msal-common/dist/authority/RegionDiscovery.mjs
generated
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
/*! @azure/msal-common v15.1.1 2025-02-05 */
|
||||
'use strict';
|
||||
import { Constants, ResponseCodes, RegionDiscoverySources } from '../utils/Constants.mjs';
|
||||
import { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';
|
||||
import { invokeAsync } from '../utils/FunctionWrappers.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
class RegionDiscovery {
|
||||
constructor(networkInterface, logger, performanceClient, correlationId) {
|
||||
this.networkInterface = networkInterface;
|
||||
this.logger = logger;
|
||||
this.performanceClient = performanceClient;
|
||||
this.correlationId = correlationId;
|
||||
}
|
||||
/**
|
||||
* Detect the region from the application's environment.
|
||||
*
|
||||
* @returns Promise<string | null>
|
||||
*/
|
||||
async detectRegion(environmentRegion, regionDiscoveryMetadata) {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.RegionDiscoveryDetectRegion, this.correlationId);
|
||||
// Initialize auto detected region with the region from the envrionment
|
||||
let autodetectedRegionName = environmentRegion;
|
||||
// Check if a region was detected from the environment, if not, attempt to get the region from IMDS
|
||||
if (!autodetectedRegionName) {
|
||||
const options = RegionDiscovery.IMDS_OPTIONS;
|
||||
try {
|
||||
const localIMDSVersionResponse = await invokeAsync(this.getRegionFromIMDS.bind(this), PerformanceEvents.RegionDiscoveryGetRegionFromIMDS, this.logger, this.performanceClient, this.correlationId)(Constants.IMDS_VERSION, options);
|
||||
if (localIMDSVersionResponse.status ===
|
||||
ResponseCodes.httpSuccess) {
|
||||
autodetectedRegionName = localIMDSVersionResponse.body;
|
||||
regionDiscoveryMetadata.region_source =
|
||||
RegionDiscoverySources.IMDS;
|
||||
}
|
||||
// If the response using the local IMDS version failed, try to fetch the current version of IMDS and retry.
|
||||
if (localIMDSVersionResponse.status ===
|
||||
ResponseCodes.httpBadRequest) {
|
||||
const currentIMDSVersion = await invokeAsync(this.getCurrentVersion.bind(this), PerformanceEvents.RegionDiscoveryGetCurrentVersion, this.logger, this.performanceClient, this.correlationId)(options);
|
||||
if (!currentIMDSVersion) {
|
||||
regionDiscoveryMetadata.region_source =
|
||||
RegionDiscoverySources.FAILED_AUTO_DETECTION;
|
||||
return null;
|
||||
}
|
||||
const currentIMDSVersionResponse = await invokeAsync(this.getRegionFromIMDS.bind(this), PerformanceEvents.RegionDiscoveryGetRegionFromIMDS, this.logger, this.performanceClient, this.correlationId)(currentIMDSVersion, options);
|
||||
if (currentIMDSVersionResponse.status ===
|
||||
ResponseCodes.httpSuccess) {
|
||||
autodetectedRegionName =
|
||||
currentIMDSVersionResponse.body;
|
||||
regionDiscoveryMetadata.region_source =
|
||||
RegionDiscoverySources.IMDS;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
regionDiscoveryMetadata.region_source =
|
||||
RegionDiscoverySources.FAILED_AUTO_DETECTION;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else {
|
||||
regionDiscoveryMetadata.region_source =
|
||||
RegionDiscoverySources.ENVIRONMENT_VARIABLE;
|
||||
}
|
||||
// If no region was auto detected from the environment or from the IMDS endpoint, mark the attempt as a FAILED_AUTO_DETECTION
|
||||
if (!autodetectedRegionName) {
|
||||
regionDiscoveryMetadata.region_source =
|
||||
RegionDiscoverySources.FAILED_AUTO_DETECTION;
|
||||
}
|
||||
return autodetectedRegionName || null;
|
||||
}
|
||||
/**
|
||||
* Make the call to the IMDS endpoint
|
||||
*
|
||||
* @param imdsEndpointUrl
|
||||
* @returns Promise<NetworkResponse<string>>
|
||||
*/
|
||||
async getRegionFromIMDS(version, options) {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.RegionDiscoveryGetRegionFromIMDS, this.correlationId);
|
||||
return this.networkInterface.sendGetRequestAsync(`${Constants.IMDS_ENDPOINT}?api-version=${version}&format=text`, options, Constants.IMDS_TIMEOUT);
|
||||
}
|
||||
/**
|
||||
* Get the most recent version of the IMDS endpoint available
|
||||
*
|
||||
* @returns Promise<string | null>
|
||||
*/
|
||||
async getCurrentVersion(options) {
|
||||
this.performanceClient?.addQueueMeasurement(PerformanceEvents.RegionDiscoveryGetCurrentVersion, this.correlationId);
|
||||
try {
|
||||
const response = await this.networkInterface.sendGetRequestAsync(`${Constants.IMDS_ENDPOINT}?format=json`, options);
|
||||
// When IMDS endpoint is called without the api version query param, bad request response comes back with latest version.
|
||||
if (response.status === ResponseCodes.httpBadRequest &&
|
||||
response.body &&
|
||||
response.body["newest-versions"] &&
|
||||
response.body["newest-versions"].length > 0) {
|
||||
return response.body["newest-versions"][0];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Options for the IMDS endpoint request
|
||||
RegionDiscovery.IMDS_OPTIONS = {
|
||||
headers: {
|
||||
Metadata: "true",
|
||||
},
|
||||
};
|
||||
|
||||
export { RegionDiscovery };
|
||||
//# sourceMappingURL=RegionDiscovery.mjs.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/RegionDiscovery.mjs.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/RegionDiscovery.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"RegionDiscovery.mjs","sources":["../../src/authority/RegionDiscovery.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
||||
7
node_modules/@azure/msal-common/dist/authority/RegionDiscoveryMetadata.d.ts
generated
vendored
Normal file
7
node_modules/@azure/msal-common/dist/authority/RegionDiscoveryMetadata.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { RegionDiscoveryOutcomes, RegionDiscoverySources } from "../utils/Constants.js";
|
||||
export type RegionDiscoveryMetadata = {
|
||||
region_used?: string;
|
||||
region_source?: RegionDiscoverySources;
|
||||
region_outcome?: RegionDiscoveryOutcomes;
|
||||
};
|
||||
//# sourceMappingURL=RegionDiscoveryMetadata.d.ts.map
|
||||
1
node_modules/@azure/msal-common/dist/authority/RegionDiscoveryMetadata.d.ts.map
generated
vendored
Normal file
1
node_modules/@azure/msal-common/dist/authority/RegionDiscoveryMetadata.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"RegionDiscoveryMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/RegionDiscoveryMetadata.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,uBAAuB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC5C,CAAC"}
|
||||
Reference in New Issue
Block a user