@azure/msal-common 9.0.2 → 9.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +62 -62
  3. package/dist/_virtual/_tslib.js +1 -1
  4. package/dist/account/AuthToken.js +1 -1
  5. package/dist/account/AuthToken.js.map +1 -1
  6. package/dist/account/CcsCredential.js +1 -1
  7. package/dist/account/CcsCredential.js.map +1 -1
  8. package/dist/account/ClientInfo.js +1 -1
  9. package/dist/account/ClientInfo.js.map +1 -1
  10. package/dist/authority/Authority.js +1 -1
  11. package/dist/authority/Authority.js.map +1 -1
  12. package/dist/authority/AuthorityFactory.js +1 -1
  13. package/dist/authority/AuthorityFactory.js.map +1 -1
  14. package/dist/authority/AuthorityMetadata.js +1 -1
  15. package/dist/authority/AuthorityMetadata.js.map +1 -1
  16. package/dist/authority/AuthorityOptions.js +1 -1
  17. package/dist/authority/AuthorityOptions.js.map +1 -1
  18. package/dist/authority/AuthorityType.js +1 -1
  19. package/dist/authority/AuthorityType.js.map +1 -1
  20. package/dist/authority/CloudInstanceDiscoveryErrorResponse.js +1 -1
  21. package/dist/authority/CloudInstanceDiscoveryErrorResponse.js.map +1 -1
  22. package/dist/authority/CloudInstanceDiscoveryResponse.js +1 -1
  23. package/dist/authority/CloudInstanceDiscoveryResponse.js.map +1 -1
  24. package/dist/authority/OpenIdConfigResponse.js +1 -1
  25. package/dist/authority/OpenIdConfigResponse.js.map +1 -1
  26. package/dist/authority/ProtocolMode.js +1 -1
  27. package/dist/authority/ProtocolMode.js.map +1 -1
  28. package/dist/authority/RegionDiscovery.js +1 -1
  29. package/dist/authority/RegionDiscovery.js.map +1 -1
  30. package/dist/cache/CacheManager.js +1 -1
  31. package/dist/cache/CacheManager.js.map +1 -1
  32. package/dist/cache/entities/AccessTokenEntity.js +1 -1
  33. package/dist/cache/entities/AccessTokenEntity.js.map +1 -1
  34. package/dist/cache/entities/AccountEntity.js +1 -1
  35. package/dist/cache/entities/AccountEntity.js.map +1 -1
  36. package/dist/cache/entities/AppMetadataEntity.js +1 -1
  37. package/dist/cache/entities/AppMetadataEntity.js.map +1 -1
  38. package/dist/cache/entities/AuthorityMetadataEntity.js +1 -1
  39. package/dist/cache/entities/AuthorityMetadataEntity.js.map +1 -1
  40. package/dist/cache/entities/CacheRecord.js +1 -1
  41. package/dist/cache/entities/CacheRecord.js.map +1 -1
  42. package/dist/cache/entities/CredentialEntity.js +3 -3
  43. package/dist/cache/entities/CredentialEntity.js.map +1 -1
  44. package/dist/cache/entities/IdTokenEntity.js +1 -1
  45. package/dist/cache/entities/IdTokenEntity.js.map +1 -1
  46. package/dist/cache/entities/RefreshTokenEntity.js +1 -1
  47. package/dist/cache/entities/RefreshTokenEntity.js.map +1 -1
  48. package/dist/cache/entities/ServerTelemetryEntity.js +1 -1
  49. package/dist/cache/entities/ServerTelemetryEntity.js.map +1 -1
  50. package/dist/cache/entities/ThrottlingEntity.js +1 -1
  51. package/dist/cache/entities/ThrottlingEntity.js.map +1 -1
  52. package/dist/cache/persistence/TokenCacheContext.js +1 -1
  53. package/dist/cache/persistence/TokenCacheContext.js.map +1 -1
  54. package/dist/client/AuthorizationCodeClient.js +1 -1
  55. package/dist/client/AuthorizationCodeClient.js.map +1 -1
  56. package/dist/client/BaseClient.js +1 -1
  57. package/dist/client/BaseClient.js.map +1 -1
  58. package/dist/client/ClientCredentialClient.js +1 -1
  59. package/dist/client/ClientCredentialClient.js.map +1 -1
  60. package/dist/client/DeviceCodeClient.js +1 -1
  61. package/dist/client/DeviceCodeClient.js.map +1 -1
  62. package/dist/client/OnBehalfOfClient.d.ts.map +1 -1
  63. package/dist/client/OnBehalfOfClient.js +4 -1
  64. package/dist/client/OnBehalfOfClient.js.map +1 -1
  65. package/dist/client/RefreshTokenClient.js +1 -1
  66. package/dist/client/RefreshTokenClient.js.map +1 -1
  67. package/dist/client/SilentFlowClient.js +1 -1
  68. package/dist/client/SilentFlowClient.js.map +1 -1
  69. package/dist/client/UsernamePasswordClient.js +1 -1
  70. package/dist/client/UsernamePasswordClient.js.map +1 -1
  71. package/dist/config/ClientConfiguration.js +1 -1
  72. package/dist/config/ClientConfiguration.js.map +1 -1
  73. package/dist/crypto/ICrypto.js +1 -1
  74. package/dist/crypto/ICrypto.js.map +1 -1
  75. package/dist/crypto/JoseHeader.js +1 -1
  76. package/dist/crypto/JoseHeader.js.map +1 -1
  77. package/dist/crypto/PopTokenGenerator.js +1 -1
  78. package/dist/crypto/PopTokenGenerator.js.map +1 -1
  79. package/dist/error/AuthError.js +1 -1
  80. package/dist/error/AuthError.js.map +1 -1
  81. package/dist/error/ClientAuthError.js +1 -1
  82. package/dist/error/ClientAuthError.js.map +1 -1
  83. package/dist/error/ClientConfigurationError.js +1 -1
  84. package/dist/error/ClientConfigurationError.js.map +1 -1
  85. package/dist/error/InteractionRequiredAuthError.js +1 -1
  86. package/dist/error/InteractionRequiredAuthError.js.map +1 -1
  87. package/dist/error/JoseHeaderError.js +1 -1
  88. package/dist/error/JoseHeaderError.js.map +1 -1
  89. package/dist/error/ServerError.js +1 -1
  90. package/dist/error/ServerError.js.map +1 -1
  91. package/dist/index.cjs.js +89 -11
  92. package/dist/index.cjs.js.map +1 -1
  93. package/dist/index.js +1 -1
  94. package/dist/logger/Logger.js +1 -1
  95. package/dist/logger/Logger.js.map +1 -1
  96. package/dist/network/INetworkModule.js +1 -1
  97. package/dist/network/INetworkModule.js.map +1 -1
  98. package/dist/network/NetworkManager.js +1 -1
  99. package/dist/network/NetworkManager.js.map +1 -1
  100. package/dist/network/ThrottlingUtils.js +1 -1
  101. package/dist/network/ThrottlingUtils.js.map +1 -1
  102. package/dist/packageMetadata.d.ts +1 -1
  103. package/dist/packageMetadata.js +2 -2
  104. package/dist/packageMetadata.js.map +1 -1
  105. package/dist/request/AuthenticationHeaderParser.js +1 -1
  106. package/dist/request/AuthenticationHeaderParser.js.map +1 -1
  107. package/dist/request/RequestParameterBuilder.js +1 -1
  108. package/dist/request/RequestParameterBuilder.js.map +1 -1
  109. package/dist/request/RequestValidator.js +1 -1
  110. package/dist/request/RequestValidator.js.map +1 -1
  111. package/dist/request/ScopeSet.js +1 -1
  112. package/dist/request/ScopeSet.js.map +1 -1
  113. package/dist/response/ResponseHandler.js +1 -1
  114. package/dist/response/ResponseHandler.js.map +1 -1
  115. package/dist/telemetry/performance/IPerformanceClient.d.ts +3 -1
  116. package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
  117. package/dist/telemetry/performance/PerformanceClient.d.ts +32 -7
  118. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  119. package/dist/telemetry/performance/PerformanceClient.js +79 -8
  120. package/dist/telemetry/performance/PerformanceClient.js.map +1 -1
  121. package/dist/telemetry/performance/PerformanceEvent.d.ts +12 -1
  122. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  123. package/dist/telemetry/performance/PerformanceEvent.js +2 -1
  124. package/dist/telemetry/performance/PerformanceEvent.js.map +1 -1
  125. package/dist/telemetry/performance/StubPerformanceClient.d.ts +1 -0
  126. package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
  127. package/dist/telemetry/performance/StubPerformanceClient.js +4 -1
  128. package/dist/telemetry/performance/StubPerformanceClient.js.map +1 -1
  129. package/dist/telemetry/server/ServerTelemetryManager.js +1 -1
  130. package/dist/telemetry/server/ServerTelemetryManager.js.map +1 -1
  131. package/dist/url/UrlString.js +1 -1
  132. package/dist/url/UrlString.js.map +1 -1
  133. package/dist/utils/Constants.js +1 -1
  134. package/dist/utils/Constants.js.map +1 -1
  135. package/dist/utils/ProtocolUtils.js +1 -1
  136. package/dist/utils/ProtocolUtils.js.map +1 -1
  137. package/dist/utils/StringUtils.js +1 -1
  138. package/dist/utils/StringUtils.js.map +1 -1
  139. package/dist/utils/TimeUtils.js +1 -1
  140. package/dist/utils/TimeUtils.js.map +1 -1
  141. package/package.json +1 -1
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v9.0.2 2023-01-09 */
1
+ /*! @azure/msal-common v9.1.1 2023-01-19 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
@@ -1422,7 +1422,7 @@ var Logger = /** @class */ (function () {
1422
1422
 
1423
1423
  /* eslint-disable header/header */
1424
1424
  var name = "@azure/msal-common";
1425
- var version = "9.0.2";
1425
+ var version = "9.1.1";
1426
1426
 
1427
1427
  /*
1428
1428
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1521,12 +1521,12 @@ var CredentialEntity = /** @class */ (function () {
1521
1521
  CredentialEntity.getCredentialType = function (key) {
1522
1522
  var separator = Separators.CACHE_KEY_SEPARATOR;
1523
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})?";
1524
+ var domainRe = "(https?:\\/\\/)?([\\w-]+\\.)*([\\w-]{1,63})(\\.(\\w{2,63}))(\\:[0-9]{4,5})?";
1525
1525
  for (var _i = 0, _a = Object.keys(exports.CredentialType); _i < _a.length; _i++) {
1526
1526
  var credKey = _a[_i];
1527
1527
  var credVal = exports.CredentialType[credKey].toLowerCase();
1528
1528
  // Verify credential type is preceded by a valid host name (environment)
1529
- if (key.toLowerCase().search("(?<=" + separator + domainRe + ")" + separator + credVal + separator) !== -1) {
1529
+ if (key.toLowerCase().search("" + separator + domainRe + separator + credVal + separator) !== -1) {
1530
1530
  return exports.CredentialType[credKey];
1531
1531
  }
1532
1532
  }
@@ -6014,6 +6014,7 @@ exports.PerformanceEvents = void 0;
6014
6014
  * Time taken for acquiring cached refresh token
6015
6015
  */
6016
6016
  PerformanceEvents["RefreshTokenClientAcquireTokenWithCachedRefreshToken"] = "refreshTokenClientAcquireTokenWithCachedRefreshToken";
6017
+ PerformanceEvents["AcquireTokenByCodeAsync"] = "acquireTokenByCodeAsync";
6017
6018
  PerformanceEvents["GetEndpointMetadataFromNetwork"] = "getEndpointMetadataFromNetwork";
6018
6019
  PerformanceEvents["GetCloudDiscoveryMetadataFromNetworkMeasurement"] = "getCloudDiscoveryMetadataFromNetworkMeasurement";
6019
6020
  PerformanceEvents["HandleRedirectPromiseMeasurement"] = "handleRedirectPromiseMeasurement";
@@ -6715,6 +6716,9 @@ var OnBehalfOfClient = /** @class */ (function (_super) {
6715
6716
  parameterBuilder.addClientAssertion(clientAssertion.assertion);
6716
6717
  parameterBuilder.addClientAssertionType(clientAssertion.assertionType);
6717
6718
  }
6719
+ if (request.claims || (this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0)) {
6720
+ parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);
6721
+ }
6718
6722
  return parameterBuilder.createQueryString();
6719
6723
  };
6720
6724
  return OnBehalfOfClient;
@@ -8374,7 +8378,32 @@ var PerformanceClient = /** @class */ (function () {
8374
8378
  this.eventsByCorrelationId = new Map();
8375
8379
  this.staticFieldsByCorrelationId = new Map();
8376
8380
  this.measurementsById = new Map();
8381
+ this.countersByCorrelationId = new Map();
8377
8382
  }
8383
+ /**
8384
+ * Starts and returns an platform-specific implementation of IPerformanceMeasurement.
8385
+ * Note: this function can be changed to abstract at the next major version bump.
8386
+ *
8387
+ * @param {string} measureName
8388
+ * @param {string} correlationId
8389
+ * @returns {IPerformanceMeasurement}
8390
+ */
8391
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
8392
+ PerformanceClient.prototype.startPerformanceMeasurement = function (measureName, correlationId) {
8393
+ return {};
8394
+ };
8395
+ /**
8396
+ * Starts and returns an platform-specific implementation of IPerformanceMeasurement.
8397
+ * Note: this incorrectly-named function will be removed at the next major version bump.
8398
+ *
8399
+ * @param {string} measureName
8400
+ * @param {string} correlationId
8401
+ * @returns {IPerformanceMeasurement}
8402
+ */
8403
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
8404
+ PerformanceClient.prototype.startPerformanceMeasuremeant = function (measureName, correlationId) {
8405
+ return {};
8406
+ };
8378
8407
  /**
8379
8408
  * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.
8380
8409
  *
@@ -8390,9 +8419,19 @@ var PerformanceClient = /** @class */ (function () {
8390
8419
  if (!correlationId) {
8391
8420
  this.logger.info("PerformanceClient: No correlation id provided for " + measureName + ", generating", eventCorrelationId);
8392
8421
  }
8422
+ // Duplicate code to address spelling error will be removed at the next major version bump.
8393
8423
  this.logger.trace("PerformanceClient: Performance measurement started for " + measureName, eventCorrelationId);
8394
- var performanceMeasurement = this.startPerformanceMeasurement(measureName, eventCorrelationId);
8395
- performanceMeasurement.startMeasurement();
8424
+ var validMeasurement;
8425
+ var performanceMeasuremeant = this.startPerformanceMeasuremeant(measureName, eventCorrelationId);
8426
+ if (performanceMeasuremeant.startMeasurement) {
8427
+ performanceMeasuremeant.startMeasurement();
8428
+ validMeasurement = performanceMeasuremeant;
8429
+ }
8430
+ else {
8431
+ var performanceMeasurement = this.startPerformanceMeasurement(measureName, eventCorrelationId);
8432
+ performanceMeasurement.startMeasurement();
8433
+ validMeasurement = performanceMeasurement;
8434
+ }
8396
8435
  var inProgressEvent = {
8397
8436
  eventId: this.generateId(),
8398
8437
  status: exports.PerformanceEventStatus.InProgress,
@@ -8411,7 +8450,7 @@ var PerformanceClient = /** @class */ (function () {
8411
8450
  appVersion: (_b = this.applicationTelemetry) === null || _b === void 0 ? void 0 : _b.appVersion,
8412
8451
  };
8413
8452
  this.addStaticFields(staticFields, eventCorrelationId);
8414
- this.cacheMeasurement(inProgressEvent, performanceMeasurement);
8453
+ this.cacheMeasurement(inProgressEvent, validMeasurement);
8415
8454
  // Return the event and functions the caller can use to properly end/flush the measurement
8416
8455
  return {
8417
8456
  endMeasurement: function (event) {
@@ -8431,7 +8470,10 @@ var PerformanceClient = /** @class */ (function () {
8431
8470
  addStaticFields: function (fields) {
8432
8471
  return _this.addStaticFields(fields, inProgressEvent.correlationId);
8433
8472
  },
8434
- measurement: performanceMeasurement,
8473
+ increment: function (counters) {
8474
+ return _this.increment(counters, inProgressEvent.correlationId);
8475
+ },
8476
+ measurement: validMeasurement,
8435
8477
  event: inProgressEvent
8436
8478
  };
8437
8479
  };
@@ -8482,6 +8524,26 @@ var PerformanceClient = /** @class */ (function () {
8482
8524
  this.staticFieldsByCorrelationId.set(correlationId, fields);
8483
8525
  }
8484
8526
  };
8527
+ /**
8528
+ * Increment counters to be emitted when the measurements are flushed
8529
+ * @param counters {Counters}
8530
+ * @param correlationId {string} correlation identifier
8531
+ */
8532
+ PerformanceClient.prototype.increment = function (counters, correlationId) {
8533
+ var existing = this.countersByCorrelationId.get(correlationId);
8534
+ if (!existing) {
8535
+ this.logger.trace("PerformanceClient: Setting counters");
8536
+ this.countersByCorrelationId.set(correlationId, __assign({}, counters));
8537
+ return;
8538
+ }
8539
+ this.logger.trace("PerformanceClient: Updating counters");
8540
+ for (var counter in counters) {
8541
+ if (!existing.hasOwnProperty(counter)) {
8542
+ existing[counter] = 0;
8543
+ }
8544
+ existing[counter] += counters[counter];
8545
+ }
8546
+ };
8485
8547
  /**
8486
8548
  * Upserts event into event cache.
8487
8549
  * First key is the correlation id, second key is the event id.
@@ -8522,8 +8584,10 @@ var PerformanceClient = /** @class */ (function () {
8522
8584
  var _this = this;
8523
8585
  this.logger.trace("PerformanceClient: Performance measurements flushed for " + measureName, correlationId);
8524
8586
  var eventsForCorrelationId = this.eventsByCorrelationId.get(correlationId);
8587
+ var staticFields = this.staticFieldsByCorrelationId.get(correlationId);
8588
+ var counters = this.countersByCorrelationId.get(correlationId);
8525
8589
  if (eventsForCorrelationId) {
8526
- this.discardMeasurements(correlationId);
8590
+ this.discardCache(correlationId);
8527
8591
  /*
8528
8592
  * Manually end incomplete submeasurements to ensure there arent orphaned/never ending events.
8529
8593
  * Incomplete submeasurements are likely an instrumentation bug that should be fixed.
@@ -8574,8 +8638,7 @@ var PerformanceClient = /** @class */ (function () {
8574
8638
  }
8575
8639
  return previous;
8576
8640
  }, topLevelEvent);
8577
- var staticFields = this.staticFieldsByCorrelationId.get(correlationId);
8578
- var finalEvent = __assign(__assign({}, eventToEmit), staticFields);
8641
+ var finalEvent = __assign(__assign(__assign({}, eventToEmit), staticFields), counters);
8579
8642
  this.emitEvents([finalEvent], eventToEmit.correlationId);
8580
8643
  }
8581
8644
  else {
@@ -8595,6 +8658,18 @@ var PerformanceClient = /** @class */ (function () {
8595
8658
  this.logger.trace("PerformanceClient: Performance measurements discarded", correlationId);
8596
8659
  this.eventsByCorrelationId.delete(correlationId);
8597
8660
  };
8661
+ /**
8662
+ * Removes cache for a given correlation id.
8663
+ *
8664
+ * @param {string} correlation identifier
8665
+ */
8666
+ PerformanceClient.prototype.discardCache = function (correlationId) {
8667
+ this.discardMeasurements(correlationId);
8668
+ this.logger.trace("PerformanceClient: Static fields discarded", correlationId);
8669
+ this.staticFieldsByCorrelationId.delete(correlationId);
8670
+ this.logger.trace("PerformanceClient: Counters discarded", correlationId);
8671
+ this.countersByCorrelationId.delete(correlationId);
8672
+ };
8598
8673
  /**
8599
8674
  * Registers a callback function to receive performance events.
8600
8675
  *
@@ -8664,6 +8739,9 @@ var StubPerformanceClient = /** @class */ (function (_super) {
8664
8739
  StubPerformanceClient.prototype.generateId = function () {
8665
8740
  return "callback-id";
8666
8741
  };
8742
+ StubPerformanceClient.prototype.startPerformanceMeasuremeant = function () {
8743
+ return new StubPerformanceMeasurement();
8744
+ };
8667
8745
  StubPerformanceClient.prototype.startPerformanceMeasurement = function () {
8668
8746
  return new StubPerformanceMeasurement();
8669
8747
  };