@azure/msal-common 14.4.1-beta.0 → 14.5.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 +58 -31
- package/dist/account/AccountInfo.d.ts.map +1 -1
- package/dist/account/AccountInfo.mjs +64 -0
- package/dist/account/AccountInfo.mjs.map +1 -0
- package/dist/account/AuthToken.d.ts +17 -17
- package/dist/account/AuthToken.mjs +58 -58
- package/dist/account/AuthToken.mjs.map +1 -1
- package/dist/account/CcsCredential.d.ts +9 -9
- package/dist/account/CcsCredential.mjs +8 -8
- package/dist/account/CcsCredential.mjs.map +1 -1
- package/dist/account/ClientCredentials.d.ts +14 -14
- package/dist/account/ClientInfo.d.ts +18 -19
- package/dist/account/ClientInfo.d.ts.map +1 -1
- package/dist/account/ClientInfo.mjs +37 -37
- package/dist/account/ClientInfo.mjs.map +1 -1
- package/dist/account/TokenClaims.d.ts +83 -65
- package/dist/account/TokenClaims.d.ts.map +1 -1
- package/dist/account/TokenClaims.mjs +25 -0
- package/dist/account/TokenClaims.mjs.map +1 -0
- package/dist/authority/Authority.d.ts +253 -249
- package/dist/authority/Authority.d.ts.map +1 -1
- package/dist/authority/Authority.mjs +812 -789
- package/dist/authority/Authority.mjs.map +1 -1
- package/dist/authority/AuthorityFactory.d.ts +31 -31
- package/dist/authority/AuthorityFactory.mjs +47 -47
- package/dist/authority/AuthorityFactory.mjs.map +1 -1
- package/dist/authority/AuthorityMetadata.d.ts +503 -503
- package/dist/authority/AuthorityMetadata.mjs +603 -603
- package/dist/authority/AuthorityMetadata.mjs.map +1 -1
- package/dist/authority/AuthorityOptions.d.ts +27 -27
- package/dist/authority/AuthorityOptions.mjs +18 -18
- package/dist/authority/AuthorityOptions.mjs.map +1 -1
- package/dist/authority/AuthorityType.d.ts +10 -10
- package/dist/authority/AuthorityType.mjs +13 -13
- package/dist/authority/AuthorityType.mjs.map +1 -1
- 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/CloudInstanceDiscoveryErrorResponse.mjs.map +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs.map +1 -1
- 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/OpenIdConfigResponse.mjs.map +1 -1
- package/dist/authority/ProtocolMode.d.ts +8 -8
- package/dist/authority/ProtocolMode.mjs +11 -11
- package/dist/authority/ProtocolMode.mjs.map +1 -1
- package/dist/authority/RegionDiscovery.d.ts +32 -32
- package/dist/authority/RegionDiscovery.mjs +106 -106
- package/dist/authority/RegionDiscovery.mjs.map +1 -1
- package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
- package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
- package/dist/cache/CacheManager.d.ts +517 -485
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.mjs +1264 -1102
- package/dist/cache/CacheManager.mjs.map +1 -1
- package/dist/cache/entities/AccessTokenEntity.d.ts +25 -25
- package/dist/cache/entities/AccountEntity.d.ts +106 -101
- package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
- package/dist/cache/entities/AccountEntity.mjs +247 -219
- package/dist/cache/entities/AccountEntity.mjs.map +1 -1
- package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
- package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
- package/dist/cache/entities/AppMetadataEntity.mjs.map +1 -1
- package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
- package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
- package/dist/cache/entities/AuthorityMetadataEntity.mjs.map +1 -1
- package/dist/cache/entities/CacheRecord.d.ts +14 -14
- package/dist/cache/entities/CacheRecord.mjs +14 -14
- package/dist/cache/entities/CacheRecord.mjs.map +1 -1
- 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 +5 -7
- package/dist/cache/entities/RefreshTokenEntity.d.ts.map +1 -1
- package/dist/cache/entities/ServerTelemetryEntity.d.ts +5 -5
- package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
- package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
- package/dist/cache/entities/ThrottlingEntity.mjs.map +1 -1
- 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/persistence/TokenCacheContext.mjs.map +1 -1
- package/dist/cache/utils/CacheHelpers.d.ts +64 -64
- package/dist/cache/utils/CacheHelpers.d.ts.map +1 -1
- package/dist/cache/utils/CacheHelpers.mjs +231 -234
- package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
- package/dist/cache/utils/CacheTypes.d.ts +69 -67
- package/dist/cache/utils/CacheTypes.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.d.ts +74 -74
- package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.mjs +404 -403
- package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
- package/dist/client/BaseClient.d.ts +51 -51
- package/dist/client/BaseClient.mjs +100 -100
- package/dist/client/BaseClient.mjs.map +1 -1
- package/dist/client/RefreshTokenClient.d.ts +35 -35
- package/dist/client/RefreshTokenClient.d.ts.map +1 -1
- package/dist/client/RefreshTokenClient.mjs +189 -194
- package/dist/client/RefreshTokenClient.mjs.map +1 -1
- package/dist/client/SilentFlowClient.d.ts +27 -27
- package/dist/client/SilentFlowClient.mjs +118 -118
- package/dist/client/SilentFlowClient.mjs.map +1 -1
- package/dist/config/AppTokenProvider.d.ts +38 -38
- package/dist/config/ClientConfiguration.d.ts +150 -150
- package/dist/config/ClientConfiguration.mjs +97 -97
- package/dist/config/ClientConfiguration.mjs.map +1 -1
- package/dist/constants/AADServerParamKeys.d.ts +52 -0
- package/dist/constants/AADServerParamKeys.d.ts.map +1 -0
- package/dist/constants/AADServerParamKeys.mjs +60 -0
- package/dist/constants/AADServerParamKeys.mjs.map +1 -0
- package/dist/crypto/ICrypto.d.ts +58 -58
- package/dist/crypto/ICrypto.mjs +30 -30
- package/dist/crypto/ICrypto.mjs.map +1 -1
- 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/JoseHeader.mjs.map +1 -1
- package/dist/crypto/PopTokenGenerator.d.ts +60 -60
- package/dist/crypto/PopTokenGenerator.mjs +82 -82
- package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
- 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/AuthError.mjs.map +1 -1
- package/dist/error/AuthErrorCodes.d.ts +5 -5
- package/dist/error/AuthErrorCodes.mjs +9 -9
- package/dist/error/AuthErrorCodes.mjs.map +1 -1
- package/dist/error/ClientAuthError.d.ts +237 -237
- package/dist/error/ClientAuthError.mjs +249 -249
- package/dist/error/ClientAuthError.mjs.map +1 -1
- package/dist/error/ClientAuthErrorCodes.d.ts +44 -44
- package/dist/error/ClientAuthErrorCodes.mjs +48 -48
- package/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
- package/dist/error/ClientConfigurationError.d.ts +128 -128
- package/dist/error/ClientConfigurationError.mjs +135 -135
- package/dist/error/ClientConfigurationError.mjs.map +1 -1
- package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
- package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
- package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -1
- package/dist/error/InteractionRequiredAuthError.d.ts +57 -57
- package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
- package/dist/error/InteractionRequiredAuthError.mjs +77 -78
- package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
- package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +5 -6
- package/dist/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -1
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +12 -13
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -1
- package/dist/error/JoseHeaderError.d.ts +15 -15
- package/dist/error/JoseHeaderError.mjs +22 -22
- package/dist/error/JoseHeaderError.mjs.map +1 -1
- package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
- package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
- package/dist/error/JoseHeaderErrorCodes.mjs.map +1 -1
- package/dist/error/ServerError.d.ts +7 -7
- package/dist/error/ServerError.mjs +14 -14
- package/dist/error/ServerError.mjs.map +1 -1
- package/dist/index.cjs +8645 -8295
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +99 -98
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +7 -3
- package/dist/index.mjs.map +1 -1
- package/dist/logger/Logger.d.ts +95 -95
- package/dist/logger/Logger.mjs +188 -188
- package/dist/logger/Logger.mjs.map +1 -1
- package/dist/network/INetworkModule.d.ts +29 -29
- package/dist/network/INetworkModule.mjs +12 -12
- package/dist/network/INetworkModule.mjs.map +1 -1
- package/dist/network/NetworkManager.d.ts +33 -33
- package/dist/network/NetworkManager.mjs +34 -34
- package/dist/network/NetworkManager.mjs.map +1 -1
- 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/network/ThrottlingUtils.mjs.map +1 -1
- package/dist/packageMetadata.d.ts +2 -2
- package/dist/packageMetadata.mjs +4 -4
- package/dist/packageMetadata.mjs.map +1 -1
- package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
- package/dist/request/AuthenticationHeaderParser.mjs +55 -55
- package/dist/request/AuthenticationHeaderParser.mjs.map +1 -1
- package/dist/request/BaseAuthRequest.d.ts +43 -43
- 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 -23
- package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
- package/dist/request/CommonSilentFlowRequest.d.ts +20 -21
- package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/request/RequestParameterBuilder.mjs +383 -382
- package/dist/request/RequestParameterBuilder.mjs.map +1 -1
- package/dist/request/RequestValidator.d.ts +33 -33
- package/dist/request/RequestValidator.mjs +81 -81
- package/dist/request/RequestValidator.mjs.map +1 -1
- package/dist/request/ScopeSet.d.ts +88 -88
- package/dist/request/ScopeSet.mjs +197 -197
- package/dist/request/ScopeSet.mjs.map +1 -1
- 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 -67
- package/dist/response/ResponseHandler.d.ts.map +1 -1
- package/dist/response/ResponseHandler.mjs +339 -313
- package/dist/response/ResponseHandler.mjs.map +1 -1
- package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
- package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -46
- package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
- package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
- package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
- package/dist/telemetry/performance/PerformanceClient.mjs +409 -409
- package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts +464 -464
- package/dist/telemetry/performance/PerformanceEvent.mjs +253 -253
- 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/performance/StubPerformanceClient.mjs.map +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
- package/dist/telemetry/server/ServerTelemetryManager.mjs +201 -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/url/UrlString.mjs.map +1 -1
- package/dist/utils/Constants.d.ts +296 -365
- package/dist/utils/Constants.d.ts.map +1 -1
- package/dist/utils/Constants.mjs +309 -376
- package/dist/utils/Constants.mjs.map +1 -1
- package/dist/utils/FunctionWrappers.d.ts +27 -27
- package/dist/utils/FunctionWrappers.mjs +84 -84
- package/dist/utils/FunctionWrappers.mjs.map +1 -1
- 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/ProtocolUtils.mjs.map +1 -1
- package/dist/utils/StringUtils.d.ts +40 -40
- package/dist/utils/StringUtils.mjs +95 -95
- package/dist/utils/StringUtils.mjs.map +1 -1
- package/dist/utils/TimeUtils.d.ts +27 -27
- package/dist/utils/TimeUtils.mjs +45 -45
- package/dist/utils/TimeUtils.mjs.map +1 -1
- package/dist/utils/UrlUtils.d.ts +10 -10
- package/dist/utils/UrlUtils.mjs +44 -44
- package/dist/utils/UrlUtils.mjs.map +1 -1
- package/package.json +93 -92
- package/src/account/AccountInfo.ts +96 -0
- package/src/account/ClientInfo.ts +2 -3
- package/src/account/TokenClaims.ts +28 -0
- package/src/authority/Authority.ts +29 -2
- package/src/cache/CacheManager.ts +416 -114
- package/src/cache/entities/AccountEntity.ts +84 -33
- package/src/cache/entities/RefreshTokenEntity.ts +1 -3
- package/src/cache/utils/CacheHelpers.ts +1 -6
- package/src/cache/utils/CacheTypes.ts +11 -0
- package/src/client/AuthorizationCodeClient.ts +4 -5
- package/src/client/RefreshTokenClient.ts +3 -15
- package/src/client/SilentFlowClient.ts +1 -1
- package/src/constants/AADServerParamKeys.ts +56 -0
- package/src/crypto/PopTokenGenerator.ts +1 -1
- package/src/error/InteractionRequiredAuthError.ts +0 -2
- package/src/error/InteractionRequiredAuthErrorCodes.ts +0 -1
- package/src/index.ts +17 -5
- package/src/packageMetadata.ts +1 -1
- package/src/request/CommonRefreshTokenRequest.ts +0 -1
- package/src/request/CommonSilentFlowRequest.ts +0 -1
- package/src/request/RequestParameterBuilder.ts +7 -5
- package/src/response/ResponseHandler.ts +95 -27
- package/src/utils/Constants.ts +0 -72
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkManager.mjs","sources":["../../src/network/NetworkManager.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.networkError"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"NetworkManager.mjs","sources":["../../src/network/NetworkManager.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.networkError"],"mappings":";;;;;;;AAAA;;;AAGG;AA+BH;MACa,cAAc,CAAA;IAIvB,WAAY,CAAA,aAA6B,EAAE,YAA0B,EAAA;AACjE,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;KACpC;AAED;;;;;AAKG;AACH,IAAA,MAAM,eAAe,CACjB,UAA6B,EAC7B,aAAqB,EACrB,OAA8B,EAAA;QAE9B,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAE1D,QAAA,IAAI,QAAQ,CAAC;QACb,IAAI;AACA,YAAA,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CACpD,aAAa,EACb,OAAO,CACV,CAAC;AACL,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,YAAY,SAAS,EAAE;AACxB,gBAAA,MAAM,CAAC,CAAC;AACX,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,qBAAqB,CAACA,YAAiC,CAAC,CAAC;AAClE,aAAA;AACJ,SAAA;QAED,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAErE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;;;"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { ShrOptions } from "../crypto/SignedHttpRequest";
|
|
2
|
-
import { AuthenticationScheme } from "../utils/Constants";
|
|
3
|
-
/**
|
|
4
|
-
* Type representing a unique request thumbprint.
|
|
5
|
-
*/
|
|
6
|
-
export type RequestThumbprint = {
|
|
7
|
-
clientId: string;
|
|
8
|
-
authority: string;
|
|
9
|
-
scopes: Array<string>;
|
|
10
|
-
homeAccountIdentifier?: string;
|
|
11
|
-
claims?: string;
|
|
12
|
-
authenticationScheme?: AuthenticationScheme;
|
|
13
|
-
resourceRequestMethod?: string;
|
|
14
|
-
resourceRequestUri?: string;
|
|
15
|
-
shrClaims?: string;
|
|
16
|
-
sshKid?: string;
|
|
17
|
-
shrOptions?: ShrOptions;
|
|
18
|
-
};
|
|
1
|
+
import { ShrOptions } from "../crypto/SignedHttpRequest";
|
|
2
|
+
import { AuthenticationScheme } from "../utils/Constants";
|
|
3
|
+
/**
|
|
4
|
+
* Type representing a unique request thumbprint.
|
|
5
|
+
*/
|
|
6
|
+
export type RequestThumbprint = {
|
|
7
|
+
clientId: string;
|
|
8
|
+
authority: string;
|
|
9
|
+
scopes: Array<string>;
|
|
10
|
+
homeAccountIdentifier?: string;
|
|
11
|
+
claims?: string;
|
|
12
|
+
authenticationScheme?: AuthenticationScheme;
|
|
13
|
+
resourceRequestMethod?: string;
|
|
14
|
+
resourceRequestUri?: string;
|
|
15
|
+
shrClaims?: string;
|
|
16
|
+
sshKid?: string;
|
|
17
|
+
shrOptions?: ShrOptions;
|
|
18
|
+
};
|
|
19
19
|
//# sourceMappingURL=RequestThumbprint.d.ts.map
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { NetworkResponse } from "./NetworkManager";
|
|
2
|
-
import { ServerAuthorizationTokenResponse } from "../response/ServerAuthorizationTokenResponse";
|
|
3
|
-
import { CacheManager } from "../cache/CacheManager";
|
|
4
|
-
import { RequestThumbprint } from "./RequestThumbprint";
|
|
5
|
-
import { BaseAuthRequest } from "../request/BaseAuthRequest";
|
|
6
|
-
/** @internal */
|
|
7
|
-
export declare class ThrottlingUtils {
|
|
8
|
-
/**
|
|
9
|
-
* Prepares a RequestThumbprint to be stored as a key.
|
|
10
|
-
* @param thumbprint
|
|
11
|
-
*/
|
|
12
|
-
static generateThrottlingStorageKey(thumbprint: RequestThumbprint): string;
|
|
13
|
-
/**
|
|
14
|
-
* Performs necessary throttling checks before a network request.
|
|
15
|
-
* @param cacheManager
|
|
16
|
-
* @param thumbprint
|
|
17
|
-
*/
|
|
18
|
-
static preProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint): void;
|
|
19
|
-
/**
|
|
20
|
-
* Performs necessary throttling checks after a network request.
|
|
21
|
-
* @param cacheManager
|
|
22
|
-
* @param thumbprint
|
|
23
|
-
* @param response
|
|
24
|
-
*/
|
|
25
|
-
static postProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint, response: NetworkResponse<ServerAuthorizationTokenResponse>): void;
|
|
26
|
-
/**
|
|
27
|
-
* Checks a NetworkResponse object's status codes against 429 or 5xx
|
|
28
|
-
* @param response
|
|
29
|
-
*/
|
|
30
|
-
static checkResponseStatus(response: NetworkResponse<ServerAuthorizationTokenResponse>): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Checks a NetworkResponse object's RetryAfter header
|
|
33
|
-
* @param response
|
|
34
|
-
*/
|
|
35
|
-
static checkResponseForRetryAfter(response: NetworkResponse<ServerAuthorizationTokenResponse>): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.
|
|
38
|
-
* @param throttleTime
|
|
39
|
-
*/
|
|
40
|
-
static calculateThrottleTime(throttleTime: number): number;
|
|
41
|
-
static removeThrottle(cacheManager: CacheManager, clientId: string, request: BaseAuthRequest, homeAccountIdentifier?: string): void;
|
|
42
|
-
}
|
|
1
|
+
import { NetworkResponse } from "./NetworkManager";
|
|
2
|
+
import { ServerAuthorizationTokenResponse } from "../response/ServerAuthorizationTokenResponse";
|
|
3
|
+
import { CacheManager } from "../cache/CacheManager";
|
|
4
|
+
import { RequestThumbprint } from "./RequestThumbprint";
|
|
5
|
+
import { BaseAuthRequest } from "../request/BaseAuthRequest";
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare class ThrottlingUtils {
|
|
8
|
+
/**
|
|
9
|
+
* Prepares a RequestThumbprint to be stored as a key.
|
|
10
|
+
* @param thumbprint
|
|
11
|
+
*/
|
|
12
|
+
static generateThrottlingStorageKey(thumbprint: RequestThumbprint): string;
|
|
13
|
+
/**
|
|
14
|
+
* Performs necessary throttling checks before a network request.
|
|
15
|
+
* @param cacheManager
|
|
16
|
+
* @param thumbprint
|
|
17
|
+
*/
|
|
18
|
+
static preProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint): void;
|
|
19
|
+
/**
|
|
20
|
+
* Performs necessary throttling checks after a network request.
|
|
21
|
+
* @param cacheManager
|
|
22
|
+
* @param thumbprint
|
|
23
|
+
* @param response
|
|
24
|
+
*/
|
|
25
|
+
static postProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint, response: NetworkResponse<ServerAuthorizationTokenResponse>): void;
|
|
26
|
+
/**
|
|
27
|
+
* Checks a NetworkResponse object's status codes against 429 or 5xx
|
|
28
|
+
* @param response
|
|
29
|
+
*/
|
|
30
|
+
static checkResponseStatus(response: NetworkResponse<ServerAuthorizationTokenResponse>): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Checks a NetworkResponse object's RetryAfter header
|
|
33
|
+
* @param response
|
|
34
|
+
*/
|
|
35
|
+
static checkResponseForRetryAfter(response: NetworkResponse<ServerAuthorizationTokenResponse>): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.
|
|
38
|
+
* @param throttleTime
|
|
39
|
+
*/
|
|
40
|
+
static calculateThrottleTime(throttleTime: number): number;
|
|
41
|
+
static removeThrottle(cacheManager: CacheManager, clientId: string, request: BaseAuthRequest, homeAccountIdentifier?: string): void;
|
|
42
|
+
}
|
|
43
43
|
//# sourceMappingURL=ThrottlingUtils.d.ts.map
|
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.5.0 2023-12-01 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { ThrottlingConstants, Constants, HeaderNames } from '../utils/Constants.mjs';
|
|
4
4
|
import { ServerError } from '../error/ServerError.mjs';
|
|
5
5
|
|
|
6
|
-
/*
|
|
7
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
8
|
-
* Licensed under the MIT License.
|
|
9
|
-
*/
|
|
10
|
-
/** @internal */
|
|
11
|
-
class ThrottlingUtils {
|
|
12
|
-
/**
|
|
13
|
-
* Prepares a RequestThumbprint to be stored as a key.
|
|
14
|
-
* @param thumbprint
|
|
15
|
-
*/
|
|
16
|
-
static generateThrottlingStorageKey(thumbprint) {
|
|
17
|
-
return `${ThrottlingConstants.THROTTLING_PREFIX}.${JSON.stringify(thumbprint)}`;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Performs necessary throttling checks before a network request.
|
|
21
|
-
* @param cacheManager
|
|
22
|
-
* @param thumbprint
|
|
23
|
-
*/
|
|
24
|
-
static preProcess(cacheManager, thumbprint) {
|
|
25
|
-
const key = ThrottlingUtils.generateThrottlingStorageKey(thumbprint);
|
|
26
|
-
const value = cacheManager.getThrottlingCache(key);
|
|
27
|
-
if (value) {
|
|
28
|
-
if (value.throttleTime < Date.now()) {
|
|
29
|
-
cacheManager.removeItem(key);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
throw new ServerError(value.errorCodes?.join(" ") || Constants.EMPTY_STRING, value.errorMessage, value.subError);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Performs necessary throttling checks after a network request.
|
|
37
|
-
* @param cacheManager
|
|
38
|
-
* @param thumbprint
|
|
39
|
-
* @param response
|
|
40
|
-
*/
|
|
41
|
-
static postProcess(cacheManager, thumbprint, response) {
|
|
42
|
-
if (ThrottlingUtils.checkResponseStatus(response) ||
|
|
43
|
-
ThrottlingUtils.checkResponseForRetryAfter(response)) {
|
|
44
|
-
const thumbprintValue = {
|
|
45
|
-
throttleTime: ThrottlingUtils.calculateThrottleTime(parseInt(response.headers[HeaderNames.RETRY_AFTER])),
|
|
46
|
-
error: response.body.error,
|
|
47
|
-
errorCodes: response.body.error_codes,
|
|
48
|
-
errorMessage: response.body.error_description,
|
|
49
|
-
subError: response.body.suberror,
|
|
50
|
-
};
|
|
51
|
-
cacheManager.setThrottlingCache(ThrottlingUtils.generateThrottlingStorageKey(thumbprint), thumbprintValue);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Checks a NetworkResponse object's status codes against 429 or 5xx
|
|
56
|
-
* @param response
|
|
57
|
-
*/
|
|
58
|
-
static checkResponseStatus(response) {
|
|
59
|
-
return (response.status === 429 ||
|
|
60
|
-
(response.status >= 500 && response.status < 600));
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Checks a NetworkResponse object's RetryAfter header
|
|
64
|
-
* @param response
|
|
65
|
-
*/
|
|
66
|
-
static checkResponseForRetryAfter(response) {
|
|
67
|
-
if (response.headers) {
|
|
68
|
-
return (response.headers.hasOwnProperty(HeaderNames.RETRY_AFTER) &&
|
|
69
|
-
(response.status < 200 || response.status >= 300));
|
|
70
|
-
}
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.
|
|
75
|
-
* @param throttleTime
|
|
76
|
-
*/
|
|
77
|
-
static calculateThrottleTime(throttleTime) {
|
|
78
|
-
const time = throttleTime <= 0 ? 0 : throttleTime;
|
|
79
|
-
const currentSeconds = Date.now() / 1000;
|
|
80
|
-
return Math.floor(Math.min(currentSeconds +
|
|
81
|
-
(time || ThrottlingConstants.DEFAULT_THROTTLE_TIME_SECONDS), currentSeconds +
|
|
82
|
-
ThrottlingConstants.DEFAULT_MAX_THROTTLE_TIME_SECONDS) * 1000);
|
|
83
|
-
}
|
|
84
|
-
static removeThrottle(cacheManager, clientId, request, homeAccountIdentifier) {
|
|
85
|
-
const thumbprint = {
|
|
86
|
-
clientId: clientId,
|
|
87
|
-
authority: request.authority,
|
|
88
|
-
scopes: request.scopes,
|
|
89
|
-
homeAccountIdentifier: homeAccountIdentifier,
|
|
90
|
-
claims: request.claims,
|
|
91
|
-
authenticationScheme: request.authenticationScheme,
|
|
92
|
-
resourceRequestMethod: request.resourceRequestMethod,
|
|
93
|
-
resourceRequestUri: request.resourceRequestUri,
|
|
94
|
-
shrClaims: request.shrClaims,
|
|
95
|
-
sshKid: request.sshKid,
|
|
96
|
-
};
|
|
97
|
-
const key = this.generateThrottlingStorageKey(thumbprint);
|
|
98
|
-
cacheManager.removeItem(key);
|
|
99
|
-
}
|
|
6
|
+
/*
|
|
7
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
8
|
+
* Licensed under the MIT License.
|
|
9
|
+
*/
|
|
10
|
+
/** @internal */
|
|
11
|
+
class ThrottlingUtils {
|
|
12
|
+
/**
|
|
13
|
+
* Prepares a RequestThumbprint to be stored as a key.
|
|
14
|
+
* @param thumbprint
|
|
15
|
+
*/
|
|
16
|
+
static generateThrottlingStorageKey(thumbprint) {
|
|
17
|
+
return `${ThrottlingConstants.THROTTLING_PREFIX}.${JSON.stringify(thumbprint)}`;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Performs necessary throttling checks before a network request.
|
|
21
|
+
* @param cacheManager
|
|
22
|
+
* @param thumbprint
|
|
23
|
+
*/
|
|
24
|
+
static preProcess(cacheManager, thumbprint) {
|
|
25
|
+
const key = ThrottlingUtils.generateThrottlingStorageKey(thumbprint);
|
|
26
|
+
const value = cacheManager.getThrottlingCache(key);
|
|
27
|
+
if (value) {
|
|
28
|
+
if (value.throttleTime < Date.now()) {
|
|
29
|
+
cacheManager.removeItem(key);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
throw new ServerError(value.errorCodes?.join(" ") || Constants.EMPTY_STRING, value.errorMessage, value.subError);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Performs necessary throttling checks after a network request.
|
|
37
|
+
* @param cacheManager
|
|
38
|
+
* @param thumbprint
|
|
39
|
+
* @param response
|
|
40
|
+
*/
|
|
41
|
+
static postProcess(cacheManager, thumbprint, response) {
|
|
42
|
+
if (ThrottlingUtils.checkResponseStatus(response) ||
|
|
43
|
+
ThrottlingUtils.checkResponseForRetryAfter(response)) {
|
|
44
|
+
const thumbprintValue = {
|
|
45
|
+
throttleTime: ThrottlingUtils.calculateThrottleTime(parseInt(response.headers[HeaderNames.RETRY_AFTER])),
|
|
46
|
+
error: response.body.error,
|
|
47
|
+
errorCodes: response.body.error_codes,
|
|
48
|
+
errorMessage: response.body.error_description,
|
|
49
|
+
subError: response.body.suberror,
|
|
50
|
+
};
|
|
51
|
+
cacheManager.setThrottlingCache(ThrottlingUtils.generateThrottlingStorageKey(thumbprint), thumbprintValue);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Checks a NetworkResponse object's status codes against 429 or 5xx
|
|
56
|
+
* @param response
|
|
57
|
+
*/
|
|
58
|
+
static checkResponseStatus(response) {
|
|
59
|
+
return (response.status === 429 ||
|
|
60
|
+
(response.status >= 500 && response.status < 600));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Checks a NetworkResponse object's RetryAfter header
|
|
64
|
+
* @param response
|
|
65
|
+
*/
|
|
66
|
+
static checkResponseForRetryAfter(response) {
|
|
67
|
+
if (response.headers) {
|
|
68
|
+
return (response.headers.hasOwnProperty(HeaderNames.RETRY_AFTER) &&
|
|
69
|
+
(response.status < 200 || response.status >= 300));
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.
|
|
75
|
+
* @param throttleTime
|
|
76
|
+
*/
|
|
77
|
+
static calculateThrottleTime(throttleTime) {
|
|
78
|
+
const time = throttleTime <= 0 ? 0 : throttleTime;
|
|
79
|
+
const currentSeconds = Date.now() / 1000;
|
|
80
|
+
return Math.floor(Math.min(currentSeconds +
|
|
81
|
+
(time || ThrottlingConstants.DEFAULT_THROTTLE_TIME_SECONDS), currentSeconds +
|
|
82
|
+
ThrottlingConstants.DEFAULT_MAX_THROTTLE_TIME_SECONDS) * 1000);
|
|
83
|
+
}
|
|
84
|
+
static removeThrottle(cacheManager, clientId, request, homeAccountIdentifier) {
|
|
85
|
+
const thumbprint = {
|
|
86
|
+
clientId: clientId,
|
|
87
|
+
authority: request.authority,
|
|
88
|
+
scopes: request.scopes,
|
|
89
|
+
homeAccountIdentifier: homeAccountIdentifier,
|
|
90
|
+
claims: request.claims,
|
|
91
|
+
authenticationScheme: request.authenticationScheme,
|
|
92
|
+
resourceRequestMethod: request.resourceRequestMethod,
|
|
93
|
+
resourceRequestUri: request.resourceRequestUri,
|
|
94
|
+
shrClaims: request.shrClaims,
|
|
95
|
+
sshKid: request.sshKid,
|
|
96
|
+
};
|
|
97
|
+
const key = this.generateThrottlingStorageKey(thumbprint);
|
|
98
|
+
cacheManager.removeItem(key);
|
|
99
|
+
}
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
export { ThrottlingUtils };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThrottlingUtils.mjs","sources":["../../src/network/ThrottlingUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ThrottlingUtils.mjs","sources":["../../src/network/ThrottlingUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const name = "@azure/msal-common";
|
|
2
|
-
export declare const version = "14.
|
|
1
|
+
export declare const name = "@azure/msal-common";
|
|
2
|
+
export declare const version = "14.5.0";
|
|
3
3
|
//# sourceMappingURL=packageMetadata.d.ts.map
|
package/dist/packageMetadata.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.5.0 2023-12-01 */
|
|
2
2
|
'use strict';
|
|
3
|
-
/* eslint-disable header/header */
|
|
4
|
-
const name = "@azure/msal-common";
|
|
5
|
-
const version = "14.
|
|
3
|
+
/* eslint-disable header/header */
|
|
4
|
+
const name = "@azure/msal-common";
|
|
5
|
+
const version = "14.5.0";
|
|
6
6
|
|
|
7
7
|
export { name, version };
|
|
8
8
|
//# sourceMappingURL=packageMetadata.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageMetadata.mjs","sources":["../src/packageMetadata.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"packageMetadata.mjs","sources":["../src/packageMetadata.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACO,MAAM,IAAI,GAAG,qBAAqB;AAClC,MAAM,OAAO,GAAG;;;;"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This is a helper class that parses supported HTTP response authentication headers to extract and return
|
|
3
|
-
* header challenge values that can be used outside the basic authorization flows.
|
|
4
|
-
*/
|
|
5
|
-
export declare class AuthenticationHeaderParser {
|
|
6
|
-
private headers;
|
|
7
|
-
constructor(headers: Record<string, string>);
|
|
8
|
-
/**
|
|
9
|
-
* This method parses the SHR nonce value out of either the Authentication-Info or WWW-Authenticate authentication headers.
|
|
10
|
-
* @returns
|
|
11
|
-
*/
|
|
12
|
-
getShrNonce(): string;
|
|
13
|
-
/**
|
|
14
|
-
* Parses an HTTP header's challenge set into a key/value map.
|
|
15
|
-
* @param header
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
private parseChallenges;
|
|
19
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* This is a helper class that parses supported HTTP response authentication headers to extract and return
|
|
3
|
+
* header challenge values that can be used outside the basic authorization flows.
|
|
4
|
+
*/
|
|
5
|
+
export declare class AuthenticationHeaderParser {
|
|
6
|
+
private headers;
|
|
7
|
+
constructor(headers: Record<string, string>);
|
|
8
|
+
/**
|
|
9
|
+
* This method parses the SHR nonce value out of either the Authentication-Info or WWW-Authenticate authentication headers.
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
getShrNonce(): string;
|
|
13
|
+
/**
|
|
14
|
+
* Parses an HTTP header's challenge set into a key/value map.
|
|
15
|
+
* @param header
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
private parseChallenges;
|
|
19
|
+
}
|
|
20
20
|
//# sourceMappingURL=AuthenticationHeaderParser.d.ts.map
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
/*! @azure/msal-common v14.
|
|
1
|
+
/*! @azure/msal-common v14.5.0 2023-12-01 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
|
|
4
4
|
import { Constants, HeaderNames } from '../utils/Constants.mjs';
|
|
5
5
|
import { invalidAuthenticationHeader, missingNonceAuthenticationHeader } from '../error/ClientConfigurationErrorCodes.mjs';
|
|
6
6
|
|
|
7
|
-
/*
|
|
8
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
-
* Licensed under the MIT License.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* This is a helper class that parses supported HTTP response authentication headers to extract and return
|
|
13
|
-
* header challenge values that can be used outside the basic authorization flows.
|
|
14
|
-
*/
|
|
15
|
-
class AuthenticationHeaderParser {
|
|
16
|
-
constructor(headers) {
|
|
17
|
-
this.headers = headers;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* This method parses the SHR nonce value out of either the Authentication-Info or WWW-Authenticate authentication headers.
|
|
21
|
-
* @returns
|
|
22
|
-
*/
|
|
23
|
-
getShrNonce() {
|
|
24
|
-
// Attempt to parse nonce from Authentiacation-Info
|
|
25
|
-
const authenticationInfo = this.headers[HeaderNames.AuthenticationInfo];
|
|
26
|
-
if (authenticationInfo) {
|
|
27
|
-
const authenticationInfoChallenges = this.parseChallenges(authenticationInfo);
|
|
28
|
-
if (authenticationInfoChallenges.nextnonce) {
|
|
29
|
-
return authenticationInfoChallenges.nextnonce;
|
|
30
|
-
}
|
|
31
|
-
throw createClientConfigurationError(invalidAuthenticationHeader);
|
|
32
|
-
}
|
|
33
|
-
// Attempt to parse nonce from WWW-Authenticate
|
|
34
|
-
const wwwAuthenticate = this.headers[HeaderNames.WWWAuthenticate];
|
|
35
|
-
if (wwwAuthenticate) {
|
|
36
|
-
const wwwAuthenticateChallenges = this.parseChallenges(wwwAuthenticate);
|
|
37
|
-
if (wwwAuthenticateChallenges.nonce) {
|
|
38
|
-
return wwwAuthenticateChallenges.nonce;
|
|
39
|
-
}
|
|
40
|
-
throw createClientConfigurationError(invalidAuthenticationHeader);
|
|
41
|
-
}
|
|
42
|
-
// If neither header is present, throw missing headers error
|
|
43
|
-
throw createClientConfigurationError(missingNonceAuthenticationHeader);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Parses an HTTP header's challenge set into a key/value map.
|
|
47
|
-
* @param header
|
|
48
|
-
* @returns
|
|
49
|
-
*/
|
|
50
|
-
parseChallenges(header) {
|
|
51
|
-
const schemeSeparator = header.indexOf(" ");
|
|
52
|
-
const challenges = header.substr(schemeSeparator + 1).split(",");
|
|
53
|
-
const challengeMap = {};
|
|
54
|
-
challenges.forEach((challenge) => {
|
|
55
|
-
const [key, value] = challenge.split("=");
|
|
56
|
-
// Remove escaped quotation marks (', ") from challenge string to keep only the challenge value
|
|
57
|
-
challengeMap[key] = unescape(value.replace(/['"]+/g, Constants.EMPTY_STRING));
|
|
58
|
-
});
|
|
59
|
-
return challengeMap;
|
|
60
|
-
}
|
|
7
|
+
/*
|
|
8
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
+
* Licensed under the MIT License.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* This is a helper class that parses supported HTTP response authentication headers to extract and return
|
|
13
|
+
* header challenge values that can be used outside the basic authorization flows.
|
|
14
|
+
*/
|
|
15
|
+
class AuthenticationHeaderParser {
|
|
16
|
+
constructor(headers) {
|
|
17
|
+
this.headers = headers;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* This method parses the SHR nonce value out of either the Authentication-Info or WWW-Authenticate authentication headers.
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
getShrNonce() {
|
|
24
|
+
// Attempt to parse nonce from Authentiacation-Info
|
|
25
|
+
const authenticationInfo = this.headers[HeaderNames.AuthenticationInfo];
|
|
26
|
+
if (authenticationInfo) {
|
|
27
|
+
const authenticationInfoChallenges = this.parseChallenges(authenticationInfo);
|
|
28
|
+
if (authenticationInfoChallenges.nextnonce) {
|
|
29
|
+
return authenticationInfoChallenges.nextnonce;
|
|
30
|
+
}
|
|
31
|
+
throw createClientConfigurationError(invalidAuthenticationHeader);
|
|
32
|
+
}
|
|
33
|
+
// Attempt to parse nonce from WWW-Authenticate
|
|
34
|
+
const wwwAuthenticate = this.headers[HeaderNames.WWWAuthenticate];
|
|
35
|
+
if (wwwAuthenticate) {
|
|
36
|
+
const wwwAuthenticateChallenges = this.parseChallenges(wwwAuthenticate);
|
|
37
|
+
if (wwwAuthenticateChallenges.nonce) {
|
|
38
|
+
return wwwAuthenticateChallenges.nonce;
|
|
39
|
+
}
|
|
40
|
+
throw createClientConfigurationError(invalidAuthenticationHeader);
|
|
41
|
+
}
|
|
42
|
+
// If neither header is present, throw missing headers error
|
|
43
|
+
throw createClientConfigurationError(missingNonceAuthenticationHeader);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Parses an HTTP header's challenge set into a key/value map.
|
|
47
|
+
* @param header
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
parseChallenges(header) {
|
|
51
|
+
const schemeSeparator = header.indexOf(" ");
|
|
52
|
+
const challenges = header.substr(schemeSeparator + 1).split(",");
|
|
53
|
+
const challengeMap = {};
|
|
54
|
+
challenges.forEach((challenge) => {
|
|
55
|
+
const [key, value] = challenge.split("=");
|
|
56
|
+
// Remove escaped quotation marks (', ") from challenge string to keep only the challenge value
|
|
57
|
+
challengeMap[key] = unescape(value.replace(/['"]+/g, Constants.EMPTY_STRING));
|
|
58
|
+
});
|
|
59
|
+
return challengeMap;
|
|
60
|
+
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
export { AuthenticationHeaderParser };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationHeaderParser.mjs","sources":["../../src/request/AuthenticationHeaderParser.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"AuthenticationHeaderParser.mjs","sources":["../../src/request/AuthenticationHeaderParser.ts"],"sourcesContent":[null],"names":["ClientConfigurationErrorCodes.invalidAuthenticationHeader","ClientConfigurationErrorCodes.missingNonceAuthenticationHeader"],"mappings":";;;;;;AAAA;;;AAGG;AAgBH;;;AAGG;MACU,0BAA0B,CAAA;AAGnC,IAAA,WAAA,CAAY,OAA+B,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KAC1B;AAED;;;AAGG;IACH,WAAW,GAAA;;QAEP,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACxE,QAAA,IAAI,kBAAkB,EAAE;YACpB,MAAM,4BAA4B,GAC9B,IAAI,CAAC,eAAe,CAChB,kBAAkB,CACrB,CAAC;YACN,IAAI,4BAA4B,CAAC,SAAS,EAAE;gBACxC,OAAO,4BAA4B,CAAC,SAAS,CAAC;AACjD,aAAA;AACD,YAAA,MAAM,8BAA8B,CAChCA,2BAAyD,CAC5D,CAAC;AACL,SAAA;;QAGD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AAClE,QAAA,IAAI,eAAe,EAAE;YACjB,MAAM,yBAAyB,GAC3B,IAAI,CAAC,eAAe,CAChB,eAAe,CAClB,CAAC;YACN,IAAI,yBAAyB,CAAC,KAAK,EAAE;gBACjC,OAAO,yBAAyB,CAAC,KAAK,CAAC;AAC1C,aAAA;AACD,YAAA,MAAM,8BAA8B,CAChCA,2BAAyD,CAC5D,CAAC;AACL,SAAA;;AAGD,QAAA,MAAM,8BAA8B,CAChCC,gCAA8D,CACjE,CAAC;KACL;AAED;;;;AAIG;AACK,IAAA,eAAe,CAAI,MAAc,EAAA;QACrC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,EAAO,CAAC;AAE7B,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,SAAiB,KAAI;AACrC,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;AAE1C,YAAA,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CACxB,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAClD,CAAC;AACN,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,YAAY,CAAC;KACvB;AACJ;;;;"}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { AuthenticationScheme } from "../utils/Constants";
|
|
2
|
-
import { AzureCloudOptions } from "../config/ClientConfiguration";
|
|
3
|
-
import { StringDict } from "../utils/MsalTypes";
|
|
4
|
-
import { StoreInCache } from "./StoreInCache";
|
|
5
|
-
import { ShrOptions } from "../crypto/SignedHttpRequest";
|
|
6
|
-
/**
|
|
7
|
-
* BaseAuthRequest
|
|
8
|
-
* - authority - URL of the authority, the security token service (STS) from which MSAL will acquire tokens. Defaults to https://login.microsoftonline.com/common. If using the same authority for all request, authority should set on client application object and not request, to avoid resolving authority endpoints multiple times.
|
|
9
|
-
* - correlationId - Unique GUID set per request to trace a request end-to-end for telemetry purposes.
|
|
10
|
-
* - scopes - Array of scopes the application is requesting access to.
|
|
11
|
-
* - authenticationScheme - The type of token retrieved. Defaults to "Bearer". Can also be type "pop" or "SSH".
|
|
12
|
-
* - claims - A stringified claims request which will be added to all /authorize and /token calls
|
|
13
|
-
* - shrClaims - A stringified claims object which will be added to a Signed HTTP Request
|
|
14
|
-
* - shrNonce - A server-generated timestamp that has been encrypted and base64URL encoded, which will be added to a Signed HTTP Request.
|
|
15
|
-
* - shrOptions - An object containing options for the Signed HTTP Request
|
|
16
|
-
* - resourceRequestMethod - HTTP Request type used to request data from the resource (i.e. "GET", "POST", etc.). Used for proof-of-possession flows.
|
|
17
|
-
* - resourceRequestUri - URI that token will be used for. Used for proof-of-possession flows.
|
|
18
|
-
* - sshJwk - A stringified JSON Web Key representing a public key that can be signed by an SSH certificate.
|
|
19
|
-
* - sshKid - Key ID that uniquely identifies the SSH public key mentioned above.
|
|
20
|
-
* - azureCloudOptions - Convenience string enums for users to provide public/sovereign cloud ids
|
|
21
|
-
* - requestedClaimsHash - SHA 256 hash string of the requested claims string, used as part of an access token cache key so tokens can be filtered by requested claims
|
|
22
|
-
* - tokenQueryParameters - String to string map of custom query parameters added to the /token call
|
|
23
|
-
* - storeInCache - Object containing boolean values indicating whether to store tokens in the cache or not (default is true)
|
|
24
|
-
*/
|
|
25
|
-
export type BaseAuthRequest = {
|
|
26
|
-
authority: string;
|
|
27
|
-
correlationId: string;
|
|
28
|
-
scopes: Array<string>;
|
|
29
|
-
authenticationScheme?: AuthenticationScheme;
|
|
30
|
-
claims?: string;
|
|
31
|
-
shrClaims?: string;
|
|
32
|
-
shrNonce?: string;
|
|
33
|
-
shrOptions?: ShrOptions;
|
|
34
|
-
resourceRequestMethod?: string;
|
|
35
|
-
resourceRequestUri?: string;
|
|
36
|
-
sshJwk?: string;
|
|
37
|
-
sshKid?: string;
|
|
38
|
-
azureCloudOptions?: AzureCloudOptions;
|
|
39
|
-
requestedClaimsHash?: string;
|
|
40
|
-
maxAge?: number;
|
|
41
|
-
tokenQueryParameters?: StringDict;
|
|
42
|
-
storeInCache?: StoreInCache;
|
|
43
|
-
};
|
|
1
|
+
import { AuthenticationScheme } from "../utils/Constants";
|
|
2
|
+
import { AzureCloudOptions } from "../config/ClientConfiguration";
|
|
3
|
+
import { StringDict } from "../utils/MsalTypes";
|
|
4
|
+
import { StoreInCache } from "./StoreInCache";
|
|
5
|
+
import { ShrOptions } from "../crypto/SignedHttpRequest";
|
|
6
|
+
/**
|
|
7
|
+
* BaseAuthRequest
|
|
8
|
+
* - authority - URL of the authority, the security token service (STS) from which MSAL will acquire tokens. Defaults to https://login.microsoftonline.com/common. If using the same authority for all request, authority should set on client application object and not request, to avoid resolving authority endpoints multiple times.
|
|
9
|
+
* - correlationId - Unique GUID set per request to trace a request end-to-end for telemetry purposes.
|
|
10
|
+
* - scopes - Array of scopes the application is requesting access to.
|
|
11
|
+
* - authenticationScheme - The type of token retrieved. Defaults to "Bearer". Can also be type "pop" or "SSH".
|
|
12
|
+
* - claims - A stringified claims request which will be added to all /authorize and /token calls
|
|
13
|
+
* - shrClaims - A stringified claims object which will be added to a Signed HTTP Request
|
|
14
|
+
* - shrNonce - A server-generated timestamp that has been encrypted and base64URL encoded, which will be added to a Signed HTTP Request.
|
|
15
|
+
* - shrOptions - An object containing options for the Signed HTTP Request
|
|
16
|
+
* - resourceRequestMethod - HTTP Request type used to request data from the resource (i.e. "GET", "POST", etc.). Used for proof-of-possession flows.
|
|
17
|
+
* - resourceRequestUri - URI that token will be used for. Used for proof-of-possession flows.
|
|
18
|
+
* - sshJwk - A stringified JSON Web Key representing a public key that can be signed by an SSH certificate.
|
|
19
|
+
* - sshKid - Key ID that uniquely identifies the SSH public key mentioned above.
|
|
20
|
+
* - azureCloudOptions - Convenience string enums for users to provide public/sovereign cloud ids
|
|
21
|
+
* - requestedClaimsHash - SHA 256 hash string of the requested claims string, used as part of an access token cache key so tokens can be filtered by requested claims
|
|
22
|
+
* - tokenQueryParameters - String to string map of custom query parameters added to the /token call
|
|
23
|
+
* - storeInCache - Object containing boolean values indicating whether to store tokens in the cache or not (default is true)
|
|
24
|
+
*/
|
|
25
|
+
export type BaseAuthRequest = {
|
|
26
|
+
authority: string;
|
|
27
|
+
correlationId: string;
|
|
28
|
+
scopes: Array<string>;
|
|
29
|
+
authenticationScheme?: AuthenticationScheme;
|
|
30
|
+
claims?: string;
|
|
31
|
+
shrClaims?: string;
|
|
32
|
+
shrNonce?: string;
|
|
33
|
+
shrOptions?: ShrOptions;
|
|
34
|
+
resourceRequestMethod?: string;
|
|
35
|
+
resourceRequestUri?: string;
|
|
36
|
+
sshJwk?: string;
|
|
37
|
+
sshKid?: string;
|
|
38
|
+
azureCloudOptions?: AzureCloudOptions;
|
|
39
|
+
requestedClaimsHash?: string;
|
|
40
|
+
maxAge?: number;
|
|
41
|
+
tokenQueryParameters?: StringDict;
|
|
42
|
+
storeInCache?: StoreInCache;
|
|
43
|
+
};
|
|
44
44
|
//# sourceMappingURL=BaseAuthRequest.d.ts.map
|