@azure/msal-common 9.0.1 → 9.0.2

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.
Files changed (100) hide show
  1. package/dist/_virtual/_tslib.js +1 -1
  2. package/dist/account/AuthToken.js +1 -1
  3. package/dist/account/CcsCredential.js +1 -1
  4. package/dist/account/ClientInfo.js +1 -1
  5. package/dist/authority/Authority.js +1 -1
  6. package/dist/authority/AuthorityFactory.js +1 -1
  7. package/dist/authority/AuthorityMetadata.js +1 -1
  8. package/dist/authority/AuthorityOptions.js +1 -1
  9. package/dist/authority/AuthorityType.js +1 -1
  10. package/dist/authority/CloudInstanceDiscoveryErrorResponse.js +1 -1
  11. package/dist/authority/CloudInstanceDiscoveryResponse.js +1 -1
  12. package/dist/authority/OpenIdConfigResponse.js +1 -1
  13. package/dist/authority/ProtocolMode.js +1 -1
  14. package/dist/authority/RegionDiscovery.js +1 -1
  15. package/dist/cache/CacheManager.js +1 -1
  16. package/dist/cache/entities/AccessTokenEntity.js +1 -1
  17. package/dist/cache/entities/AccountEntity.js +1 -1
  18. package/dist/cache/entities/AppMetadataEntity.js +1 -1
  19. package/dist/cache/entities/AuthorityMetadataEntity.js +1 -1
  20. package/dist/cache/entities/CacheRecord.js +1 -1
  21. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  22. package/dist/cache/entities/CredentialEntity.js +10 -13
  23. package/dist/cache/entities/CredentialEntity.js.map +1 -1
  24. package/dist/cache/entities/IdTokenEntity.js +1 -1
  25. package/dist/cache/entities/RefreshTokenEntity.js +1 -1
  26. package/dist/cache/entities/ServerTelemetryEntity.js +1 -1
  27. package/dist/cache/entities/ThrottlingEntity.js +1 -1
  28. package/dist/cache/persistence/TokenCacheContext.js +1 -1
  29. package/dist/client/AuthorizationCodeClient.d.ts +2 -1
  30. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  31. package/dist/client/AuthorizationCodeClient.js +33 -12
  32. package/dist/client/AuthorizationCodeClient.js.map +1 -1
  33. package/dist/client/BaseClient.d.ts.map +1 -1
  34. package/dist/client/BaseClient.js +1 -1
  35. package/dist/client/BaseClient.js.map +1 -1
  36. package/dist/client/ClientCredentialClient.js +1 -1
  37. package/dist/client/DeviceCodeClient.d.ts.map +1 -1
  38. package/dist/client/DeviceCodeClient.js +1 -1
  39. package/dist/client/DeviceCodeClient.js.map +1 -1
  40. package/dist/client/OnBehalfOfClient.js +1 -1
  41. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  42. package/dist/client/RefreshTokenClient.js +14 -8
  43. package/dist/client/RefreshTokenClient.js.map +1 -1
  44. package/dist/client/SilentFlowClient.js +1 -1
  45. package/dist/client/UsernamePasswordClient.d.ts.map +1 -1
  46. package/dist/client/UsernamePasswordClient.js +13 -7
  47. package/dist/client/UsernamePasswordClient.js.map +1 -1
  48. package/dist/config/ClientConfiguration.js +1 -1
  49. package/dist/crypto/ICrypto.js +1 -1
  50. package/dist/crypto/JoseHeader.js +1 -1
  51. package/dist/crypto/PopTokenGenerator.js +1 -1
  52. package/dist/error/AuthError.js +1 -1
  53. package/dist/error/ClientAuthError.js +1 -1
  54. package/dist/error/ClientConfigurationError.js +1 -1
  55. package/dist/error/InteractionRequiredAuthError.js +1 -1
  56. package/dist/error/JoseHeaderError.js +1 -1
  57. package/dist/error/ServerError.js +1 -1
  58. package/dist/index.cjs.js +90 -44
  59. package/dist/index.cjs.js.map +1 -1
  60. package/dist/index.js +1 -1
  61. package/dist/logger/Logger.d.ts +1 -0
  62. package/dist/logger/Logger.d.ts.map +1 -1
  63. package/dist/logger/Logger.js +15 -5
  64. package/dist/logger/Logger.js.map +1 -1
  65. package/dist/network/INetworkModule.js +1 -1
  66. package/dist/network/NetworkManager.js +1 -1
  67. package/dist/network/ThrottlingUtils.js +1 -1
  68. package/dist/packageMetadata.d.ts +1 -1
  69. package/dist/packageMetadata.js +2 -2
  70. package/dist/packageMetadata.js.map +1 -1
  71. package/dist/request/AuthenticationHeaderParser.js +1 -1
  72. package/dist/request/RequestParameterBuilder.js +1 -1
  73. package/dist/request/RequestValidator.js +1 -1
  74. package/dist/request/ScopeSet.js +1 -1
  75. package/dist/response/ResponseHandler.js +2 -2
  76. package/dist/response/ResponseHandler.js.map +1 -1
  77. package/dist/telemetry/performance/IPerformanceClient.d.ts +1 -1
  78. package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
  79. package/dist/telemetry/performance/PerformanceClient.d.ts +1 -1
  80. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  81. package/dist/telemetry/performance/PerformanceClient.js +2 -2
  82. package/dist/telemetry/performance/PerformanceClient.js.map +1 -1
  83. package/dist/telemetry/performance/PerformanceEvent.d.ts +8 -1
  84. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  85. package/dist/telemetry/performance/PerformanceEvent.js +6 -1
  86. package/dist/telemetry/performance/PerformanceEvent.js.map +1 -1
  87. package/dist/telemetry/performance/StubPerformanceClient.d.ts +1 -1
  88. package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
  89. package/dist/telemetry/performance/StubPerformanceClient.js +2 -2
  90. package/dist/telemetry/performance/StubPerformanceClient.js.map +1 -1
  91. package/dist/telemetry/server/ServerTelemetryManager.js +1 -1
  92. package/dist/url/UrlString.js +1 -1
  93. package/dist/utils/Constants.d.ts +2 -1
  94. package/dist/utils/Constants.d.ts.map +1 -1
  95. package/dist/utils/Constants.js +2 -1
  96. package/dist/utils/Constants.js.map +1 -1
  97. package/dist/utils/ProtocolUtils.js +1 -1
  98. package/dist/utils/StringUtils.js +1 -1
  99. package/dist/utils/TimeUtils.js +1 -1
  100. package/package.json +1 -1
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v9.0.1 2022-12-07 */
1
+ /*! @azure/msal-common v9.0.2 2023-01-09 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
@@ -164,6 +164,7 @@ exports.HeaderNames = void 0;
164
164
  HeaderNames["WWWAuthenticate"] = "WWW-Authenticate";
165
165
  HeaderNames["AuthenticationInfo"] = "Authentication-Info";
166
166
  HeaderNames["X_MS_REQUEST_ID"] = "x-ms-request-id";
167
+ HeaderNames["X_MS_HTTP_VERSION"] = "x-ms-httpver";
167
168
  })(exports.HeaderNames || (exports.HeaderNames = {}));
168
169
  /**
169
170
  * Persistent cache keys MSAL which stay while user is logged in.
@@ -1256,13 +1257,23 @@ var Logger = /** @class */ (function () {
1256
1257
  var defaultLoggerCallback = function () {
1257
1258
  return;
1258
1259
  };
1259
- this.localCallback = loggerOptions.loggerCallback || defaultLoggerCallback;
1260
- this.piiLoggingEnabled = loggerOptions.piiLoggingEnabled || false;
1261
- this.level = typeof (loggerOptions.logLevel) === "number" ? loggerOptions.logLevel : exports.LogLevel.Info;
1262
- this.correlationId = loggerOptions.correlationId || Constants.EMPTY_STRING;
1260
+ var setLoggerOptions = loggerOptions || Logger.createDefaultLoggerOptions();
1261
+ this.localCallback = setLoggerOptions.loggerCallback || defaultLoggerCallback;
1262
+ this.piiLoggingEnabled = setLoggerOptions.piiLoggingEnabled || false;
1263
+ this.level = typeof (setLoggerOptions.logLevel) === "number" ? setLoggerOptions.logLevel : exports.LogLevel.Info;
1264
+ this.correlationId = setLoggerOptions.correlationId || Constants.EMPTY_STRING;
1263
1265
  this.packageName = packageName || Constants.EMPTY_STRING;
1264
1266
  this.packageVersion = packageVersion || Constants.EMPTY_STRING;
1265
1267
  }
1268
+ Logger.createDefaultLoggerOptions = function () {
1269
+ return {
1270
+ loggerCallback: function () {
1271
+ // allow users to not set loggerCallback
1272
+ },
1273
+ piiLoggingEnabled: false,
1274
+ logLevel: exports.LogLevel.Info
1275
+ };
1276
+ };
1266
1277
  /**
1267
1278
  * Create new Logger with existing configurations.
1268
1279
  */
@@ -1411,7 +1422,7 @@ var Logger = /** @class */ (function () {
1411
1422
 
1412
1423
  /* eslint-disable header/header */
1413
1424
  var name = "@azure/msal-common";
1414
- var version = "9.0.1";
1425
+ var version = "9.0.2";
1415
1426
 
1416
1427
  /*
1417
1428
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1508,19 +1519,16 @@ var CredentialEntity = /** @class */ (function () {
1508
1519
  * @param key
1509
1520
  */
1510
1521
  CredentialEntity.getCredentialType = function (key) {
1511
- // First keyword search will match all "AccessToken" and "AccessToken_With_AuthScheme" credentials
1512
- if (key.indexOf(exports.CredentialType.ACCESS_TOKEN.toLowerCase()) !== -1) {
1513
- // Perform second search to differentiate between "AccessToken" and "AccessToken_With_AuthScheme" credential types
1514
- if (key.indexOf(exports.CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()) !== -1) {
1515
- return exports.CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;
1522
+ var separator = Separators.CACHE_KEY_SEPARATOR;
1523
+ // Match host names like "login.microsoftonline.com", "https://accounts.google.com:4000", etc.
1524
+ var domainRe = "(https?:\\/\\/)?([\\w-]+\\.)*([\\w-]{1,63})(\\.(\\w{2,3}))(\\:[0-9]{4,5})?";
1525
+ for (var _i = 0, _a = Object.keys(exports.CredentialType); _i < _a.length; _i++) {
1526
+ var credKey = _a[_i];
1527
+ var credVal = exports.CredentialType[credKey].toLowerCase();
1528
+ // Verify credential type is preceded by a valid host name (environment)
1529
+ if (key.toLowerCase().search("(?<=" + separator + domainRe + ")" + separator + credVal + separator) !== -1) {
1530
+ return exports.CredentialType[credKey];
1516
1531
  }
1517
- return exports.CredentialType.ACCESS_TOKEN;
1518
- }
1519
- else if (key.indexOf(exports.CredentialType.ID_TOKEN.toLowerCase()) !== -1) {
1520
- return exports.CredentialType.ID_TOKEN;
1521
- }
1522
- else if (key.indexOf(exports.CredentialType.REFRESH_TOKEN.toLowerCase()) !== -1) {
1523
- return exports.CredentialType.REFRESH_TOKEN;
1524
1532
  }
1525
1533
  return Constants.NOT_DEFINED;
1526
1534
  };
@@ -5197,7 +5205,7 @@ var ResponseHandler = /** @class */ (function () {
5197
5205
  cloudGraphHostName: ((_b = cacheRecord.account) === null || _b === void 0 ? void 0 : _b.cloudGraphHostName) || Constants.EMPTY_STRING,
5198
5206
  msGraphHost: ((_c = cacheRecord.account) === null || _c === void 0 ? void 0 : _c.msGraphHost) || Constants.EMPTY_STRING,
5199
5207
  code: code,
5200
- fromNativeBroker: false
5208
+ fromNativeBroker: false,
5201
5209
  }];
5202
5210
  }
5203
5211
  });
@@ -5215,8 +5223,8 @@ var ResponseHandler = /** @class */ (function () {
5215
5223
  */
5216
5224
  var AuthorizationCodeClient = /** @class */ (function (_super) {
5217
5225
  __extends(AuthorizationCodeClient, _super);
5218
- function AuthorizationCodeClient(configuration) {
5219
- var _this = _super.call(this, configuration) || this;
5226
+ function AuthorizationCodeClient(configuration, performanceClient) {
5227
+ var _this = _super.call(this, configuration, performanceClient) || this;
5220
5228
  // Flag to indicate if client is for hybrid spa auth code redemption
5221
5229
  _this.includeRedirectUri = true;
5222
5230
  return _this;
@@ -5250,26 +5258,47 @@ var AuthorizationCodeClient = /** @class */ (function (_super) {
5250
5258
  * @param request
5251
5259
  */
5252
5260
  AuthorizationCodeClient.prototype.acquireToken = function (request, authCodePayload) {
5253
- var _a;
5261
+ var _a, _b, _c;
5254
5262
  return __awaiter(this, void 0, void 0, function () {
5255
- var reqTimestamp, response, requestId, responseHandler;
5256
- return __generator(this, function (_b) {
5257
- switch (_b.label) {
5263
+ var atsMeasurement, reqTimestamp, response, requestId, httpVerAuthority, responseHandler;
5264
+ var _this = this;
5265
+ return __generator(this, function (_d) {
5266
+ switch (_d.label) {
5258
5267
  case 0:
5259
- this.logger.info("in acquireToken call");
5268
+ atsMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement("AuthCodeClientAcquireToken", request.correlationId);
5269
+ this.logger.info("in acquireToken call in auth-code client");
5260
5270
  if (!request || StringUtils.isEmpty(request.code)) {
5261
5271
  throw ClientAuthError.createTokenRequestCannotBeMadeError();
5262
5272
  }
5263
5273
  reqTimestamp = TimeUtils.nowSeconds();
5264
5274
  return [4 /*yield*/, this.executeTokenRequest(this.authority, request)];
5265
5275
  case 1:
5266
- response = _b.sent();
5267
- requestId = (_a = response.headers) === null || _a === void 0 ? void 0 : _a[exports.HeaderNames.X_MS_REQUEST_ID];
5276
+ response = _d.sent();
5277
+ requestId = (_b = response.headers) === null || _b === void 0 ? void 0 : _b[exports.HeaderNames.X_MS_REQUEST_ID];
5278
+ httpVerAuthority = (_c = response.headers) === null || _c === void 0 ? void 0 : _c[exports.HeaderNames.X_MS_HTTP_VERSION];
5279
+ if (httpVerAuthority) {
5280
+ atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.addStaticFields({
5281
+ httpVerAuthority: httpVerAuthority
5282
+ });
5283
+ }
5268
5284
  responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin);
5269
5285
  // Validate response. This function throws a server error if an error is returned by the server.
5270
5286
  responseHandler.validateTokenResponse(response.body);
5271
- return [4 /*yield*/, responseHandler.handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, authCodePayload, undefined, undefined, undefined, requestId)];
5272
- case 2: return [2 /*return*/, _b.sent()];
5287
+ return [2 /*return*/, responseHandler.handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, authCodePayload, undefined, undefined, undefined, requestId).then(function (result) {
5288
+ atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.endMeasurement({
5289
+ success: true
5290
+ });
5291
+ return result;
5292
+ })
5293
+ .catch(function (error) {
5294
+ _this.logger.verbose("Error in fetching token in ACC", request.correlationId);
5295
+ atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.endMeasurement({
5296
+ errorCode: error.errorCode,
5297
+ subErrorCode: error.subError,
5298
+ success: false
5299
+ });
5300
+ throw error;
5301
+ })];
5273
5302
  }
5274
5303
  });
5275
5304
  });
@@ -5985,6 +6014,11 @@ exports.PerformanceEvents = void 0;
5985
6014
  * Time taken for acquiring cached refresh token
5986
6015
  */
5987
6016
  PerformanceEvents["RefreshTokenClientAcquireTokenWithCachedRefreshToken"] = "refreshTokenClientAcquireTokenWithCachedRefreshToken";
6017
+ PerformanceEvents["GetEndpointMetadataFromNetwork"] = "getEndpointMetadataFromNetwork";
6018
+ PerformanceEvents["GetCloudDiscoveryMetadataFromNetworkMeasurement"] = "getCloudDiscoveryMetadataFromNetworkMeasurement";
6019
+ PerformanceEvents["HandleRedirectPromiseMeasurement"] = "handleRedirectPromiseMeasurement";
6020
+ PerformanceEvents["UpdateCloudDiscoveryMetadataMeasurement"] = "updateCloudDiscoveryMetadataMeasurement";
6021
+ PerformanceEvents["UsernamePasswordClientAcquireToken"] = "usernamePasswordClientAcquireToken";
5988
6022
  })(exports.PerformanceEvents || (exports.PerformanceEvents = {}));
5989
6023
  /**
5990
6024
  * State of the performance event.
@@ -6012,23 +6046,29 @@ var RefreshTokenClient = /** @class */ (function (_super) {
6012
6046
  return _super.call(this, configuration, performanceClient) || this;
6013
6047
  }
6014
6048
  RefreshTokenClient.prototype.acquireToken = function (request) {
6015
- var _a, _b, _c;
6049
+ var _a, _b, _c, _d;
6016
6050
  return __awaiter(this, void 0, void 0, function () {
6017
- var atsMeasurement, reqTimestamp, response, requestId, responseHandler;
6051
+ var atsMeasurement, reqTimestamp, response, httpVerToken, requestId, responseHandler;
6018
6052
  var _this = this;
6019
- return __generator(this, function (_d) {
6020
- switch (_d.label) {
6053
+ return __generator(this, function (_e) {
6054
+ switch (_e.label) {
6021
6055
  case 0:
6022
6056
  atsMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(exports.PerformanceEvents.RefreshTokenClientAcquireToken, request.correlationId);
6023
6057
  this.logger.verbose("RefreshTokenClientAcquireToken called", request.correlationId);
6024
6058
  reqTimestamp = TimeUtils.nowSeconds();
6025
6059
  return [4 /*yield*/, this.executeTokenRequest(request, this.authority)];
6026
6060
  case 1:
6027
- response = _d.sent();
6061
+ response = _e.sent();
6062
+ httpVerToken = (_b = response.headers) === null || _b === void 0 ? void 0 : _b[exports.HeaderNames.X_MS_HTTP_VERSION];
6028
6063
  atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.addStaticFields({
6029
- refreshTokenSize: ((_b = response.body.refresh_token) === null || _b === void 0 ? void 0 : _b.length) || 0
6064
+ refreshTokenSize: ((_c = response.body.refresh_token) === null || _c === void 0 ? void 0 : _c.length) || 0,
6030
6065
  });
6031
- requestId = (_c = response.headers) === null || _c === void 0 ? void 0 : _c[exports.HeaderNames.X_MS_REQUEST_ID];
6066
+ if (httpVerToken) {
6067
+ atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.addStaticFields({
6068
+ httpVerToken: httpVerToken,
6069
+ });
6070
+ }
6071
+ requestId = (_d = response.headers) === null || _d === void 0 ? void 0 : _d[exports.HeaderNames.X_MS_REQUEST_ID];
6032
6072
  responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin);
6033
6073
  responseHandler.validateTokenResponse(response.body);
6034
6074
  return [2 /*return*/, responseHandler.handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, undefined, undefined, true, request.forceCache, requestId).then(function (result) {
@@ -6821,16 +6861,22 @@ var UsernamePasswordClient = /** @class */ (function (_super) {
6821
6861
  * @param request
6822
6862
  */
6823
6863
  UsernamePasswordClient.prototype.acquireToken = function (request) {
6864
+ var _a, _b;
6824
6865
  return __awaiter(this, void 0, void 0, function () {
6825
- var reqTimestamp, response, responseHandler, tokenResponse;
6826
- return __generator(this, function (_a) {
6827
- switch (_a.label) {
6866
+ var atsMeasurement, reqTimestamp, response, httpVerToken, responseHandler, tokenResponse;
6867
+ return __generator(this, function (_c) {
6868
+ switch (_c.label) {
6828
6869
  case 0:
6829
- this.logger.info("in acquireToken call");
6870
+ atsMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement("UsernamePasswordClientAcquireToken", request.correlationId);
6871
+ this.logger.info("in acquireToken call in username-password client");
6830
6872
  reqTimestamp = TimeUtils.nowSeconds();
6831
6873
  return [4 /*yield*/, this.executeTokenRequest(this.authority, request)];
6832
6874
  case 1:
6833
- response = _a.sent();
6875
+ response = _c.sent();
6876
+ httpVerToken = (_b = response.headers) === null || _b === void 0 ? void 0 : _b[exports.HeaderNames.X_MS_HTTP_VERSION];
6877
+ atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.addStaticFields({
6878
+ httpVerToken: httpVerToken
6879
+ });
6834
6880
  responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin);
6835
6881
  // Validate response. This function throws a server error if an error is returned by the server.
6836
6882
  responseHandler.validateTokenResponse(response.body);
@@ -8345,7 +8391,7 @@ var PerformanceClient = /** @class */ (function () {
8345
8391
  this.logger.info("PerformanceClient: No correlation id provided for " + measureName + ", generating", eventCorrelationId);
8346
8392
  }
8347
8393
  this.logger.trace("PerformanceClient: Performance measurement started for " + measureName, eventCorrelationId);
8348
- var performanceMeasurement = this.startPerformanceMeasuremeant(measureName, eventCorrelationId);
8394
+ var performanceMeasurement = this.startPerformanceMeasurement(measureName, eventCorrelationId);
8349
8395
  performanceMeasurement.startMeasurement();
8350
8396
  var inProgressEvent = {
8351
8397
  eventId: this.generateId(),
@@ -8618,7 +8664,7 @@ var StubPerformanceClient = /** @class */ (function (_super) {
8618
8664
  StubPerformanceClient.prototype.generateId = function () {
8619
8665
  return "callback-id";
8620
8666
  };
8621
- StubPerformanceClient.prototype.startPerformanceMeasuremeant = function () {
8667
+ StubPerformanceClient.prototype.startPerformanceMeasurement = function () {
8622
8668
  return new StubPerformanceMeasurement();
8623
8669
  };
8624
8670
  return StubPerformanceClient;