@azure/msal-common 6.2.0 → 6.3.0-beta.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/LICENSE +21 -21
- package/README.md +62 -62
- package/dist/_virtual/_tslib.js +1 -1
- package/dist/account/AccountInfo.d.ts +6 -1
- package/dist/account/AccountInfo.d.ts.map +1 -1
- package/dist/account/AuthToken.js +1 -1
- package/dist/account/AuthToken.js.map +1 -1
- package/dist/account/CcsCredential.js +1 -1
- package/dist/account/CcsCredential.js.map +1 -1
- package/dist/account/ClientInfo.js +1 -1
- package/dist/account/ClientInfo.js.map +1 -1
- package/dist/account/TokenClaims.d.ts +29 -0
- package/dist/account/TokenClaims.d.ts.map +1 -1
- package/dist/authority/Authority.js +1 -1
- package/dist/authority/Authority.js.map +1 -1
- package/dist/authority/AuthorityFactory.js +1 -1
- package/dist/authority/AuthorityFactory.js.map +1 -1
- package/dist/authority/AuthorityOptions.js +1 -1
- package/dist/authority/AuthorityOptions.js.map +1 -1
- package/dist/authority/AuthorityType.js +1 -1
- package/dist/authority/AuthorityType.js.map +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.js +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.js.map +1 -1
- package/dist/authority/OpenIdConfigResponse.js +1 -1
- package/dist/authority/OpenIdConfigResponse.js.map +1 -1
- package/dist/authority/ProtocolMode.js +1 -1
- package/dist/authority/ProtocolMode.js.map +1 -1
- package/dist/authority/RegionDiscovery.js +1 -1
- package/dist/authority/RegionDiscovery.js.map +1 -1
- package/dist/cache/CacheManager.d.ts +1 -1
- package/dist/cache/CacheManager.js +2 -2
- package/dist/cache/CacheManager.js.map +1 -1
- package/dist/cache/entities/AccessTokenEntity.js +1 -1
- package/dist/cache/entities/AccessTokenEntity.js.map +1 -1
- package/dist/cache/entities/AccountEntity.d.ts +3 -1
- package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
- package/dist/cache/entities/AccountEntity.js +7 -3
- package/dist/cache/entities/AccountEntity.js.map +1 -1
- package/dist/cache/entities/AppMetadataEntity.js +1 -1
- package/dist/cache/entities/AppMetadataEntity.js.map +1 -1
- package/dist/cache/entities/AuthorityMetadataEntity.js +1 -1
- package/dist/cache/entities/AuthorityMetadataEntity.js.map +1 -1
- package/dist/cache/entities/CacheRecord.js +1 -1
- package/dist/cache/entities/CacheRecord.js.map +1 -1
- package/dist/cache/entities/CredentialEntity.js +1 -1
- package/dist/cache/entities/CredentialEntity.js.map +1 -1
- package/dist/cache/entities/IdTokenEntity.js +1 -1
- package/dist/cache/entities/IdTokenEntity.js.map +1 -1
- package/dist/cache/entities/RefreshTokenEntity.js +1 -1
- package/dist/cache/entities/RefreshTokenEntity.js.map +1 -1
- package/dist/cache/entities/ServerTelemetryEntity.js +1 -1
- package/dist/cache/entities/ServerTelemetryEntity.js.map +1 -1
- package/dist/cache/entities/ThrottlingEntity.js +1 -1
- package/dist/cache/entities/ThrottlingEntity.js.map +1 -1
- package/dist/cache/persistence/TokenCacheContext.js +1 -1
- package/dist/cache/persistence/TokenCacheContext.js.map +1 -1
- package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.js +118 -94
- package/dist/client/AuthorizationCodeClient.js.map +1 -1
- package/dist/client/BaseClient.js +1 -1
- package/dist/client/BaseClient.js.map +1 -1
- package/dist/client/ClientCredentialClient.js +1 -1
- package/dist/client/ClientCredentialClient.js.map +1 -1
- package/dist/client/DeviceCodeClient.js +1 -1
- package/dist/client/DeviceCodeClient.js.map +1 -1
- package/dist/client/OnBehalfOfClient.js +1 -1
- package/dist/client/OnBehalfOfClient.js.map +1 -1
- package/dist/client/RefreshTokenClient.js +1 -1
- package/dist/client/RefreshTokenClient.js.map +1 -1
- package/dist/client/SilentFlowClient.js +1 -1
- package/dist/client/SilentFlowClient.js.map +1 -1
- package/dist/client/UsernamePasswordClient.d.ts.map +1 -1
- package/dist/client/UsernamePasswordClient.js +2 -1
- package/dist/client/UsernamePasswordClient.js.map +1 -1
- package/dist/config/ClientConfiguration.js +1 -1
- package/dist/config/ClientConfiguration.js.map +1 -1
- package/dist/crypto/ICrypto.js +1 -1
- package/dist/crypto/ICrypto.js.map +1 -1
- package/dist/crypto/PopTokenGenerator.d.ts +30 -0
- package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
- package/dist/crypto/PopTokenGenerator.js +37 -1
- package/dist/crypto/PopTokenGenerator.js.map +1 -1
- package/dist/error/AuthError.js +1 -1
- package/dist/error/AuthError.js.map +1 -1
- package/dist/error/ClientAuthError.js +1 -1
- package/dist/error/ClientAuthError.js.map +1 -1
- package/dist/error/ClientConfigurationError.js +1 -1
- package/dist/error/ClientConfigurationError.js.map +1 -1
- package/dist/error/InteractionRequiredAuthError.js +1 -1
- package/dist/error/InteractionRequiredAuthError.js.map +1 -1
- package/dist/error/ServerError.js +1 -1
- package/dist/error/ServerError.js.map +1 -1
- package/dist/index.cjs.js +194 -98
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/logger/Logger.js +1 -1
- package/dist/logger/Logger.js.map +1 -1
- package/dist/network/INetworkModule.js +1 -1
- package/dist/network/INetworkModule.js.map +1 -1
- package/dist/network/NetworkManager.js +1 -1
- package/dist/network/NetworkManager.js.map +1 -1
- package/dist/network/ThrottlingUtils.js +1 -1
- package/dist/network/ThrottlingUtils.js.map +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.d.ts.map +1 -1
- package/dist/packageMetadata.js +2 -2
- package/dist/packageMetadata.js.map +1 -1
- package/dist/request/AuthenticationHeaderParser.js +1 -1
- package/dist/request/AuthenticationHeaderParser.js.map +1 -1
- package/dist/request/CommonAuthorizationUrlRequest.d.ts +1 -0
- package/dist/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
- package/dist/request/RequestParameterBuilder.d.ts +8 -0
- package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
- package/dist/request/RequestParameterBuilder.js +13 -1
- package/dist/request/RequestParameterBuilder.js.map +1 -1
- package/dist/request/RequestValidator.js +1 -1
- package/dist/request/RequestValidator.js.map +1 -1
- package/dist/request/ScopeSet.js +1 -1
- package/dist/request/ScopeSet.js.map +1 -1
- package/dist/response/AuthenticationResult.d.ts +1 -0
- package/dist/response/AuthenticationResult.d.ts.map +1 -1
- package/dist/response/ResponseHandler.d.ts.map +1 -1
- package/dist/response/ResponseHandler.js +3 -2
- package/dist/response/ResponseHandler.js.map +1 -1
- package/dist/response/ServerAuthorizationCodeResponse.d.ts +1 -0
- package/dist/response/ServerAuthorizationCodeResponse.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.js +1 -1
- package/dist/telemetry/performance/PerformanceClient.js.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts +22 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.js +16 -1
- package/dist/telemetry/performance/PerformanceEvent.js.map +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.js +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.js.map +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.js +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.js.map +1 -1
- package/dist/url/UrlString.js +1 -1
- package/dist/url/UrlString.js.map +1 -1
- package/dist/utils/Constants.d.ts +3 -0
- package/dist/utils/Constants.d.ts.map +1 -1
- package/dist/utils/Constants.js +5 -2
- package/dist/utils/Constants.js.map +1 -1
- package/dist/utils/ProtocolUtils.js +1 -1
- package/dist/utils/ProtocolUtils.js.map +1 -1
- package/dist/utils/StringUtils.js +1 -1
- package/dist/utils/StringUtils.js.map +1 -1
- package/dist/utils/TimeUtils.js +1 -1
- package/dist/utils/TimeUtils.js.map +1 -1
- package/package.json +74 -74
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-common v6.
|
|
1
|
+
/*! @azure/msal-common v6.3.0-beta.0 2022-04-27 */
|
|
2
2
|
'use strict';
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -136,7 +136,9 @@ var Constants = {
|
|
|
136
136
|
IMDS_TIMEOUT: 2000,
|
|
137
137
|
AZURE_REGION_AUTO_DISCOVER_FLAG: "TryAutoDetect",
|
|
138
138
|
REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: "login.microsoft.com",
|
|
139
|
-
KNOWN_PUBLIC_CLOUDS: ["login.microsoftonline.com", "login.windows.net", "login.microsoft.com", "sts.windows.net"]
|
|
139
|
+
KNOWN_PUBLIC_CLOUDS: ["login.microsoftonline.com", "login.windows.net", "login.microsoft.com", "sts.windows.net"],
|
|
140
|
+
TOKEN_RESPONSE_TYPE: "token",
|
|
141
|
+
ID_TOKEN_RESPONSE_TYPE: "id_token"
|
|
140
142
|
};
|
|
141
143
|
var OIDC_DEFAULT_SCOPES = [
|
|
142
144
|
Constants.OPENID_SCOPE,
|
|
@@ -229,6 +231,7 @@ var AADServerParamKeys;
|
|
|
229
231
|
AADServerParamKeys["FOCI"] = "foci";
|
|
230
232
|
AADServerParamKeys["CCS_HEADER"] = "X-AnchorMailbox";
|
|
231
233
|
AADServerParamKeys["RETURN_SPA_CODE"] = "return_spa_code";
|
|
234
|
+
AADServerParamKeys["NATIVE_BROKER"] = "nativebroker";
|
|
232
235
|
AADServerParamKeys["LOGOUT_HINT"] = "logout_hint";
|
|
233
236
|
})(AADServerParamKeys || (AADServerParamKeys = {}));
|
|
234
237
|
/**
|
|
@@ -1339,7 +1342,7 @@ var Logger = /** @class */ (function () {
|
|
|
1339
1342
|
|
|
1340
1343
|
/* eslint-disable header/header */
|
|
1341
1344
|
var name = "@azure/msal-common";
|
|
1342
|
-
var version = "6.
|
|
1345
|
+
var version = "6.3.0-beta.0";
|
|
1343
1346
|
|
|
1344
1347
|
/*
|
|
1345
1348
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -2027,6 +2030,7 @@ exports.AuthorityType = void 0;
|
|
|
2027
2030
|
* lastModificationApp:
|
|
2028
2031
|
* oboAssertion: access token passed in as part of OBO request
|
|
2029
2032
|
* idTokenClaims: Object containing claims parsed from ID token
|
|
2033
|
+
* nativeAccountId: Account identifier on the native device
|
|
2030
2034
|
* }
|
|
2031
2035
|
*/
|
|
2032
2036
|
var AccountEntity = /** @class */ (function () {
|
|
@@ -2080,7 +2084,8 @@ var AccountEntity = /** @class */ (function () {
|
|
|
2080
2084
|
username: this.username,
|
|
2081
2085
|
localAccountId: this.localAccountId,
|
|
2082
2086
|
name: this.name,
|
|
2083
|
-
idTokenClaims: this.idTokenClaims
|
|
2087
|
+
idTokenClaims: this.idTokenClaims,
|
|
2088
|
+
nativeAccountId: this.nativeAccountId
|
|
2084
2089
|
};
|
|
2085
2090
|
};
|
|
2086
2091
|
/**
|
|
@@ -2102,12 +2107,13 @@ var AccountEntity = /** @class */ (function () {
|
|
|
2102
2107
|
* @param idToken
|
|
2103
2108
|
* @param policy
|
|
2104
2109
|
*/
|
|
2105
|
-
AccountEntity.createAccount = function (clientInfo, homeAccountId, idToken, authority, oboAssertion, cloudGraphHostName, msGraphHost, environment) {
|
|
2110
|
+
AccountEntity.createAccount = function (clientInfo, homeAccountId, idToken, authority, oboAssertion, cloudGraphHostName, msGraphHost, environment, nativeAccountId) {
|
|
2106
2111
|
var _a, _b, _c, _d, _e, _f;
|
|
2107
2112
|
var account = new AccountEntity();
|
|
2108
2113
|
account.authorityType = exports.CacheAccountType.MSSTS_ACCOUNT_TYPE;
|
|
2109
2114
|
account.clientInfo = clientInfo;
|
|
2110
2115
|
account.homeAccountId = homeAccountId;
|
|
2116
|
+
account.nativeAccountId = nativeAccountId;
|
|
2111
2117
|
var env = environment || (authority && authority.getPreferredCache());
|
|
2112
2118
|
if (!env) {
|
|
2113
2119
|
throw ClientAuthError.createInvalidCacheEnvironmentError();
|
|
@@ -2229,6 +2235,7 @@ var AccountEntity = /** @class */ (function () {
|
|
|
2229
2235
|
(accountA.username === accountB.username) &&
|
|
2230
2236
|
(accountA.tenantId === accountB.tenantId) &&
|
|
2231
2237
|
(accountA.environment === accountB.environment) &&
|
|
2238
|
+
(accountA.nativeAccountId === accountB.nativeAccountId) &&
|
|
2232
2239
|
claimsMatch;
|
|
2233
2240
|
};
|
|
2234
2241
|
return AccountEntity;
|
|
@@ -2636,7 +2643,7 @@ var CacheManager = /** @class */ (function () {
|
|
|
2636
2643
|
});
|
|
2637
2644
|
};
|
|
2638
2645
|
/**
|
|
2639
|
-
*
|
|
2646
|
+
* Removes credentials associated with the provided account
|
|
2640
2647
|
* @param account
|
|
2641
2648
|
*/
|
|
2642
2649
|
CacheManager.prototype.removeAccountContext = function (account) {
|
|
@@ -3556,6 +3563,12 @@ var RequestParameterBuilder = /** @class */ (function () {
|
|
|
3556
3563
|
RequestParameterBuilder.prototype.addResponseTypeCode = function () {
|
|
3557
3564
|
this.parameters.set(AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.CODE_RESPONSE_TYPE));
|
|
3558
3565
|
};
|
|
3566
|
+
/**
|
|
3567
|
+
* add response_type = token id_token
|
|
3568
|
+
*/
|
|
3569
|
+
RequestParameterBuilder.prototype.addResponseTypeForTokenAndIdToken = function () {
|
|
3570
|
+
this.parameters.set(AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.TOKEN_RESPONSE_TYPE + " " + Constants.ID_TOKEN_RESPONSE_TYPE));
|
|
3571
|
+
};
|
|
3559
3572
|
/**
|
|
3560
3573
|
* add response_mode. defaults to query.
|
|
3561
3574
|
* @param responseMode
|
|
@@ -3563,6 +3576,12 @@ var RequestParameterBuilder = /** @class */ (function () {
|
|
|
3563
3576
|
RequestParameterBuilder.prototype.addResponseMode = function (responseMode) {
|
|
3564
3577
|
this.parameters.set(AADServerParamKeys.RESPONSE_MODE, encodeURIComponent((responseMode) ? responseMode : exports.ResponseMode.QUERY));
|
|
3565
3578
|
};
|
|
3579
|
+
/**
|
|
3580
|
+
* Add flag to indicate STS should attempt to use WAM if available
|
|
3581
|
+
*/
|
|
3582
|
+
RequestParameterBuilder.prototype.addNativeBroker = function () {
|
|
3583
|
+
this.parameters.set(AADServerParamKeys.NATIVE_BROKER, encodeURIComponent("1"));
|
|
3584
|
+
};
|
|
3566
3585
|
/**
|
|
3567
3586
|
* add scopes. set addOidcScopes to false to prevent default scopes in non-user scenarios
|
|
3568
3587
|
* @param scopeSet
|
|
@@ -4549,6 +4568,11 @@ var PopTokenGenerator = /** @class */ (function () {
|
|
|
4549
4568
|
function PopTokenGenerator(cryptoUtils) {
|
|
4550
4569
|
this.cryptoUtils = cryptoUtils;
|
|
4551
4570
|
}
|
|
4571
|
+
/**
|
|
4572
|
+
* Generates the req_cnf validated at the RP in the POP protocol for SHR parameters
|
|
4573
|
+
* @param request
|
|
4574
|
+
* @returns
|
|
4575
|
+
*/
|
|
4552
4576
|
PopTokenGenerator.prototype.generateCnf = function (request) {
|
|
4553
4577
|
return __awaiter(this, void 0, void 0, function () {
|
|
4554
4578
|
var reqCnf;
|
|
@@ -4562,6 +4586,23 @@ var PopTokenGenerator = /** @class */ (function () {
|
|
|
4562
4586
|
});
|
|
4563
4587
|
});
|
|
4564
4588
|
};
|
|
4589
|
+
/**
|
|
4590
|
+
* Generates the hash of the req_cnf
|
|
4591
|
+
* @param cnf
|
|
4592
|
+
* @returns
|
|
4593
|
+
*/
|
|
4594
|
+
PopTokenGenerator.prototype.generateCnfHash = function (cnf) {
|
|
4595
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4596
|
+
return __generator(this, function (_a) {
|
|
4597
|
+
return [2 /*return*/, this.cryptoUtils.hashString(cnf)];
|
|
4598
|
+
});
|
|
4599
|
+
});
|
|
4600
|
+
};
|
|
4601
|
+
/**
|
|
4602
|
+
* Generates key_id for a SHR token request
|
|
4603
|
+
* @param request
|
|
4604
|
+
* @returns
|
|
4605
|
+
*/
|
|
4565
4606
|
PopTokenGenerator.prototype.generateKid = function (request) {
|
|
4566
4607
|
return __awaiter(this, void 0, void 0, function () {
|
|
4567
4608
|
var kidThumbprint;
|
|
@@ -4578,6 +4619,12 @@ var PopTokenGenerator = /** @class */ (function () {
|
|
|
4578
4619
|
});
|
|
4579
4620
|
});
|
|
4580
4621
|
};
|
|
4622
|
+
/**
|
|
4623
|
+
* Signs the POP access_token with the local generated key-pair
|
|
4624
|
+
* @param accessToken
|
|
4625
|
+
* @param request
|
|
4626
|
+
* @returns
|
|
4627
|
+
*/
|
|
4581
4628
|
PopTokenGenerator.prototype.signPopToken = function (accessToken, request) {
|
|
4582
4629
|
var _a;
|
|
4583
4630
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -4591,6 +4638,14 @@ var PopTokenGenerator = /** @class */ (function () {
|
|
|
4591
4638
|
});
|
|
4592
4639
|
});
|
|
4593
4640
|
};
|
|
4641
|
+
/**
|
|
4642
|
+
* Utility function to generate the signed JWT for an access_token
|
|
4643
|
+
* @param payload
|
|
4644
|
+
* @param kid
|
|
4645
|
+
* @param request
|
|
4646
|
+
* @param claims
|
|
4647
|
+
* @returns
|
|
4648
|
+
*/
|
|
4594
4649
|
PopTokenGenerator.prototype.signPayload = function (payload, kid, request, claims) {
|
|
4595
4650
|
return __awaiter(this, void 0, void 0, function () {
|
|
4596
4651
|
var resourceRequestMethod, resourceRequestUri, shrClaims, shrNonce, resourceUrlString, resourceUrlComponents;
|
|
@@ -4966,7 +5021,8 @@ var ResponseHandler = /** @class */ (function () {
|
|
|
4966
5021
|
state: requestState ? requestState.userRequestState : Constants.EMPTY_STRING,
|
|
4967
5022
|
cloudGraphHostName: ((_b = cacheRecord.account) === null || _b === void 0 ? void 0 : _b.cloudGraphHostName) || Constants.EMPTY_STRING,
|
|
4968
5023
|
msGraphHost: ((_c = cacheRecord.account) === null || _c === void 0 ? void 0 : _c.msGraphHost) || Constants.EMPTY_STRING,
|
|
4969
|
-
code: code
|
|
5024
|
+
code: code,
|
|
5025
|
+
fromNativeBroker: false
|
|
4970
5026
|
}];
|
|
4971
5027
|
}
|
|
4972
5028
|
});
|
|
@@ -5004,8 +5060,12 @@ var AuthorizationCodeClient = /** @class */ (function (_super) {
|
|
|
5004
5060
|
return __awaiter(this, void 0, void 0, function () {
|
|
5005
5061
|
var queryString;
|
|
5006
5062
|
return __generator(this, function (_a) {
|
|
5007
|
-
|
|
5008
|
-
|
|
5063
|
+
switch (_a.label) {
|
|
5064
|
+
case 0: return [4 /*yield*/, this.createAuthCodeUrlQueryString(request)];
|
|
5065
|
+
case 1:
|
|
5066
|
+
queryString = _a.sent();
|
|
5067
|
+
return [2 /*return*/, UrlString.appendQueryString(this.authority.authorizationEndpoint, queryString)];
|
|
5068
|
+
}
|
|
5009
5069
|
});
|
|
5010
5070
|
});
|
|
5011
5071
|
};
|
|
@@ -5255,96 +5315,116 @@ var AuthorizationCodeClient = /** @class */ (function (_super) {
|
|
|
5255
5315
|
* @param request
|
|
5256
5316
|
*/
|
|
5257
5317
|
AuthorizationCodeClient.prototype.createAuthCodeUrlQueryString = function (request) {
|
|
5258
|
-
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5277
|
-
|
|
5278
|
-
|
|
5279
|
-
|
|
5280
|
-
|
|
5281
|
-
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5323
|
-
|
|
5318
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
5319
|
+
var parameterBuilder, requestScopes, correlationId, accountSid, clientInfo, clientInfo, popTokenGenerator, cnf, cnfHash;
|
|
5320
|
+
return __generator(this, function (_a) {
|
|
5321
|
+
switch (_a.label) {
|
|
5322
|
+
case 0:
|
|
5323
|
+
parameterBuilder = new RequestParameterBuilder();
|
|
5324
|
+
parameterBuilder.addClientId(this.config.authOptions.clientId);
|
|
5325
|
+
requestScopes = __spreadArrays(request.scopes || [], request.extraScopesToConsent || []);
|
|
5326
|
+
parameterBuilder.addScopes(requestScopes);
|
|
5327
|
+
// validate the redirectUri (to be a non null value)
|
|
5328
|
+
parameterBuilder.addRedirectUri(request.redirectUri);
|
|
5329
|
+
correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();
|
|
5330
|
+
parameterBuilder.addCorrelationId(correlationId);
|
|
5331
|
+
// add response_mode. If not passed in it defaults to query.
|
|
5332
|
+
parameterBuilder.addResponseMode(request.responseMode);
|
|
5333
|
+
// add response_type = code
|
|
5334
|
+
parameterBuilder.addResponseTypeCode();
|
|
5335
|
+
// add library info parameters
|
|
5336
|
+
parameterBuilder.addLibraryInfo(this.config.libraryInfo);
|
|
5337
|
+
parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);
|
|
5338
|
+
// add client_info=1
|
|
5339
|
+
parameterBuilder.addClientInfo();
|
|
5340
|
+
if (request.codeChallenge && request.codeChallengeMethod) {
|
|
5341
|
+
parameterBuilder.addCodeChallengeParams(request.codeChallenge, request.codeChallengeMethod);
|
|
5342
|
+
}
|
|
5343
|
+
if (request.prompt) {
|
|
5344
|
+
parameterBuilder.addPrompt(request.prompt);
|
|
5345
|
+
}
|
|
5346
|
+
if (request.domainHint) {
|
|
5347
|
+
parameterBuilder.addDomainHint(request.domainHint);
|
|
5348
|
+
}
|
|
5349
|
+
// Add sid or loginHint with preference for sid -> loginHint -> username of AccountInfo object
|
|
5350
|
+
if (request.prompt !== PromptValue.SELECT_ACCOUNT) {
|
|
5351
|
+
// AAD will throw if prompt=select_account is passed with an account hint
|
|
5352
|
+
if (request.sid && request.prompt === PromptValue.NONE) {
|
|
5353
|
+
// SessionID is only used in silent calls
|
|
5354
|
+
this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from request");
|
|
5355
|
+
parameterBuilder.addSid(request.sid);
|
|
5356
|
+
}
|
|
5357
|
+
else if (request.account) {
|
|
5358
|
+
accountSid = this.extractAccountSid(request.account);
|
|
5359
|
+
// If account and loginHint are provided, we will check account first for sid before adding loginHint
|
|
5360
|
+
if (accountSid && request.prompt === PromptValue.NONE) {
|
|
5361
|
+
// SessionId is only used in silent calls
|
|
5362
|
+
this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from account");
|
|
5363
|
+
parameterBuilder.addSid(accountSid);
|
|
5364
|
+
try {
|
|
5365
|
+
clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);
|
|
5366
|
+
parameterBuilder.addCcsOid(clientInfo);
|
|
5367
|
+
}
|
|
5368
|
+
catch (e) {
|
|
5369
|
+
this.logger.verbose("Could not parse home account ID for CCS Header: " + e);
|
|
5370
|
+
}
|
|
5371
|
+
}
|
|
5372
|
+
else if (request.loginHint) {
|
|
5373
|
+
this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from request");
|
|
5374
|
+
parameterBuilder.addLoginHint(request.loginHint);
|
|
5375
|
+
parameterBuilder.addCcsUpn(request.loginHint);
|
|
5376
|
+
}
|
|
5377
|
+
else if (request.account.username) {
|
|
5378
|
+
// Fallback to account username if provided
|
|
5379
|
+
this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from account");
|
|
5380
|
+
parameterBuilder.addLoginHint(request.account.username);
|
|
5381
|
+
try {
|
|
5382
|
+
clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);
|
|
5383
|
+
parameterBuilder.addCcsOid(clientInfo);
|
|
5384
|
+
}
|
|
5385
|
+
catch (e) {
|
|
5386
|
+
this.logger.verbose("Could not parse home account ID for CCS Header: " + e);
|
|
5387
|
+
}
|
|
5388
|
+
}
|
|
5389
|
+
}
|
|
5390
|
+
else if (request.loginHint) {
|
|
5391
|
+
this.logger.verbose("createAuthCodeUrlQueryString: No account, adding login_hint from request");
|
|
5392
|
+
parameterBuilder.addLoginHint(request.loginHint);
|
|
5393
|
+
parameterBuilder.addCcsUpn(request.loginHint);
|
|
5394
|
+
}
|
|
5395
|
+
}
|
|
5396
|
+
else {
|
|
5397
|
+
this.logger.verbose("createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints");
|
|
5398
|
+
}
|
|
5399
|
+
if (request.nonce) {
|
|
5400
|
+
parameterBuilder.addNonce(request.nonce);
|
|
5401
|
+
}
|
|
5402
|
+
if (request.state) {
|
|
5403
|
+
parameterBuilder.addState(request.state);
|
|
5404
|
+
}
|
|
5405
|
+
if (!StringUtils.isEmpty(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
|
|
5406
|
+
parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);
|
|
5407
|
+
}
|
|
5408
|
+
if (request.extraQueryParameters) {
|
|
5409
|
+
parameterBuilder.addExtraQueryParameters(request.extraQueryParameters);
|
|
5410
|
+
}
|
|
5411
|
+
if (!request.nativeBroker) return [3 /*break*/, 3];
|
|
5412
|
+
// signal ests that this is a WAM call
|
|
5413
|
+
parameterBuilder.addNativeBroker();
|
|
5414
|
+
if (!(request.authenticationScheme === exports.AuthenticationScheme.POP)) return [3 /*break*/, 3];
|
|
5415
|
+
popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);
|
|
5416
|
+
return [4 /*yield*/, popTokenGenerator.generateCnf(request)];
|
|
5417
|
+
case 1:
|
|
5418
|
+
cnf = _a.sent();
|
|
5419
|
+
return [4 /*yield*/, popTokenGenerator.generateCnfHash(cnf)];
|
|
5420
|
+
case 2:
|
|
5421
|
+
cnfHash = _a.sent();
|
|
5422
|
+
parameterBuilder.addPopToken(cnfHash);
|
|
5423
|
+
_a.label = 3;
|
|
5424
|
+
case 3: return [2 /*return*/, parameterBuilder.createQueryString()];
|
|
5324
5425
|
}
|
|
5325
|
-
}
|
|
5326
|
-
|
|
5327
|
-
this.logger.verbose("createAuthCodeUrlQueryString: No account, adding login_hint from request");
|
|
5328
|
-
parameterBuilder.addLoginHint(request.loginHint);
|
|
5329
|
-
parameterBuilder.addCcsUpn(request.loginHint);
|
|
5330
|
-
}
|
|
5331
|
-
}
|
|
5332
|
-
else {
|
|
5333
|
-
this.logger.verbose("createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints");
|
|
5334
|
-
}
|
|
5335
|
-
if (request.nonce) {
|
|
5336
|
-
parameterBuilder.addNonce(request.nonce);
|
|
5337
|
-
}
|
|
5338
|
-
if (request.state) {
|
|
5339
|
-
parameterBuilder.addState(request.state);
|
|
5340
|
-
}
|
|
5341
|
-
if (!StringUtils.isEmpty(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
|
|
5342
|
-
parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);
|
|
5343
|
-
}
|
|
5344
|
-
if (request.extraQueryParameters) {
|
|
5345
|
-
parameterBuilder.addExtraQueryParameters(request.extraQueryParameters);
|
|
5346
|
-
}
|
|
5347
|
-
return parameterBuilder.createQueryString();
|
|
5426
|
+
});
|
|
5427
|
+
});
|
|
5348
5428
|
};
|
|
5349
5429
|
/**
|
|
5350
5430
|
* This API validates the `EndSessionRequest` and creates a URL
|
|
@@ -6364,6 +6444,7 @@ var UsernamePasswordClient = /** @class */ (function (_super) {
|
|
|
6364
6444
|
parameterBuilder.addUsername(request.username);
|
|
6365
6445
|
parameterBuilder.addPassword(request.password);
|
|
6366
6446
|
parameterBuilder.addScopes(request.scopes);
|
|
6447
|
+
parameterBuilder.addResponseTypeForTokenAndIdToken();
|
|
6367
6448
|
parameterBuilder.addGrantType(GrantType.RESOURCE_OWNER_PASSWORD_GRANT);
|
|
6368
6449
|
parameterBuilder.addClientInfo();
|
|
6369
6450
|
parameterBuilder.addLibraryInfo(this.config.libraryInfo);
|
|
@@ -7584,6 +7665,11 @@ exports.PerformanceEvents = void 0;
|
|
|
7584
7665
|
* Internal API for acquireTokenSilent.
|
|
7585
7666
|
*/
|
|
7586
7667
|
PerformanceEvents["AcquireTokenSilentAsync"] = "acquireTokenSilentAsync";
|
|
7668
|
+
/**
|
|
7669
|
+
* acquireTokenPopup (msal-browser).
|
|
7670
|
+
* Used to acquire a new access token interactively through pop ups
|
|
7671
|
+
*/
|
|
7672
|
+
PerformanceEvents["AcquireTokenPopup"] = "acquireTokenPopup";
|
|
7587
7673
|
/**
|
|
7588
7674
|
* getPublicKeyThumbprint API in CryptoOpts class (msal-browser).
|
|
7589
7675
|
* Used to generate a public/private keypair and generate a public key thumbprint for pop requests.
|
|
@@ -7619,6 +7705,16 @@ exports.PerformanceEvents = void 0;
|
|
|
7619
7705
|
* Used to load authority metadata for a request.
|
|
7620
7706
|
*/
|
|
7621
7707
|
PerformanceEvents["StandardInteractionClientGetDiscoveredAuthority"] = "standardInteractionClientGetDiscoveredAuthority";
|
|
7708
|
+
/**
|
|
7709
|
+
* acquireToken APIs in msal-browser.
|
|
7710
|
+
* Used to make an /authorize endpoint call with native brokering enabled.
|
|
7711
|
+
*/
|
|
7712
|
+
PerformanceEvents["FetchAccountIdWithNativeBroker"] = "fetchAccountIdWithNativeBroker";
|
|
7713
|
+
/**
|
|
7714
|
+
* acquireToken API in NativeInteractionClient class (msal-browser).
|
|
7715
|
+
* Used to acquire a token from Native component when native brokering is enabled.
|
|
7716
|
+
*/
|
|
7717
|
+
PerformanceEvents["NativeInteractionClientAcquireToken"] = "nativeInteractionClientAcquireToken";
|
|
7622
7718
|
})(exports.PerformanceEvents || (exports.PerformanceEvents = {}));
|
|
7623
7719
|
/**
|
|
7624
7720
|
* State of the performance event.
|