@azure/msal-common 14.1.0-alpha.0 → 14.2.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account/AccountInfo.d.ts +0 -1
- package/dist/account/AccountInfo.d.ts.map +1 -1
- package/dist/account/AuthToken.mjs +1 -1
- package/dist/account/CcsCredential.mjs +1 -1
- package/dist/account/ClientInfo.mjs +1 -1
- package/dist/authority/Authority.d.ts +28 -13
- package/dist/authority/Authority.d.ts.map +1 -1
- package/dist/authority/Authority.mjs +130 -75
- package/dist/authority/Authority.mjs.map +1 -1
- package/dist/authority/AuthorityFactory.d.ts.map +1 -1
- package/dist/authority/AuthorityFactory.mjs +3 -3
- package/dist/authority/AuthorityMetadata.d.ts +23 -0
- package/dist/authority/AuthorityMetadata.d.ts.map +1 -1
- package/dist/authority/AuthorityMetadata.mjs +58 -2
- package/dist/authority/AuthorityMetadata.mjs.map +1 -1
- package/dist/authority/AuthorityOptions.d.ts +6 -0
- package/dist/authority/AuthorityOptions.d.ts.map +1 -1
- package/dist/authority/AuthorityOptions.mjs +1 -1
- package/dist/authority/AuthorityOptions.mjs.map +1 -1
- package/dist/authority/AuthorityType.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
- package/dist/authority/OpenIdConfigResponse.mjs +1 -1
- package/dist/authority/ProtocolMode.mjs +1 -1
- package/dist/authority/RegionDiscovery.mjs +1 -1
- package/dist/cache/CacheManager.d.ts +42 -8
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.mjs +127 -36
- package/dist/cache/CacheManager.mjs.map +1 -1
- package/dist/cache/entities/AccessTokenEntity.mjs +1 -1
- package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
- package/dist/cache/entities/AccountEntity.mjs +1 -3
- package/dist/cache/entities/AccountEntity.mjs.map +1 -1
- package/dist/cache/entities/AppMetadataEntity.mjs +1 -1
- package/dist/cache/entities/AuthorityMetadataEntity.mjs +1 -1
- package/dist/cache/entities/CacheRecord.mjs +1 -1
- package/dist/cache/entities/CredentialEntity.mjs +1 -1
- package/dist/cache/entities/IdTokenEntity.mjs +1 -1
- package/dist/cache/entities/RefreshTokenEntity.mjs +1 -1
- package/dist/cache/entities/ServerTelemetryEntity.mjs +1 -1
- package/dist/cache/entities/ThrottlingEntity.mjs +1 -1
- package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist/cache/utils/CacheTypes.d.ts +4 -6
- package/dist/cache/utils/CacheTypes.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.mjs +4 -3
- package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
- package/dist/client/BaseClient.d.ts +1 -1
- package/dist/client/BaseClient.d.ts.map +1 -1
- package/dist/client/BaseClient.mjs +5 -4
- package/dist/client/BaseClient.mjs.map +1 -1
- package/dist/client/RefreshTokenClient.d.ts.map +1 -1
- package/dist/client/RefreshTokenClient.mjs +15 -7
- package/dist/client/RefreshTokenClient.mjs.map +1 -1
- package/dist/client/SilentFlowClient.d.ts +1 -0
- package/dist/client/SilentFlowClient.d.ts.map +1 -1
- package/dist/client/SilentFlowClient.mjs +20 -27
- package/dist/client/SilentFlowClient.mjs.map +1 -1
- package/dist/config/ClientConfiguration.d.ts.map +1 -1
- package/dist/config/ClientConfiguration.mjs +2 -4
- package/dist/config/ClientConfiguration.mjs.map +1 -1
- package/dist/crypto/ICrypto.d.ts +0 -4
- package/dist/crypto/ICrypto.d.ts.map +1 -1
- package/dist/crypto/ICrypto.mjs +1 -4
- package/dist/crypto/ICrypto.mjs.map +1 -1
- package/dist/crypto/JoseHeader.mjs +1 -1
- package/dist/crypto/PopTokenGenerator.mjs +1 -1
- package/dist/error/AuthError.mjs +1 -1
- package/dist/error/AuthErrorCodes.mjs +1 -1
- package/dist/error/ClientAuthError.d.ts +5 -0
- package/dist/error/ClientAuthError.d.ts.map +1 -1
- package/dist/error/ClientAuthError.mjs +7 -2
- package/dist/error/ClientAuthError.mjs.map +1 -1
- package/dist/error/ClientAuthErrorCodes.d.ts +1 -0
- package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -1
- package/dist/error/ClientAuthErrorCodes.mjs +4 -3
- package/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
- package/dist/error/ClientConfigurationError.mjs +1 -1
- package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
- package/dist/error/InteractionRequiredAuthError.mjs +1 -1
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
- package/dist/error/JoseHeaderError.mjs +1 -1
- package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
- package/dist/error/ServerError.mjs +1 -1
- package/dist/index.cjs +4469 -4242
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/logger/Logger.mjs +1 -1
- package/dist/network/INetworkModule.mjs +1 -1
- package/dist/network/NetworkManager.mjs +1 -1
- package/dist/network/ThrottlingUtils.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.d.ts.map +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/packageMetadata.mjs.map +1 -1
- package/dist/request/AuthenticationHeaderParser.mjs +1 -1
- package/dist/request/CommonRefreshTokenRequest.d.ts +3 -0
- package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
- package/dist/request/CommonSilentFlowRequest.d.ts +2 -0
- package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
- package/dist/request/RequestParameterBuilder.mjs +1 -1
- package/dist/request/RequestValidator.mjs +1 -1
- package/dist/request/ScopeSet.mjs +1 -1
- package/dist/response/ResponseHandler.d.ts.map +1 -1
- package/dist/response/ResponseHandler.mjs +8 -4
- package/dist/response/ResponseHandler.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts +25 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +17 -2
- package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
- package/dist/url/UrlString.mjs +1 -1
- package/dist/utils/Constants.d.ts +2 -0
- package/dist/utils/Constants.d.ts.map +1 -1
- package/dist/utils/Constants.mjs +6 -3
- package/dist/utils/Constants.mjs.map +1 -1
- package/dist/utils/FunctionWrappers.d.ts.map +1 -1
- package/dist/utils/FunctionWrappers.mjs +1 -2
- package/dist/utils/FunctionWrappers.mjs.map +1 -1
- package/dist/utils/ProtocolUtils.mjs +1 -1
- package/dist/utils/StringUtils.mjs +1 -1
- package/dist/utils/TimeUtils.mjs +1 -1
- package/package.json +1 -1
- package/src/account/AccountInfo.ts +0 -1
- package/src/authority/Authority.ts +216 -130
- package/src/authority/AuthorityFactory.ts +4 -4
- package/src/authority/AuthorityMetadata.ts +87 -0
- package/src/authority/AuthorityOptions.ts +9 -0
- package/src/cache/CacheManager.ts +192 -46
- package/src/cache/entities/AccountEntity.ts +0 -3
- package/src/cache/utils/CacheTypes.ts +7 -6
- package/src/client/AuthorizationCodeClient.ts +12 -3
- package/src/client/BaseClient.ts +9 -6
- package/src/client/RefreshTokenClient.ts +36 -9
- package/src/client/SilentFlowClient.ts +49 -49
- package/src/config/ClientConfiguration.ts +4 -4
- package/src/crypto/ICrypto.ts +0 -7
- package/src/error/ClientAuthError.ts +8 -0
- package/src/error/ClientAuthErrorCodes.ts +1 -0
- package/src/index.ts +8 -1
- package/src/packageMetadata.ts +1 -1
- package/src/request/CommonRefreshTokenRequest.ts +3 -0
- package/src/request/CommonSilentFlowRequest.ts +2 -0
- package/src/response/ResponseHandler.ts +9 -3
- package/src/telemetry/performance/PerformanceEvent.ts +33 -2
- package/src/utils/Constants.ts +4 -0
- package/src/utils/FunctionWrappers.ts +0 -1
|
@@ -9,7 +9,6 @@ import { TokenClaims } from "./TokenClaims";
|
|
|
9
9
|
* - name - Full name for the account, including given name and family name
|
|
10
10
|
* - idToken - raw ID token
|
|
11
11
|
* - idTokenClaims - Object contains claims from ID token
|
|
12
|
-
* - localAccountId - The user's account ID
|
|
13
12
|
* - nativeAccountId - The user's native account ID
|
|
14
13
|
*/
|
|
15
14
|
export type AccountInfo = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountInfo.d.ts","sourceRoot":"","sources":["../../src/account/AccountInfo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C
|
|
1
|
+
{"version":3,"file":"AccountInfo.d.ts","sourceRoot":"","sources":["../../src/account/AccountInfo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,WAAW,GAAG;QAC1B,CAAC,GAAG,EAAE,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,EAAE,GACR,MAAM,GACN,SAAS,GACT,OAAO,CAAC;KACjB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CAC1B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.2.0-alpha.0 2023-12-07 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { createClientAuthError } from '../error/ClientAuthError.mjs';
|
|
4
4
|
import { tokenParsingError, nullOrEmptyToken, maxAgeTranspired } from '../error/ClientAuthErrorCodes.mjs';
|
|
@@ -4,7 +4,7 @@ import { IUri } from "../url/IUri";
|
|
|
4
4
|
import { INetworkModule } from "../network/INetworkModule";
|
|
5
5
|
import { ProtocolMode } from "./ProtocolMode";
|
|
6
6
|
import { ICacheManager } from "../cache/interface/ICacheManager";
|
|
7
|
-
import { AuthorityOptions } from "./AuthorityOptions";
|
|
7
|
+
import { AuthorityOptions, StaticAuthorityOptions } from "./AuthorityOptions";
|
|
8
8
|
import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata";
|
|
9
9
|
import { RegionDiscoveryMetadata } from "./RegionDiscoveryMetadata";
|
|
10
10
|
import { AzureCloudOptions } from "../config/ClientConfiguration";
|
|
@@ -27,8 +27,9 @@ export declare class Authority {
|
|
|
27
27
|
private logger;
|
|
28
28
|
protected performanceClient: IPerformanceClient | undefined;
|
|
29
29
|
protected correlationId: string | undefined;
|
|
30
|
+
private managedIdentity;
|
|
30
31
|
private static reservedTenantDomains;
|
|
31
|
-
constructor(authority: string, networkInterface: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions, logger: Logger, performanceClient?: IPerformanceClient, correlationId?: string);
|
|
32
|
+
constructor(authority: string, networkInterface: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions, logger: Logger, performanceClient?: IPerformanceClient, correlationId?: string, managedIdentity?: boolean);
|
|
32
33
|
/**
|
|
33
34
|
* Get {@link AuthorityType}
|
|
34
35
|
* @param authorityUri {@link IUri}
|
|
@@ -106,7 +107,7 @@ export declare class Authority {
|
|
|
106
107
|
*/
|
|
107
108
|
protected get defaultOpenIdConfigurationEndpoint(): string;
|
|
108
109
|
/**
|
|
109
|
-
* Boolean that returns
|
|
110
|
+
* Boolean that returns whether or not tenant discovery has been completed.
|
|
110
111
|
*/
|
|
111
112
|
discoveryComplete(): boolean;
|
|
112
113
|
/**
|
|
@@ -114,11 +115,32 @@ export declare class Authority {
|
|
|
114
115
|
* and the /authorize, /token and logout endpoints.
|
|
115
116
|
*/
|
|
116
117
|
resolveEndpointsAsync(): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Returns metadata entity from cache if it exists, otherwiser returns a new metadata entity built
|
|
120
|
+
* from the configured canonical authority
|
|
121
|
+
* @returns
|
|
122
|
+
*/
|
|
123
|
+
private getCurrentMetadataEntity;
|
|
124
|
+
/**
|
|
125
|
+
* Updates cached metadata based on metadata source and sets the instance's metadata
|
|
126
|
+
* property to the same value
|
|
127
|
+
* @param metadataEntity
|
|
128
|
+
* @param cloudDiscoverySource
|
|
129
|
+
* @param endpointMetadataResult
|
|
130
|
+
*/
|
|
131
|
+
private updateCachedMetadata;
|
|
117
132
|
/**
|
|
118
133
|
* Update AuthorityMetadataEntity with new endpoints and return where the information came from
|
|
119
134
|
* @param metadataEntity
|
|
120
135
|
*/
|
|
121
136
|
private updateEndpointMetadata;
|
|
137
|
+
/**
|
|
138
|
+
* Updates endpoint metadata from local sources and returns where the information was retrieved from and the metadata config
|
|
139
|
+
* response if the source is hardcoded metadata
|
|
140
|
+
* @param metadataEntity
|
|
141
|
+
* @returns
|
|
142
|
+
*/
|
|
143
|
+
private updateEndpointMetadataFromLocalSources;
|
|
122
144
|
/**
|
|
123
145
|
* Compares the number of url components after the domain to determine if the cached
|
|
124
146
|
* authority metadata can be used for the requested authority. Protects against same domain different
|
|
@@ -152,6 +174,7 @@ export declare class Authority {
|
|
|
152
174
|
* @returns AuthorityMetadataSource
|
|
153
175
|
*/
|
|
154
176
|
private updateCloudDiscoveryMetadata;
|
|
177
|
+
private updateCloudDiscoveryMetadataFromLocalSources;
|
|
155
178
|
/**
|
|
156
179
|
* Parse cloudDiscoveryMetadata config or check knownAuthorities
|
|
157
180
|
*/
|
|
@@ -162,10 +185,6 @@ export declare class Authority {
|
|
|
162
185
|
* @param hasHardcodedMetadata boolean
|
|
163
186
|
*/
|
|
164
187
|
private getCloudDiscoveryMetadataFromNetwork;
|
|
165
|
-
/**
|
|
166
|
-
* Get cloud discovery metadata for common authorities
|
|
167
|
-
*/
|
|
168
|
-
private getCloudDiscoveryMetadataFromHardcodedValues;
|
|
169
188
|
/**
|
|
170
189
|
* Helper function to determine if this host is included in the knownAuthorities config option
|
|
171
190
|
*/
|
|
@@ -181,12 +200,6 @@ export declare class Authority {
|
|
|
181
200
|
* @param host
|
|
182
201
|
*/
|
|
183
202
|
static createCloudDiscoveryMetadataFromHost(host: string): CloudDiscoveryMetadata;
|
|
184
|
-
/**
|
|
185
|
-
* Searches instance discovery network response for the entry that contains the host in the aliases list
|
|
186
|
-
* @param response
|
|
187
|
-
* @param authority
|
|
188
|
-
*/
|
|
189
|
-
static getCloudDiscoveryMetadataFromNetworkResponse(response: CloudDiscoveryMetadata[], authority: string): CloudDiscoveryMetadata | null;
|
|
190
203
|
/**
|
|
191
204
|
* helper function to generate environment from authority object
|
|
192
205
|
*/
|
|
@@ -233,4 +246,6 @@ export declare class Authority {
|
|
|
233
246
|
*/
|
|
234
247
|
static transformCIAMAuthority(authority: string): string;
|
|
235
248
|
}
|
|
249
|
+
export declare function formatAuthorityUri(authorityUri: string): string;
|
|
250
|
+
export declare function buildStaticAuthorityOptions(authOptions: Partial<AuthorityOptions>): StaticAuthorityOptions;
|
|
236
251
|
//# sourceMappingURL=Authority.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authority.d.ts","sourceRoot":"","sources":["../../src/authority/Authority.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAEH,oBAAoB,EACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAKnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"Authority.d.ts","sourceRoot":"","sources":["../../src/authority/Authority.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.2.0-alpha.0 2023-12-07 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { AuthorityType } from './AuthorityType.mjs';
|
|
4
4
|
import { isOpenIdConfigResponse } from './OpenIdConfigResponse.mjs';
|
|
5
5
|
import { UrlString } from '../url/UrlString.mjs';
|
|
6
6
|
import { createClientAuthError } from '../error/ClientAuthError.mjs';
|
|
7
7
|
import { Constants, AuthorityMetadataSource, RegionDiscoveryOutcomes, AADAuthorityConstants } from '../utils/Constants.mjs';
|
|
8
|
-
import { EndpointMetadata,
|
|
8
|
+
import { EndpointMetadata, getCloudDiscoveryMetadataFromHardcodedValues, getCloudDiscoveryMetadataFromNetworkResponse, InstanceDiscoveryMetadataAliases } from './AuthorityMetadata.mjs';
|
|
9
9
|
import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
|
|
10
10
|
import { ProtocolMode } from './ProtocolMode.mjs';
|
|
11
11
|
import { AuthorityMetadataEntity } from '../cache/entities/AuthorityMetadataEntity.mjs';
|
|
@@ -29,7 +29,7 @@ import { invalidAuthorityMetadata, untrustedAuthority, invalidCloudDiscoveryMeta
|
|
|
29
29
|
* @internal
|
|
30
30
|
*/
|
|
31
31
|
class Authority {
|
|
32
|
-
constructor(authority, networkInterface, cacheManager, authorityOptions, logger, performanceClient, correlationId) {
|
|
32
|
+
constructor(authority, networkInterface, cacheManager, authorityOptions, logger, performanceClient, correlationId, managedIdentity) {
|
|
33
33
|
this.canonicalAuthority = authority;
|
|
34
34
|
this._canonicalAuthority.validateAsUri();
|
|
35
35
|
this.networkInterface = networkInterface;
|
|
@@ -43,6 +43,7 @@ class Authority {
|
|
|
43
43
|
this.logger = logger;
|
|
44
44
|
this.performanceClient = performanceClient;
|
|
45
45
|
this.correlationId = correlationId;
|
|
46
|
+
this.managedIdentity = managedIdentity || false;
|
|
46
47
|
this.regionDiscovery = new RegionDiscovery(networkInterface, this.logger, this.performanceClient, this.correlationId);
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
@@ -248,7 +249,7 @@ class Authority {
|
|
|
248
249
|
return `${this.canonicalAuthority}v2.0/.well-known/openid-configuration`;
|
|
249
250
|
}
|
|
250
251
|
/**
|
|
251
|
-
* Boolean that returns
|
|
252
|
+
* Boolean that returns whether or not tenant discovery has been completed.
|
|
252
253
|
*/
|
|
253
254
|
discoveryComplete() {
|
|
254
255
|
return !!this.metadata;
|
|
@@ -259,16 +260,37 @@ class Authority {
|
|
|
259
260
|
*/
|
|
260
261
|
async resolveEndpointsAsync() {
|
|
261
262
|
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityResolveEndpointsAsync, this.correlationId);
|
|
263
|
+
const metadataEntity = this.getCurrentMetadataEntity();
|
|
264
|
+
const cloudDiscoverySource = await invokeAsync(this.updateCloudDiscoveryMetadata.bind(this), PerformanceEvents.AuthorityUpdateCloudDiscoveryMetadata, this.logger, this.performanceClient, this.correlationId)(metadataEntity);
|
|
265
|
+
this.canonicalAuthority = this.canonicalAuthority.replace(this.hostnameAndPort, metadataEntity.preferred_network);
|
|
266
|
+
const endpointSource = await invokeAsync(this.updateEndpointMetadata.bind(this), PerformanceEvents.AuthorityUpdateEndpointMetadata, this.logger, this.performanceClient, this.correlationId)(metadataEntity);
|
|
267
|
+
this.updateCachedMetadata(metadataEntity, cloudDiscoverySource, {
|
|
268
|
+
source: endpointSource,
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Returns metadata entity from cache if it exists, otherwiser returns a new metadata entity built
|
|
273
|
+
* from the configured canonical authority
|
|
274
|
+
* @returns
|
|
275
|
+
*/
|
|
276
|
+
getCurrentMetadataEntity() {
|
|
262
277
|
let metadataEntity = this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);
|
|
263
278
|
if (!metadataEntity) {
|
|
264
279
|
metadataEntity = new AuthorityMetadataEntity();
|
|
265
280
|
metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);
|
|
266
281
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
282
|
+
return metadataEntity;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Updates cached metadata based on metadata source and sets the instance's metadata
|
|
286
|
+
* property to the same value
|
|
287
|
+
* @param metadataEntity
|
|
288
|
+
* @param cloudDiscoverySource
|
|
289
|
+
* @param endpointMetadataResult
|
|
290
|
+
*/
|
|
291
|
+
updateCachedMetadata(metadataEntity, cloudDiscoverySource, endpointMetadataResult) {
|
|
270
292
|
if (cloudDiscoverySource !== AuthorityMetadataSource.CACHE &&
|
|
271
|
-
|
|
293
|
+
endpointMetadataResult?.source !== AuthorityMetadataSource.CACHE) {
|
|
272
294
|
// Reset the expiration time unless both values came from a successful cache lookup
|
|
273
295
|
metadataEntity.resetExpiresAt();
|
|
274
296
|
metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);
|
|
@@ -283,12 +305,51 @@ class Authority {
|
|
|
283
305
|
*/
|
|
284
306
|
async updateEndpointMetadata(metadataEntity) {
|
|
285
307
|
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityUpdateEndpointMetadata, this.correlationId);
|
|
286
|
-
this.
|
|
287
|
-
|
|
308
|
+
const localMetadata = this.updateEndpointMetadataFromLocalSources(metadataEntity);
|
|
309
|
+
// Further update may be required for hardcoded metadata if regional metadata is preferred
|
|
310
|
+
if (localMetadata) {
|
|
311
|
+
if (localMetadata.source ===
|
|
312
|
+
AuthorityMetadataSource.HARDCODED_VALUES) {
|
|
313
|
+
// If the user prefers to use an azure region replace the global endpoints with regional information.
|
|
314
|
+
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
|
|
315
|
+
if (localMetadata.metadata) {
|
|
316
|
+
const hardcodedMetadata = await invokeAsync(this.updateMetadataWithRegionalInformation.bind(this), PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.logger, this.performanceClient, this.correlationId)(localMetadata.metadata);
|
|
317
|
+
metadataEntity.updateEndpointMetadata(hardcodedMetadata, false);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return localMetadata.source;
|
|
322
|
+
}
|
|
323
|
+
// Get metadata from network if local sources aren't available
|
|
324
|
+
let metadata = await invokeAsync(this.getEndpointMetadataFromNetwork.bind(this), PerformanceEvents.AuthorityGetEndpointMetadataFromNetwork, this.logger, this.performanceClient, this.correlationId)();
|
|
288
325
|
if (metadata) {
|
|
326
|
+
// If the user prefers to use an azure region replace the global endpoints with regional information.
|
|
327
|
+
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
|
|
328
|
+
metadata = await invokeAsync(this.updateMetadataWithRegionalInformation.bind(this), PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.logger, this.performanceClient, this.correlationId)(metadata);
|
|
329
|
+
}
|
|
330
|
+
metadataEntity.updateEndpointMetadata(metadata, true);
|
|
331
|
+
return AuthorityMetadataSource.NETWORK;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
// Metadata could not be obtained from the config, cache, network or hardcoded values
|
|
335
|
+
throw createClientAuthError(openIdConfigError, this.defaultOpenIdConfigurationEndpoint);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Updates endpoint metadata from local sources and returns where the information was retrieved from and the metadata config
|
|
340
|
+
* response if the source is hardcoded metadata
|
|
341
|
+
* @param metadataEntity
|
|
342
|
+
* @returns
|
|
343
|
+
*/
|
|
344
|
+
updateEndpointMetadataFromLocalSources(metadataEntity) {
|
|
345
|
+
this.logger.verbose("Attempting to get endpoint metadata from authority configuration");
|
|
346
|
+
const configMetadata = this.getEndpointMetadataFromConfig();
|
|
347
|
+
if (configMetadata) {
|
|
289
348
|
this.logger.verbose("Found endpoint metadata in authority configuration");
|
|
290
|
-
metadataEntity.updateEndpointMetadata(
|
|
291
|
-
return
|
|
349
|
+
metadataEntity.updateEndpointMetadata(configMetadata, false);
|
|
350
|
+
return {
|
|
351
|
+
source: AuthorityMetadataSource.CONFIG,
|
|
352
|
+
};
|
|
292
353
|
}
|
|
293
354
|
this.logger.verbose("Did not find endpoint metadata in the config... Attempting to get endpoint metadata from the hardcoded values.");
|
|
294
355
|
// 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.
|
|
@@ -296,15 +357,13 @@ class Authority {
|
|
|
296
357
|
this.logger.verbose("Skipping hardcoded metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get endpoint metadata from the network metadata cache.");
|
|
297
358
|
}
|
|
298
359
|
else {
|
|
299
|
-
|
|
360
|
+
const hardcodedMetadata = this.getEndpointMetadataFromHardcodedValues();
|
|
300
361
|
if (hardcodedMetadata) {
|
|
301
|
-
this.logger.verbose("Found endpoint metadata from hardcoded values.");
|
|
302
|
-
// If the user prefers to use an azure region replace the global endpoints with regional information.
|
|
303
|
-
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
|
|
304
|
-
hardcodedMetadata = await invokeAsync(this.updateMetadataWithRegionalInformation.bind(this), PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.logger, this.performanceClient, this.correlationId)(hardcodedMetadata);
|
|
305
|
-
}
|
|
306
362
|
metadataEntity.updateEndpointMetadata(hardcodedMetadata, false);
|
|
307
|
-
return
|
|
363
|
+
return {
|
|
364
|
+
source: AuthorityMetadataSource.HARDCODED_VALUES,
|
|
365
|
+
metadata: hardcodedMetadata,
|
|
366
|
+
};
|
|
308
367
|
}
|
|
309
368
|
else {
|
|
310
369
|
this.logger.verbose("Did not find endpoint metadata in hardcoded values... Attempting to get endpoint metadata from the network metadata cache.");
|
|
@@ -317,24 +376,12 @@ class Authority {
|
|
|
317
376
|
!metadataEntityExpired) {
|
|
318
377
|
// No need to update
|
|
319
378
|
this.logger.verbose("Found endpoint metadata in the cache.");
|
|
320
|
-
return AuthorityMetadataSource.CACHE;
|
|
379
|
+
return { source: AuthorityMetadataSource.CACHE };
|
|
321
380
|
}
|
|
322
381
|
else if (metadataEntityExpired) {
|
|
323
382
|
this.logger.verbose("The metadata entity is expired.");
|
|
324
383
|
}
|
|
325
|
-
|
|
326
|
-
if (metadata) {
|
|
327
|
-
// If the user prefers to use an azure region replace the global endpoints with regional information.
|
|
328
|
-
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
|
|
329
|
-
metadata = await invokeAsync(this.updateMetadataWithRegionalInformation.bind(this), PerformanceEvents.AuthorityUpdateMetadataWithRegionalInformation, this.logger, this.performanceClient, this.correlationId)(metadata);
|
|
330
|
-
}
|
|
331
|
-
metadataEntity.updateEndpointMetadata(metadata, true);
|
|
332
|
-
return AuthorityMetadataSource.NETWORK;
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
// Metadata could not be obtained from the config, cache, network or hardcoded values
|
|
336
|
-
throw createClientAuthError(openIdConfigError, this.defaultOpenIdConfigurationEndpoint);
|
|
337
|
-
}
|
|
384
|
+
return null;
|
|
338
385
|
}
|
|
339
386
|
/**
|
|
340
387
|
* Compares the number of url components after the domain to determine if the cached
|
|
@@ -439,13 +486,27 @@ class Authority {
|
|
|
439
486
|
*/
|
|
440
487
|
async updateCloudDiscoveryMetadata(metadataEntity) {
|
|
441
488
|
this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityUpdateCloudDiscoveryMetadata, this.correlationId);
|
|
489
|
+
const localMetadataSource = this.updateCloudDiscoveryMetadataFromLocalSources(metadataEntity);
|
|
490
|
+
if (localMetadataSource) {
|
|
491
|
+
return localMetadataSource;
|
|
492
|
+
}
|
|
493
|
+
// Fallback to network as metadata source
|
|
494
|
+
const metadata = await invokeAsync(this.getCloudDiscoveryMetadataFromNetwork.bind(this), PerformanceEvents.AuthorityGetCloudDiscoveryMetadataFromNetwork, this.logger, this.performanceClient, this.correlationId)();
|
|
495
|
+
if (metadata) {
|
|
496
|
+
metadataEntity.updateCloudDiscoveryMetadata(metadata, true);
|
|
497
|
+
return AuthorityMetadataSource.NETWORK;
|
|
498
|
+
}
|
|
499
|
+
// Metadata could not be obtained from the config, cache, network or hardcoded values
|
|
500
|
+
throw createClientConfigurationError(untrustedAuthority);
|
|
501
|
+
}
|
|
502
|
+
updateCloudDiscoveryMetadataFromLocalSources(metadataEntity) {
|
|
442
503
|
this.logger.verbose("Attempting to get cloud discovery metadata from authority configuration");
|
|
443
504
|
this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities ||
|
|
444
505
|
Constants.NOT_APPLICABLE}`);
|
|
445
506
|
this.logger.verbosePii(`Authority Metadata: ${this.authorityOptions.authorityMetadata ||
|
|
446
507
|
Constants.NOT_APPLICABLE}`);
|
|
447
508
|
this.logger.verbosePii(`Canonical Authority: ${metadataEntity.canonical_authority || Constants.NOT_APPLICABLE}`);
|
|
448
|
-
|
|
509
|
+
const metadata = this.getCloudDiscoveryMetadataFromConfig();
|
|
449
510
|
if (metadata) {
|
|
450
511
|
this.logger.verbose("Found cloud discovery metadata in authority configuration");
|
|
451
512
|
metadataEntity.updateCloudDiscoveryMetadata(metadata, false);
|
|
@@ -457,7 +518,7 @@ class Authority {
|
|
|
457
518
|
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.");
|
|
458
519
|
}
|
|
459
520
|
else {
|
|
460
|
-
const hardcodedMetadata = this.
|
|
521
|
+
const hardcodedMetadata = getCloudDiscoveryMetadataFromHardcodedValues(this.canonicalAuthority);
|
|
461
522
|
if (hardcodedMetadata) {
|
|
462
523
|
this.logger.verbose("Found cloud discovery metadata from hardcoded values.");
|
|
463
524
|
metadataEntity.updateCloudDiscoveryMetadata(hardcodedMetadata, false);
|
|
@@ -476,13 +537,7 @@ class Authority {
|
|
|
476
537
|
else if (metadataEntityExpired) {
|
|
477
538
|
this.logger.verbose("The metadata entity is expired.");
|
|
478
539
|
}
|
|
479
|
-
|
|
480
|
-
if (metadata) {
|
|
481
|
-
metadataEntity.updateCloudDiscoveryMetadata(metadata, true);
|
|
482
|
-
return AuthorityMetadataSource.NETWORK;
|
|
483
|
-
}
|
|
484
|
-
// Metadata could not be obtained from the config, cache, network or hardcoded values
|
|
485
|
-
throw createClientConfigurationError(untrustedAuthority);
|
|
540
|
+
return null;
|
|
486
541
|
}
|
|
487
542
|
/**
|
|
488
543
|
* Parse cloudDiscoveryMetadata config or check knownAuthorities
|
|
@@ -499,7 +554,7 @@ class Authority {
|
|
|
499
554
|
try {
|
|
500
555
|
this.logger.verbose("Attempting to parse the cloud discovery metadata.");
|
|
501
556
|
const parsedResponse = JSON.parse(this.authorityOptions.cloudDiscoveryMetadata);
|
|
502
|
-
const metadata =
|
|
557
|
+
const metadata = getCloudDiscoveryMetadataFromNetworkResponse(parsedResponse.metadata, this.hostnameAndPort);
|
|
503
558
|
this.logger.verbose("Parsed the cloud discovery metadata.");
|
|
504
559
|
if (metadata) {
|
|
505
560
|
this.logger.verbose("There is returnable metadata attached to the parsed cloud discovery metadata.");
|
|
@@ -563,7 +618,7 @@ class Authority {
|
|
|
563
618
|
return null;
|
|
564
619
|
}
|
|
565
620
|
this.logger.verbose("Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request.");
|
|
566
|
-
match =
|
|
621
|
+
match = getCloudDiscoveryMetadataFromNetworkResponse(metadata, this.hostnameAndPort);
|
|
567
622
|
}
|
|
568
623
|
catch (error) {
|
|
569
624
|
if (error instanceof AuthError) {
|
|
@@ -583,17 +638,6 @@ class Authority {
|
|
|
583
638
|
}
|
|
584
639
|
return match;
|
|
585
640
|
}
|
|
586
|
-
/**
|
|
587
|
-
* Get cloud discovery metadata for common authorities
|
|
588
|
-
*/
|
|
589
|
-
getCloudDiscoveryMetadataFromHardcodedValues() {
|
|
590
|
-
if (this.canonicalAuthority in InstanceDiscoveryMetadata) {
|
|
591
|
-
const hardcodedMetadataResponse = InstanceDiscoveryMetadata[this.canonicalAuthority];
|
|
592
|
-
const metadata = Authority.getCloudDiscoveryMetadataFromNetworkResponse(hardcodedMetadataResponse.metadata, this.hostnameAndPort);
|
|
593
|
-
return metadata;
|
|
594
|
-
}
|
|
595
|
-
return null;
|
|
596
|
-
}
|
|
597
641
|
/**
|
|
598
642
|
* Helper function to determine if this host is included in the knownAuthorities config option
|
|
599
643
|
*/
|
|
@@ -633,25 +677,14 @@ class Authority {
|
|
|
633
677
|
aliases: [host],
|
|
634
678
|
};
|
|
635
679
|
}
|
|
636
|
-
/**
|
|
637
|
-
* Searches instance discovery network response for the entry that contains the host in the aliases list
|
|
638
|
-
* @param response
|
|
639
|
-
* @param authority
|
|
640
|
-
*/
|
|
641
|
-
static getCloudDiscoveryMetadataFromNetworkResponse(response, authority) {
|
|
642
|
-
for (let i = 0; i < response.length; i++) {
|
|
643
|
-
const metadata = response[i];
|
|
644
|
-
if (metadata.aliases.indexOf(authority) > -1) {
|
|
645
|
-
return metadata;
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
return null;
|
|
649
|
-
}
|
|
650
680
|
/**
|
|
651
681
|
* helper function to generate environment from authority object
|
|
652
682
|
*/
|
|
653
683
|
getPreferredCache() {
|
|
654
|
-
if (this.
|
|
684
|
+
if (this.managedIdentity) {
|
|
685
|
+
return Constants.DEFAULT_AUTHORITY_HOST;
|
|
686
|
+
}
|
|
687
|
+
else if (this.discoveryComplete()) {
|
|
655
688
|
return this.metadata.preferred_cache;
|
|
656
689
|
}
|
|
657
690
|
else {
|
|
@@ -735,9 +768,7 @@ class Authority {
|
|
|
735
768
|
* @param authority
|
|
736
769
|
*/
|
|
737
770
|
static transformCIAMAuthority(authority) {
|
|
738
|
-
let ciamAuthority = authority
|
|
739
|
-
? authority
|
|
740
|
-
: `${authority}${Constants.FORWARD_SLASH}`;
|
|
771
|
+
let ciamAuthority = authority;
|
|
741
772
|
const authorityUrl = new UrlString(authority);
|
|
742
773
|
const authorityUrlComponents = authorityUrl.getUrlComponents();
|
|
743
774
|
// check if transformation is needed
|
|
@@ -756,7 +787,31 @@ Authority.reservedTenantDomains = new Set([
|
|
|
756
787
|
AADAuthorityConstants.COMMON,
|
|
757
788
|
AADAuthorityConstants.CONSUMERS,
|
|
758
789
|
AADAuthorityConstants.ORGANIZATIONS,
|
|
759
|
-
]);
|
|
790
|
+
]);
|
|
791
|
+
function formatAuthorityUri(authorityUri) {
|
|
792
|
+
return authorityUri.endsWith(Constants.FORWARD_SLASH)
|
|
793
|
+
? authorityUri
|
|
794
|
+
: `${authorityUri}${Constants.FORWARD_SLASH}`;
|
|
795
|
+
}
|
|
796
|
+
function buildStaticAuthorityOptions(authOptions) {
|
|
797
|
+
const rawCloudDiscoveryMetadata = authOptions.cloudDiscoveryMetadata;
|
|
798
|
+
let cloudDiscoveryMetadata = undefined;
|
|
799
|
+
if (rawCloudDiscoveryMetadata) {
|
|
800
|
+
try {
|
|
801
|
+
cloudDiscoveryMetadata = JSON.parse(rawCloudDiscoveryMetadata).metadata;
|
|
802
|
+
}
|
|
803
|
+
catch (e) {
|
|
804
|
+
throw createClientConfigurationError(invalidCloudDiscoveryMetadata);
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
return {
|
|
808
|
+
canonicalAuthority: authOptions.authority
|
|
809
|
+
? formatAuthorityUri(authOptions.authority)
|
|
810
|
+
: undefined,
|
|
811
|
+
knownAuthorities: authOptions.knownAuthorities,
|
|
812
|
+
cloudDiscoveryMetadata: cloudDiscoveryMetadata,
|
|
813
|
+
};
|
|
814
|
+
}
|
|
760
815
|
|
|
761
|
-
export { Authority };
|
|
816
|
+
export { Authority, buildStaticAuthorityOptions, formatAuthorityUri };
|
|
762
817
|
//# sourceMappingURL=Authority.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authority.mjs","sources":["../../src/authority/Authority.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.endpointResolutionError"
|
|
1
|
+
{"version":3,"file":"Authority.mjs","sources":["../../src/authority/Authority.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.endpointResolutionError"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorityFactory.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityFactory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"AuthorityFactory.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityFactory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAsB,MAAM,aAAa,CAAC;AAK5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAIjF,gBAAgB;AAChB,qBAAa,gBAAgB;IACzB;;;;;;;;;OASG;WACU,wBAAwB,CACjC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,SAAS,CAAC;IAuCrB;;;;;;;;;OASG;IACH,MAAM,CAAC,cAAc,CACjB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,cAAc,EAChC,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,MAAM,GACvB,SAAS;CAkBf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.2.0-alpha.0 2023-12-07 */
|
|
2
2
|
'use strict';
|
|
3
|
-
import { Authority } from './Authority.mjs';
|
|
3
|
+
import { Authority, formatAuthorityUri } from './Authority.mjs';
|
|
4
4
|
import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
|
|
5
5
|
import { createClientAuthError } from '../error/ClientAuthError.mjs';
|
|
6
6
|
import { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';
|
|
@@ -26,7 +26,7 @@ class AuthorityFactory {
|
|
|
26
26
|
*/
|
|
27
27
|
static async createDiscoveredInstance(authorityUri, networkClient, cacheManager, authorityOptions, logger, performanceClient, correlationId) {
|
|
28
28
|
performanceClient?.addQueueMeasurement(PerformanceEvents.AuthorityFactoryCreateDiscoveredInstance, correlationId);
|
|
29
|
-
const authorityUriFinal = Authority.transformCIAMAuthority(authorityUri);
|
|
29
|
+
const authorityUriFinal = Authority.transformCIAMAuthority(formatAuthorityUri(authorityUri));
|
|
30
30
|
// Initialize authority and perform discovery endpoint check.
|
|
31
31
|
const acquireTokenAuthority = AuthorityFactory.createInstance(authorityUriFinal, networkClient, cacheManager, authorityOptions, logger, performanceClient, correlationId);
|
|
32
32
|
try {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata";
|
|
1
2
|
export declare const rawMetdataJSON: {
|
|
2
3
|
endpointMetadata: {
|
|
3
4
|
"https://login.microsoftonline.com/common/": {
|
|
@@ -621,4 +622,26 @@ export declare const InstanceDiscoveryMetadata: {
|
|
|
621
622
|
};
|
|
622
623
|
};
|
|
623
624
|
export declare const InstanceDiscoveryMetadataAliases: Set<String>;
|
|
625
|
+
/**
|
|
626
|
+
* Returns aliases for the given canonical authority if found in hardcoded Instance Discovery Metadata or null if not found
|
|
627
|
+
* @param canonicalAuthority
|
|
628
|
+
* @returns
|
|
629
|
+
*/
|
|
630
|
+
export declare function getHardcodedAliasesForCanonicalAuthority(canonicalAuthority?: string): string[] | null;
|
|
631
|
+
/**
|
|
632
|
+
* Returns aliases for from the raw cloud discovery metadata given in configuration or null if no configuration was provided
|
|
633
|
+
* @param rawCloudDiscoveryMetadata
|
|
634
|
+
* @returns
|
|
635
|
+
*/
|
|
636
|
+
export declare function getAliasesFromConfigMetadata(canonicalAuthority?: string, cloudDiscoveryMetadata?: CloudDiscoveryMetadata[]): string[] | null;
|
|
637
|
+
/**
|
|
638
|
+
* Searches instance discovery network response for the entry that contains the host in the aliases list
|
|
639
|
+
* @param response
|
|
640
|
+
* @param authority
|
|
641
|
+
*/
|
|
642
|
+
export declare function getCloudDiscoveryMetadataFromNetworkResponse(response: CloudDiscoveryMetadata[], authority: string): CloudDiscoveryMetadata | null;
|
|
643
|
+
/**
|
|
644
|
+
* Get cloud discovery metadata for common authorities
|
|
645
|
+
*/
|
|
646
|
+
export declare function getCloudDiscoveryMetadataFromHardcodedValues(canonicalAuthority: string): CloudDiscoveryMetadata | null;
|
|
624
647
|
//# sourceMappingURL=AuthorityMetadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorityMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityMetadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthorityMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityMetadata.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAs6B1B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AAChE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACM,CAAC;AAE7C,eAAO,MAAM,gCAAgC,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AASvE;;;;GAIG;AACH,wBAAgB,wCAAwC,CACpD,kBAAkB,CAAC,EAAE,MAAM,GAC5B,MAAM,EAAE,GAAG,IAAI,CASjB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CACxC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,GAClD,MAAM,EAAE,GAAG,IAAI,CAgBjB;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CACxD,QAAQ,EAAE,sBAAsB,EAAE,EAClC,SAAS,EAAE,MAAM,GAClB,sBAAsB,GAAG,IAAI,CAS/B;AAED;;GAEG;AACH,wBAAgB,4CAA4C,CACxD,kBAAkB,EAAE,MAAM,GAC3B,sBAAsB,GAAG,IAAI,CAc/B"}
|