@azure/msal-common 9.0.2 → 9.1.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.
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 +76 -8
  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 +66 -5
  120. package/dist/telemetry/performance/PerformanceClient.js.map +1 -1
  121. package/dist/telemetry/performance/PerformanceEvent.d.ts +8 -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.0 2023-01-18 */
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.0";
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
  *
@@ -8391,7 +8420,7 @@ var PerformanceClient = /** @class */ (function () {
8391
8420
  this.logger.info("PerformanceClient: No correlation id provided for " + measureName + ", generating", eventCorrelationId);
8392
8421
  }
8393
8422
  this.logger.trace("PerformanceClient: Performance measurement started for " + measureName, eventCorrelationId);
8394
- var performanceMeasurement = this.startPerformanceMeasurement(measureName, eventCorrelationId);
8423
+ var performanceMeasurement = this.startPerformanceMeasuremeant(measureName, eventCorrelationId);
8395
8424
  performanceMeasurement.startMeasurement();
8396
8425
  var inProgressEvent = {
8397
8426
  eventId: this.generateId(),
@@ -8431,6 +8460,9 @@ var PerformanceClient = /** @class */ (function () {
8431
8460
  addStaticFields: function (fields) {
8432
8461
  return _this.addStaticFields(fields, inProgressEvent.correlationId);
8433
8462
  },
8463
+ increment: function (counters) {
8464
+ return _this.increment(counters, inProgressEvent.correlationId);
8465
+ },
8434
8466
  measurement: performanceMeasurement,
8435
8467
  event: inProgressEvent
8436
8468
  };
@@ -8482,6 +8514,26 @@ var PerformanceClient = /** @class */ (function () {
8482
8514
  this.staticFieldsByCorrelationId.set(correlationId, fields);
8483
8515
  }
8484
8516
  };
8517
+ /**
8518
+ * Increment counters to be emitted when the measurements are flushed
8519
+ * @param counters {Counters}
8520
+ * @param correlationId {string} correlation identifier
8521
+ */
8522
+ PerformanceClient.prototype.increment = function (counters, correlationId) {
8523
+ var existing = this.countersByCorrelationId.get(correlationId);
8524
+ if (!existing) {
8525
+ this.logger.trace("PerformanceClient: Setting counters");
8526
+ this.countersByCorrelationId.set(correlationId, __assign({}, counters));
8527
+ return;
8528
+ }
8529
+ this.logger.trace("PerformanceClient: Updating counters");
8530
+ for (var counter in counters) {
8531
+ if (!existing.hasOwnProperty(counter)) {
8532
+ existing[counter] = 0;
8533
+ }
8534
+ existing[counter] += counters[counter];
8535
+ }
8536
+ };
8485
8537
  /**
8486
8538
  * Upserts event into event cache.
8487
8539
  * First key is the correlation id, second key is the event id.
@@ -8522,8 +8574,10 @@ var PerformanceClient = /** @class */ (function () {
8522
8574
  var _this = this;
8523
8575
  this.logger.trace("PerformanceClient: Performance measurements flushed for " + measureName, correlationId);
8524
8576
  var eventsForCorrelationId = this.eventsByCorrelationId.get(correlationId);
8577
+ var staticFields = this.staticFieldsByCorrelationId.get(correlationId);
8578
+ var counters = this.countersByCorrelationId.get(correlationId);
8525
8579
  if (eventsForCorrelationId) {
8526
- this.discardMeasurements(correlationId);
8580
+ this.discardCache(correlationId);
8527
8581
  /*
8528
8582
  * Manually end incomplete submeasurements to ensure there arent orphaned/never ending events.
8529
8583
  * Incomplete submeasurements are likely an instrumentation bug that should be fixed.
@@ -8574,8 +8628,7 @@ var PerformanceClient = /** @class */ (function () {
8574
8628
  }
8575
8629
  return previous;
8576
8630
  }, topLevelEvent);
8577
- var staticFields = this.staticFieldsByCorrelationId.get(correlationId);
8578
- var finalEvent = __assign(__assign({}, eventToEmit), staticFields);
8631
+ var finalEvent = __assign(__assign(__assign({}, eventToEmit), staticFields), counters);
8579
8632
  this.emitEvents([finalEvent], eventToEmit.correlationId);
8580
8633
  }
8581
8634
  else {
@@ -8595,6 +8648,18 @@ var PerformanceClient = /** @class */ (function () {
8595
8648
  this.logger.trace("PerformanceClient: Performance measurements discarded", correlationId);
8596
8649
  this.eventsByCorrelationId.delete(correlationId);
8597
8650
  };
8651
+ /**
8652
+ * Removes cache for a given correlation id.
8653
+ *
8654
+ * @param {string} correlation identifier
8655
+ */
8656
+ PerformanceClient.prototype.discardCache = function (correlationId) {
8657
+ this.discardMeasurements(correlationId);
8658
+ this.logger.trace("PerformanceClient: Static fields discarded", correlationId);
8659
+ this.staticFieldsByCorrelationId.delete(correlationId);
8660
+ this.logger.trace("PerformanceClient: Counters discarded", correlationId);
8661
+ this.countersByCorrelationId.delete(correlationId);
8662
+ };
8598
8663
  /**
8599
8664
  * Registers a callback function to receive performance events.
8600
8665
  *
@@ -8664,6 +8729,9 @@ var StubPerformanceClient = /** @class */ (function (_super) {
8664
8729
  StubPerformanceClient.prototype.generateId = function () {
8665
8730
  return "callback-id";
8666
8731
  };
8732
+ StubPerformanceClient.prototype.startPerformanceMeasuremeant = function () {
8733
+ return new StubPerformanceMeasurement();
8734
+ };
8667
8735
  StubPerformanceClient.prototype.startPerformanceMeasurement = function () {
8668
8736
  return new StubPerformanceMeasurement();
8669
8737
  };