@azure/msal-common 14.13.1 → 14.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account/AccountInfo.d.ts +66 -66
- package/dist/account/AccountInfo.mjs +77 -77
- package/dist/account/AuthToken.d.ts +17 -17
- package/dist/account/AuthToken.mjs +58 -58
- package/dist/account/CcsCredential.d.ts +9 -9
- package/dist/account/CcsCredential.mjs +8 -8
- package/dist/account/ClientCredentials.d.ts +19 -19
- package/dist/account/ClientInfo.d.ts +18 -18
- package/dist/account/ClientInfo.mjs +37 -37
- package/dist/account/TokenClaims.d.ts +83 -83
- package/dist/account/TokenClaims.mjs +20 -20
- package/dist/authority/Authority.d.ts +254 -254
- package/dist/authority/Authority.mjs +836 -836
- package/dist/authority/AuthorityFactory.d.ts +18 -18
- package/dist/authority/AuthorityFactory.mjs +28 -28
- package/dist/authority/AuthorityMetadata.d.ts +43 -43
- package/dist/authority/AuthorityMetadata.mjs +137 -137
- package/dist/authority/AuthorityOptions.d.ts +27 -27
- package/dist/authority/AuthorityOptions.mjs +18 -18
- package/dist/authority/AuthorityType.d.ts +10 -10
- package/dist/authority/AuthorityType.mjs +13 -13
- package/dist/authority/AzureRegion.d.ts +1 -1
- package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
- package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
- package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
- package/dist/authority/ImdsOptions.d.ts +5 -5
- package/dist/authority/OIDCOptions.d.ts +8 -8
- package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
- package/dist/authority/OpenIdConfigResponse.mjs +10 -10
- package/dist/authority/ProtocolMode.d.ts +8 -8
- package/dist/authority/ProtocolMode.mjs +11 -11
- package/dist/authority/RegionDiscovery.d.ts +32 -32
- package/dist/authority/RegionDiscovery.mjs +106 -106
- package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
- package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
- package/dist/cache/CacheManager.d.ts +497 -497
- package/dist/cache/CacheManager.mjs +1249 -1249
- package/dist/cache/entities/AccessTokenEntity.d.ts +25 -25
- package/dist/cache/entities/AccountEntity.d.ts +106 -106
- package/dist/cache/entities/AccountEntity.mjs +240 -240
- package/dist/cache/entities/AppMetadataEntity.d.ts +11 -11
- package/dist/cache/entities/AuthorityMetadataEntity.d.ts +15 -15
- package/dist/cache/entities/CacheRecord.d.ts +13 -13
- package/dist/cache/entities/CredentialEntity.d.ts +30 -30
- package/dist/cache/entities/IdTokenEntity.d.ts +8 -8
- package/dist/cache/entities/RefreshTokenEntity.d.ts +7 -7
- package/dist/cache/entities/ServerTelemetryEntity.d.ts +6 -5
- package/dist/cache/entities/ServerTelemetryEntity.d.ts.map +1 -1
- package/dist/cache/entities/ThrottlingEntity.d.ts +7 -7
- package/dist/cache/interface/ICacheManager.d.ts +166 -166
- package/dist/cache/interface/ICachePlugin.d.ts +5 -5
- package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
- package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
- package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
- package/dist/cache/utils/CacheHelpers.d.ts +94 -94
- package/dist/cache/utils/CacheHelpers.mjs +324 -324
- package/dist/cache/utils/CacheTypes.d.ts +69 -69
- package/dist/client/AuthorizationCodeClient.d.ts +74 -74
- package/dist/client/AuthorizationCodeClient.mjs +420 -420
- package/dist/client/BaseClient.d.ts +51 -51
- package/dist/client/BaseClient.mjs +100 -100
- package/dist/client/RefreshTokenClient.d.ts +35 -35
- package/dist/client/RefreshTokenClient.mjs +211 -211
- package/dist/client/SilentFlowClient.d.ts +27 -27
- package/dist/client/SilentFlowClient.mjs +133 -133
- package/dist/config/AppTokenProvider.d.ts +38 -38
- package/dist/config/ClientConfiguration.d.ts +150 -150
- package/dist/config/ClientConfiguration.mjs +95 -95
- package/dist/constants/AADServerParamKeys.d.ts +53 -52
- package/dist/constants/AADServerParamKeys.d.ts.map +1 -1
- package/dist/constants/AADServerParamKeys.mjs +59 -58
- package/dist/constants/AADServerParamKeys.mjs.map +1 -1
- package/dist/crypto/ICrypto.d.ts +68 -68
- package/dist/crypto/ICrypto.mjs +36 -36
- package/dist/crypto/IGuidGenerator.d.ts +4 -4
- package/dist/crypto/JoseHeader.d.ts +22 -22
- package/dist/crypto/JoseHeader.mjs +37 -37
- package/dist/crypto/PopTokenGenerator.d.ts +59 -59
- package/dist/crypto/PopTokenGenerator.mjs +81 -81
- package/dist/crypto/SignedHttpRequest.d.ts +15 -15
- package/dist/error/AuthError.d.ts +44 -44
- package/dist/error/AuthError.mjs +46 -46
- package/dist/error/AuthErrorCodes.d.ts +5 -5
- package/dist/error/AuthErrorCodes.mjs +9 -9
- package/dist/error/CacheError.d.ts +20 -20
- package/dist/error/CacheError.mjs +24 -24
- package/dist/error/CacheErrorCodes.d.ts +2 -2
- package/dist/error/CacheErrorCodes.mjs +6 -6
- package/dist/error/ClientAuthError.d.ts +237 -237
- package/dist/error/ClientAuthError.mjs +249 -249
- package/dist/error/ClientAuthErrorCodes.d.ts +44 -44
- package/dist/error/ClientAuthErrorCodes.mjs +48 -48
- package/dist/error/ClientConfigurationError.d.ts +128 -128
- package/dist/error/ClientConfigurationError.mjs +135 -135
- package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
- package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
- package/dist/error/InteractionRequiredAuthError.d.ts +65 -65
- package/dist/error/InteractionRequiredAuthError.mjs +85 -85
- package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +7 -7
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +13 -13
- package/dist/error/JoseHeaderError.d.ts +15 -15
- package/dist/error/JoseHeaderError.mjs +22 -22
- package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
- package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
- package/dist/error/ServerError.d.ts +15 -15
- package/dist/error/ServerError.mjs +16 -16
- package/dist/index.cjs +8664 -8599
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +107 -107
- package/dist/index.mjs +1 -1
- package/dist/logger/Logger.d.ts +95 -95
- package/dist/logger/Logger.mjs +188 -188
- package/dist/network/INetworkModule.d.ts +29 -29
- package/dist/network/INetworkModule.mjs +12 -12
- package/dist/network/NetworkManager.d.ts +33 -33
- package/dist/network/NetworkManager.mjs +34 -34
- package/dist/network/RequestThumbprint.d.ts +18 -18
- package/dist/network/ThrottlingUtils.d.ts +42 -42
- package/dist/network/ThrottlingUtils.mjs +95 -95
- package/dist/packageMetadata.d.ts +2 -2
- package/dist/packageMetadata.mjs +4 -4
- package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
- package/dist/request/AuthenticationHeaderParser.mjs +55 -55
- package/dist/request/BaseAuthRequest.d.ts +47 -47
- package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
- package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
- package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
- package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
- package/dist/request/CommonEndSessionRequest.d.ts +21 -21
- package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
- package/dist/request/CommonRefreshTokenRequest.d.ts +22 -22
- package/dist/request/CommonSilentFlowRequest.d.ts +27 -27
- package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
- package/dist/request/NativeRequest.d.ts +19 -19
- package/dist/request/NativeSignOutRequest.d.ts +5 -5
- package/dist/request/RequestParameterBuilder.d.ts +217 -217
- package/dist/request/RequestParameterBuilder.mjs +382 -382
- package/dist/request/RequestValidator.d.ts +27 -27
- package/dist/request/RequestValidator.mjs +64 -64
- package/dist/request/ScopeSet.d.ts +88 -88
- package/dist/request/ScopeSet.mjs +197 -197
- package/dist/request/StoreInCache.d.ts +8 -8
- package/dist/response/AuthenticationResult.d.ts +41 -41
- package/dist/response/AuthorizationCodePayload.d.ts +13 -13
- package/dist/response/DeviceCodeResponse.d.ts +25 -25
- package/dist/response/ExternalTokenResponse.d.ts +15 -15
- package/dist/response/IMDSBadResponse.d.ts +4 -4
- package/dist/response/ResponseHandler.d.ts +69 -69
- package/dist/response/ResponseHandler.mjs +374 -374
- package/dist/response/ServerAuthorizationCodeResponse.d.ts +26 -26
- package/dist/response/ServerAuthorizationTokenResponse.d.ts +47 -47
- package/dist/telemetry/performance/IPerformanceClient.d.ts +57 -57
- package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
- package/dist/telemetry/performance/PerformanceClient.d.ts +242 -242
- package/dist/telemetry/performance/PerformanceClient.mjs +587 -587
- package/dist/telemetry/performance/PerformanceEvent.d.ts +515 -505
- package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +484 -480
- package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
- package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
- package/dist/telemetry/server/ServerTelemetryManager.d.ts +78 -66
- package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.mjs +260 -201
- package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
- package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
- package/dist/url/IUri.d.ts +12 -12
- package/dist/url/UrlString.d.ts +48 -48
- package/dist/url/UrlString.mjs +161 -161
- package/dist/utils/ClientAssertionUtils.d.ts +2 -2
- package/dist/utils/ClientAssertionUtils.mjs +16 -16
- package/dist/utils/Constants.d.ts +309 -309
- package/dist/utils/Constants.mjs +322 -322
- package/dist/utils/FunctionWrappers.d.ts +27 -27
- package/dist/utils/FunctionWrappers.mjs +94 -94
- package/dist/utils/MsalTypes.d.ts +6 -6
- package/dist/utils/ProtocolUtils.d.ts +42 -42
- package/dist/utils/ProtocolUtils.mjs +69 -69
- package/dist/utils/StringUtils.d.ts +40 -40
- package/dist/utils/StringUtils.mjs +95 -95
- package/dist/utils/TimeUtils.d.ts +25 -25
- package/dist/utils/TimeUtils.mjs +43 -43
- package/dist/utils/UrlUtils.d.ts +10 -10
- package/dist/utils/UrlUtils.mjs +44 -44
- package/package.json +1 -1
- package/src/cache/entities/ServerTelemetryEntity.ts +1 -0
- package/src/constants/AADServerParamKeys.ts +1 -0
- package/src/packageMetadata.ts +1 -1
- package/src/telemetry/performance/PerformanceEvent.ts +12 -0
- package/src/telemetry/server/ServerTelemetryManager.ts +95 -1
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { ClientConfiguration, CommonClientConfiguration } from "../config/ClientConfiguration";
|
|
2
|
-
import { INetworkModule } from "../network/INetworkModule";
|
|
3
|
-
import { NetworkManager, NetworkResponse } from "../network/NetworkManager";
|
|
4
|
-
import { ICrypto } from "../crypto/ICrypto";
|
|
5
|
-
import { Authority } from "../authority/Authority";
|
|
6
|
-
import { Logger } from "../logger/Logger";
|
|
7
|
-
import { ServerAuthorizationTokenResponse } from "../response/ServerAuthorizationTokenResponse";
|
|
8
|
-
import { CacheManager } from "../cache/CacheManager";
|
|
9
|
-
import { ServerTelemetryManager } from "../telemetry/server/ServerTelemetryManager";
|
|
10
|
-
import { RequestThumbprint } from "../network/RequestThumbprint";
|
|
11
|
-
import { CcsCredential } from "../account/CcsCredential";
|
|
12
|
-
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
|
|
13
|
-
import { BaseAuthRequest } from "../request/BaseAuthRequest";
|
|
14
|
-
/**
|
|
15
|
-
* Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow.
|
|
16
|
-
* @internal
|
|
17
|
-
*/
|
|
18
|
-
export declare abstract class BaseClient {
|
|
19
|
-
logger: Logger;
|
|
20
|
-
protected config: CommonClientConfiguration;
|
|
21
|
-
protected cryptoUtils: ICrypto;
|
|
22
|
-
protected cacheManager: CacheManager;
|
|
23
|
-
protected networkClient: INetworkModule;
|
|
24
|
-
protected serverTelemetryManager: ServerTelemetryManager | null;
|
|
25
|
-
protected networkManager: NetworkManager;
|
|
26
|
-
authority: Authority;
|
|
27
|
-
protected performanceClient?: IPerformanceClient;
|
|
28
|
-
protected constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient);
|
|
29
|
-
/**
|
|
30
|
-
* Creates default headers for requests to token endpoint
|
|
31
|
-
*/
|
|
32
|
-
protected createTokenRequestHeaders(ccsCred?: CcsCredential): Record<string, string>;
|
|
33
|
-
/**
|
|
34
|
-
* Http post to token endpoint
|
|
35
|
-
* @param tokenEndpoint
|
|
36
|
-
* @param queryString
|
|
37
|
-
* @param headers
|
|
38
|
-
* @param thumbprint
|
|
39
|
-
*/
|
|
40
|
-
protected executePostToTokenEndpoint(tokenEndpoint: string, queryString: string, headers: Record<string, string>, thumbprint: RequestThumbprint, correlationId: string, queuedEvent?: string): Promise<NetworkResponse<ServerAuthorizationTokenResponse>>;
|
|
41
|
-
/**
|
|
42
|
-
* Updates the authority object of the client. Endpoint discovery must be completed.
|
|
43
|
-
* @param updatedAuthority
|
|
44
|
-
*/
|
|
45
|
-
updateAuthority(cloudInstanceHostname: string, correlationId: string): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Creates query string for the /token request
|
|
48
|
-
* @param request
|
|
49
|
-
*/
|
|
50
|
-
createTokenQueryParameters(request: BaseAuthRequest): string;
|
|
51
|
-
}
|
|
1
|
+
import { ClientConfiguration, CommonClientConfiguration } from "../config/ClientConfiguration";
|
|
2
|
+
import { INetworkModule } from "../network/INetworkModule";
|
|
3
|
+
import { NetworkManager, NetworkResponse } from "../network/NetworkManager";
|
|
4
|
+
import { ICrypto } from "../crypto/ICrypto";
|
|
5
|
+
import { Authority } from "../authority/Authority";
|
|
6
|
+
import { Logger } from "../logger/Logger";
|
|
7
|
+
import { ServerAuthorizationTokenResponse } from "../response/ServerAuthorizationTokenResponse";
|
|
8
|
+
import { CacheManager } from "../cache/CacheManager";
|
|
9
|
+
import { ServerTelemetryManager } from "../telemetry/server/ServerTelemetryManager";
|
|
10
|
+
import { RequestThumbprint } from "../network/RequestThumbprint";
|
|
11
|
+
import { CcsCredential } from "../account/CcsCredential";
|
|
12
|
+
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
|
|
13
|
+
import { BaseAuthRequest } from "../request/BaseAuthRequest";
|
|
14
|
+
/**
|
|
15
|
+
* Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class BaseClient {
|
|
19
|
+
logger: Logger;
|
|
20
|
+
protected config: CommonClientConfiguration;
|
|
21
|
+
protected cryptoUtils: ICrypto;
|
|
22
|
+
protected cacheManager: CacheManager;
|
|
23
|
+
protected networkClient: INetworkModule;
|
|
24
|
+
protected serverTelemetryManager: ServerTelemetryManager | null;
|
|
25
|
+
protected networkManager: NetworkManager;
|
|
26
|
+
authority: Authority;
|
|
27
|
+
protected performanceClient?: IPerformanceClient;
|
|
28
|
+
protected constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient);
|
|
29
|
+
/**
|
|
30
|
+
* Creates default headers for requests to token endpoint
|
|
31
|
+
*/
|
|
32
|
+
protected createTokenRequestHeaders(ccsCred?: CcsCredential): Record<string, string>;
|
|
33
|
+
/**
|
|
34
|
+
* Http post to token endpoint
|
|
35
|
+
* @param tokenEndpoint
|
|
36
|
+
* @param queryString
|
|
37
|
+
* @param headers
|
|
38
|
+
* @param thumbprint
|
|
39
|
+
*/
|
|
40
|
+
protected executePostToTokenEndpoint(tokenEndpoint: string, queryString: string, headers: Record<string, string>, thumbprint: RequestThumbprint, correlationId: string, queuedEvent?: string): Promise<NetworkResponse<ServerAuthorizationTokenResponse>>;
|
|
41
|
+
/**
|
|
42
|
+
* Updates the authority object of the client. Endpoint discovery must be completed.
|
|
43
|
+
* @param updatedAuthority
|
|
44
|
+
*/
|
|
45
|
+
updateAuthority(cloudInstanceHostname: string, correlationId: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Creates query string for the /token request
|
|
48
|
+
* @param request
|
|
49
|
+
*/
|
|
50
|
+
createTokenQueryParameters(request: BaseAuthRequest): string;
|
|
51
|
+
}
|
|
52
52
|
//# sourceMappingURL=BaseClient.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.14.1 2024-08-13 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { buildClientConfiguration } from '../config/ClientConfiguration.mjs';
|
|
4
4
|
import { NetworkManager } from '../network/NetworkManager.mjs';
|
|
@@ -11,105 +11,105 @@ import { RequestParameterBuilder } from '../request/RequestParameterBuilder.mjs'
|
|
|
11
11
|
import { createDiscoveredInstance } from '../authority/AuthorityFactory.mjs';
|
|
12
12
|
import { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';
|
|
13
13
|
|
|
14
|
-
/*
|
|
15
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
16
|
-
* Licensed under the MIT License.
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow.
|
|
20
|
-
* @internal
|
|
21
|
-
*/
|
|
22
|
-
class BaseClient {
|
|
23
|
-
constructor(configuration, performanceClient) {
|
|
24
|
-
// Set the configuration
|
|
25
|
-
this.config = buildClientConfiguration(configuration);
|
|
26
|
-
// Initialize the logger
|
|
27
|
-
this.logger = new Logger(this.config.loggerOptions, name, version);
|
|
28
|
-
// Initialize crypto
|
|
29
|
-
this.cryptoUtils = this.config.cryptoInterface;
|
|
30
|
-
// Initialize storage interface
|
|
31
|
-
this.cacheManager = this.config.storageInterface;
|
|
32
|
-
// Set the network interface
|
|
33
|
-
this.networkClient = this.config.networkInterface;
|
|
34
|
-
// Set the NetworkManager
|
|
35
|
-
this.networkManager = new NetworkManager(this.networkClient, this.cacheManager);
|
|
36
|
-
// Set TelemetryManager
|
|
37
|
-
this.serverTelemetryManager = this.config.serverTelemetryManager;
|
|
38
|
-
// set Authority
|
|
39
|
-
this.authority = this.config.authOptions.authority;
|
|
40
|
-
// set performance telemetry client
|
|
41
|
-
this.performanceClient = performanceClient;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Creates default headers for requests to token endpoint
|
|
45
|
-
*/
|
|
46
|
-
createTokenRequestHeaders(ccsCred) {
|
|
47
|
-
const headers = {};
|
|
48
|
-
headers[HeaderNames.CONTENT_TYPE] = Constants.URL_FORM_CONTENT_TYPE;
|
|
49
|
-
if (!this.config.systemOptions.preventCorsPreflight && ccsCred) {
|
|
50
|
-
switch (ccsCred.type) {
|
|
51
|
-
case CcsCredentialType.HOME_ACCOUNT_ID:
|
|
52
|
-
try {
|
|
53
|
-
const clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);
|
|
54
|
-
headers[HeaderNames.CCS_HEADER] = `Oid:${clientInfo.uid}@${clientInfo.utid}`;
|
|
55
|
-
}
|
|
56
|
-
catch (e) {
|
|
57
|
-
this.logger.verbose("Could not parse home account ID for CCS Header: " +
|
|
58
|
-
e);
|
|
59
|
-
}
|
|
60
|
-
break;
|
|
61
|
-
case CcsCredentialType.UPN:
|
|
62
|
-
headers[HeaderNames.CCS_HEADER] = `UPN: ${ccsCred.credential}`;
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return headers;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Http post to token endpoint
|
|
70
|
-
* @param tokenEndpoint
|
|
71
|
-
* @param queryString
|
|
72
|
-
* @param headers
|
|
73
|
-
* @param thumbprint
|
|
74
|
-
*/
|
|
75
|
-
async executePostToTokenEndpoint(tokenEndpoint, queryString, headers, thumbprint, correlationId, queuedEvent) {
|
|
76
|
-
if (queuedEvent) {
|
|
77
|
-
this.performanceClient?.addQueueMeasurement(queuedEvent, correlationId);
|
|
78
|
-
}
|
|
79
|
-
const response = await this.networkManager.sendPostRequest(thumbprint, tokenEndpoint, { body: queryString, headers: headers });
|
|
80
|
-
this.performanceClient?.addFields({
|
|
81
|
-
refreshTokenSize: response.body.refresh_token?.length || 0,
|
|
82
|
-
httpVerToken: response.headers?.[HeaderNames.X_MS_HTTP_VERSION] || "",
|
|
83
|
-
}, correlationId);
|
|
84
|
-
if (this.config.serverTelemetryManager &&
|
|
85
|
-
response.status < 500 &&
|
|
86
|
-
response.status !== 429) {
|
|
87
|
-
// Telemetry data successfully logged by server, clear Telemetry cache
|
|
88
|
-
this.config.serverTelemetryManager.clearTelemetryCache();
|
|
89
|
-
}
|
|
90
|
-
return response;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Updates the authority object of the client. Endpoint discovery must be completed.
|
|
94
|
-
* @param updatedAuthority
|
|
95
|
-
*/
|
|
96
|
-
async updateAuthority(cloudInstanceHostname, correlationId) {
|
|
97
|
-
this.performanceClient?.addQueueMeasurement(PerformanceEvents.UpdateTokenEndpointAuthority, correlationId);
|
|
98
|
-
const cloudInstanceAuthorityUri = `https://${cloudInstanceHostname}/${this.authority.tenant}/`;
|
|
99
|
-
const cloudInstanceAuthority = await createDiscoveredInstance(cloudInstanceAuthorityUri, this.networkClient, this.cacheManager, this.authority.options, this.logger, correlationId, this.performanceClient);
|
|
100
|
-
this.authority = cloudInstanceAuthority;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Creates query string for the /token request
|
|
104
|
-
* @param request
|
|
105
|
-
*/
|
|
106
|
-
createTokenQueryParameters(request) {
|
|
107
|
-
const parameterBuilder = new RequestParameterBuilder();
|
|
108
|
-
if (request.tokenQueryParameters) {
|
|
109
|
-
parameterBuilder.addExtraQueryParameters(request.tokenQueryParameters);
|
|
110
|
-
}
|
|
111
|
-
return parameterBuilder.createQueryString();
|
|
112
|
-
}
|
|
14
|
+
/*
|
|
15
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
16
|
+
* Licensed under the MIT License.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
class BaseClient {
|
|
23
|
+
constructor(configuration, performanceClient) {
|
|
24
|
+
// Set the configuration
|
|
25
|
+
this.config = buildClientConfiguration(configuration);
|
|
26
|
+
// Initialize the logger
|
|
27
|
+
this.logger = new Logger(this.config.loggerOptions, name, version);
|
|
28
|
+
// Initialize crypto
|
|
29
|
+
this.cryptoUtils = this.config.cryptoInterface;
|
|
30
|
+
// Initialize storage interface
|
|
31
|
+
this.cacheManager = this.config.storageInterface;
|
|
32
|
+
// Set the network interface
|
|
33
|
+
this.networkClient = this.config.networkInterface;
|
|
34
|
+
// Set the NetworkManager
|
|
35
|
+
this.networkManager = new NetworkManager(this.networkClient, this.cacheManager);
|
|
36
|
+
// Set TelemetryManager
|
|
37
|
+
this.serverTelemetryManager = this.config.serverTelemetryManager;
|
|
38
|
+
// set Authority
|
|
39
|
+
this.authority = this.config.authOptions.authority;
|
|
40
|
+
// set performance telemetry client
|
|
41
|
+
this.performanceClient = performanceClient;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates default headers for requests to token endpoint
|
|
45
|
+
*/
|
|
46
|
+
createTokenRequestHeaders(ccsCred) {
|
|
47
|
+
const headers = {};
|
|
48
|
+
headers[HeaderNames.CONTENT_TYPE] = Constants.URL_FORM_CONTENT_TYPE;
|
|
49
|
+
if (!this.config.systemOptions.preventCorsPreflight && ccsCred) {
|
|
50
|
+
switch (ccsCred.type) {
|
|
51
|
+
case CcsCredentialType.HOME_ACCOUNT_ID:
|
|
52
|
+
try {
|
|
53
|
+
const clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);
|
|
54
|
+
headers[HeaderNames.CCS_HEADER] = `Oid:${clientInfo.uid}@${clientInfo.utid}`;
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
this.logger.verbose("Could not parse home account ID for CCS Header: " +
|
|
58
|
+
e);
|
|
59
|
+
}
|
|
60
|
+
break;
|
|
61
|
+
case CcsCredentialType.UPN:
|
|
62
|
+
headers[HeaderNames.CCS_HEADER] = `UPN: ${ccsCred.credential}`;
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return headers;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Http post to token endpoint
|
|
70
|
+
* @param tokenEndpoint
|
|
71
|
+
* @param queryString
|
|
72
|
+
* @param headers
|
|
73
|
+
* @param thumbprint
|
|
74
|
+
*/
|
|
75
|
+
async executePostToTokenEndpoint(tokenEndpoint, queryString, headers, thumbprint, correlationId, queuedEvent) {
|
|
76
|
+
if (queuedEvent) {
|
|
77
|
+
this.performanceClient?.addQueueMeasurement(queuedEvent, correlationId);
|
|
78
|
+
}
|
|
79
|
+
const response = await this.networkManager.sendPostRequest(thumbprint, tokenEndpoint, { body: queryString, headers: headers });
|
|
80
|
+
this.performanceClient?.addFields({
|
|
81
|
+
refreshTokenSize: response.body.refresh_token?.length || 0,
|
|
82
|
+
httpVerToken: response.headers?.[HeaderNames.X_MS_HTTP_VERSION] || "",
|
|
83
|
+
}, correlationId);
|
|
84
|
+
if (this.config.serverTelemetryManager &&
|
|
85
|
+
response.status < 500 &&
|
|
86
|
+
response.status !== 429) {
|
|
87
|
+
// Telemetry data successfully logged by server, clear Telemetry cache
|
|
88
|
+
this.config.serverTelemetryManager.clearTelemetryCache();
|
|
89
|
+
}
|
|
90
|
+
return response;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Updates the authority object of the client. Endpoint discovery must be completed.
|
|
94
|
+
* @param updatedAuthority
|
|
95
|
+
*/
|
|
96
|
+
async updateAuthority(cloudInstanceHostname, correlationId) {
|
|
97
|
+
this.performanceClient?.addQueueMeasurement(PerformanceEvents.UpdateTokenEndpointAuthority, correlationId);
|
|
98
|
+
const cloudInstanceAuthorityUri = `https://${cloudInstanceHostname}/${this.authority.tenant}/`;
|
|
99
|
+
const cloudInstanceAuthority = await createDiscoveredInstance(cloudInstanceAuthorityUri, this.networkClient, this.cacheManager, this.authority.options, this.logger, correlationId, this.performanceClient);
|
|
100
|
+
this.authority = cloudInstanceAuthority;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Creates query string for the /token request
|
|
104
|
+
* @param request
|
|
105
|
+
*/
|
|
106
|
+
createTokenQueryParameters(request) {
|
|
107
|
+
const parameterBuilder = new RequestParameterBuilder();
|
|
108
|
+
if (request.tokenQueryParameters) {
|
|
109
|
+
parameterBuilder.addExtraQueryParameters(request.tokenQueryParameters);
|
|
110
|
+
}
|
|
111
|
+
return parameterBuilder.createQueryString();
|
|
112
|
+
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
export { BaseClient };
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { ClientConfiguration } from "../config/ClientConfiguration";
|
|
2
|
-
import { BaseClient } from "./BaseClient";
|
|
3
|
-
import { CommonRefreshTokenRequest } from "../request/CommonRefreshTokenRequest";
|
|
4
|
-
import { AuthenticationResult } from "../response/AuthenticationResult";
|
|
5
|
-
import { CommonSilentFlowRequest } from "../request/CommonSilentFlowRequest";
|
|
6
|
-
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
|
|
7
|
-
/**
|
|
8
|
-
* OAuth2.0 refresh token client
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export declare class RefreshTokenClient extends BaseClient {
|
|
12
|
-
constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient);
|
|
13
|
-
acquireToken(request: CommonRefreshTokenRequest): Promise<AuthenticationResult>;
|
|
14
|
-
/**
|
|
15
|
-
* Gets cached refresh token and attaches to request, then calls acquireToken API
|
|
16
|
-
* @param request
|
|
17
|
-
*/
|
|
18
|
-
acquireTokenByRefreshToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
|
|
19
|
-
/**
|
|
20
|
-
* makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached
|
|
21
|
-
* @param request
|
|
22
|
-
*/
|
|
23
|
-
private acquireTokenWithCachedRefreshToken;
|
|
24
|
-
/**
|
|
25
|
-
* Constructs the network message and makes a NW call to the underlying secure token service
|
|
26
|
-
* @param request
|
|
27
|
-
* @param authority
|
|
28
|
-
*/
|
|
29
|
-
private executeTokenRequest;
|
|
30
|
-
/**
|
|
31
|
-
* Helper function to create the token request body
|
|
32
|
-
* @param request
|
|
33
|
-
*/
|
|
34
|
-
private createTokenRequestBody;
|
|
35
|
-
}
|
|
1
|
+
import { ClientConfiguration } from "../config/ClientConfiguration";
|
|
2
|
+
import { BaseClient } from "./BaseClient";
|
|
3
|
+
import { CommonRefreshTokenRequest } from "../request/CommonRefreshTokenRequest";
|
|
4
|
+
import { AuthenticationResult } from "../response/AuthenticationResult";
|
|
5
|
+
import { CommonSilentFlowRequest } from "../request/CommonSilentFlowRequest";
|
|
6
|
+
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
|
|
7
|
+
/**
|
|
8
|
+
* OAuth2.0 refresh token client
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare class RefreshTokenClient extends BaseClient {
|
|
12
|
+
constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient);
|
|
13
|
+
acquireToken(request: CommonRefreshTokenRequest): Promise<AuthenticationResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Gets cached refresh token and attaches to request, then calls acquireToken API
|
|
16
|
+
* @param request
|
|
17
|
+
*/
|
|
18
|
+
acquireTokenByRefreshToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
|
|
19
|
+
/**
|
|
20
|
+
* makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached
|
|
21
|
+
* @param request
|
|
22
|
+
*/
|
|
23
|
+
private acquireTokenWithCachedRefreshToken;
|
|
24
|
+
/**
|
|
25
|
+
* Constructs the network message and makes a NW call to the underlying secure token service
|
|
26
|
+
* @param request
|
|
27
|
+
* @param authority
|
|
28
|
+
*/
|
|
29
|
+
private executeTokenRequest;
|
|
30
|
+
/**
|
|
31
|
+
* Helper function to create the token request body
|
|
32
|
+
* @param request
|
|
33
|
+
*/
|
|
34
|
+
private createTokenRequestBody;
|
|
35
|
+
}
|
|
36
36
|
//# sourceMappingURL=RefreshTokenClient.d.ts.map
|