@azure/msal-common 6.1.0 → 6.3.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 (138) hide show
  1. package/dist/_virtual/_tslib.js +1 -1
  2. package/dist/account/AccountInfo.d.ts +6 -1
  3. package/dist/account/AccountInfo.d.ts.map +1 -1
  4. package/dist/account/AuthToken.js +1 -1
  5. package/dist/account/CcsCredential.js +1 -1
  6. package/dist/account/ClientInfo.js +1 -1
  7. package/dist/account/TokenClaims.d.ts +29 -0
  8. package/dist/account/TokenClaims.d.ts.map +1 -1
  9. package/dist/authority/Authority.js +1 -1
  10. package/dist/authority/AuthorityFactory.js +1 -1
  11. package/dist/authority/AuthorityOptions.d.ts +1 -0
  12. package/dist/authority/AuthorityOptions.d.ts.map +1 -1
  13. package/dist/authority/AuthorityOptions.js +3 -1
  14. package/dist/authority/AuthorityOptions.js.map +1 -1
  15. package/dist/authority/AuthorityType.js +1 -1
  16. package/dist/authority/CloudInstanceDiscoveryResponse.js +1 -1
  17. package/dist/authority/OpenIdConfigResponse.js +1 -1
  18. package/dist/authority/ProtocolMode.js +1 -1
  19. package/dist/authority/RegionDiscovery.js +1 -1
  20. package/dist/cache/CacheManager.d.ts +1 -1
  21. package/dist/cache/CacheManager.js +3 -3
  22. package/dist/cache/CacheManager.js.map +1 -1
  23. package/dist/cache/entities/AccessTokenEntity.js +1 -1
  24. package/dist/cache/entities/AccountEntity.d.ts +3 -1
  25. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  26. package/dist/cache/entities/AccountEntity.js +16 -12
  27. package/dist/cache/entities/AccountEntity.js.map +1 -1
  28. package/dist/cache/entities/AppMetadataEntity.js +1 -1
  29. package/dist/cache/entities/AuthorityMetadataEntity.js +1 -1
  30. package/dist/cache/entities/CacheRecord.js +1 -1
  31. package/dist/cache/entities/CredentialEntity.js +5 -5
  32. package/dist/cache/entities/CredentialEntity.js.map +1 -1
  33. package/dist/cache/entities/IdTokenEntity.js +1 -1
  34. package/dist/cache/entities/RefreshTokenEntity.js +1 -1
  35. package/dist/cache/entities/ServerTelemetryEntity.js +1 -1
  36. package/dist/cache/entities/ThrottlingEntity.js +1 -1
  37. package/dist/cache/persistence/TokenCacheContext.js +1 -1
  38. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  39. package/dist/client/AuthorizationCodeClient.js +119 -93
  40. package/dist/client/AuthorizationCodeClient.js.map +1 -1
  41. package/dist/client/BaseClient.js +1 -1
  42. package/dist/client/ClientCredentialClient.d.ts.map +1 -1
  43. package/dist/client/ClientCredentialClient.js +4 -3
  44. package/dist/client/ClientCredentialClient.js.map +1 -1
  45. package/dist/client/DeviceCodeClient.d.ts.map +1 -1
  46. package/dist/client/DeviceCodeClient.js +2 -1
  47. package/dist/client/DeviceCodeClient.js.map +1 -1
  48. package/dist/client/OnBehalfOfClient.js +3 -2
  49. package/dist/client/OnBehalfOfClient.js.map +1 -1
  50. package/dist/client/RefreshTokenClient.js +2 -1
  51. package/dist/client/RefreshTokenClient.js.map +1 -1
  52. package/dist/client/SilentFlowClient.js +1 -1
  53. package/dist/client/UsernamePasswordClient.d.ts.map +1 -1
  54. package/dist/client/UsernamePasswordClient.js +3 -1
  55. package/dist/client/UsernamePasswordClient.js.map +1 -1
  56. package/dist/config/ClientConfiguration.d.ts +16 -1
  57. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  58. package/dist/config/ClientConfiguration.js +14 -7
  59. package/dist/config/ClientConfiguration.js.map +1 -1
  60. package/dist/crypto/ICrypto.d.ts +4 -2
  61. package/dist/crypto/ICrypto.d.ts.map +1 -1
  62. package/dist/crypto/ICrypto.js +1 -1
  63. package/dist/crypto/ICrypto.js.map +1 -1
  64. package/dist/crypto/IGuidGenerator.d.ts +5 -0
  65. package/dist/crypto/IGuidGenerator.d.ts.map +1 -0
  66. package/dist/crypto/PopTokenGenerator.d.ts +30 -0
  67. package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
  68. package/dist/crypto/PopTokenGenerator.js +38 -2
  69. package/dist/crypto/PopTokenGenerator.js.map +1 -1
  70. package/dist/error/AuthError.js +3 -3
  71. package/dist/error/AuthError.js.map +1 -1
  72. package/dist/error/ClientAuthError.js +1 -1
  73. package/dist/error/ClientConfigurationError.js +1 -1
  74. package/dist/error/InteractionRequiredAuthError.js +1 -1
  75. package/dist/error/ServerError.js +1 -1
  76. package/dist/index.cjs.js +659 -148
  77. package/dist/index.cjs.js.map +1 -1
  78. package/dist/index.d.ts +7 -1
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +4 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/logger/Logger.js +13 -13
  83. package/dist/logger/Logger.js.map +1 -1
  84. package/dist/network/INetworkModule.js +1 -1
  85. package/dist/network/NetworkManager.js +1 -1
  86. package/dist/network/ThrottlingUtils.js +1 -1
  87. package/dist/packageMetadata.d.ts +1 -1
  88. package/dist/packageMetadata.js +2 -2
  89. package/dist/packageMetadata.js.map +1 -1
  90. package/dist/request/AuthenticationHeaderParser.js +3 -3
  91. package/dist/request/AuthenticationHeaderParser.js.map +1 -1
  92. package/dist/request/CommonAuthorizationUrlRequest.d.ts +1 -0
  93. package/dist/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
  94. package/dist/request/RequestParameterBuilder.d.ts +14 -1
  95. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  96. package/dist/request/RequestParameterBuilder.js +31 -3
  97. package/dist/request/RequestParameterBuilder.js.map +1 -1
  98. package/dist/request/RequestValidator.js +1 -1
  99. package/dist/request/ScopeSet.js +4 -4
  100. package/dist/request/ScopeSet.js.map +1 -1
  101. package/dist/response/AuthenticationResult.d.ts +1 -0
  102. package/dist/response/AuthenticationResult.d.ts.map +1 -1
  103. package/dist/response/ResponseHandler.d.ts.map +1 -1
  104. package/dist/response/ResponseHandler.js +6 -5
  105. package/dist/response/ResponseHandler.js.map +1 -1
  106. package/dist/response/ServerAuthorizationCodeResponse.d.ts +1 -0
  107. package/dist/response/ServerAuthorizationCodeResponse.d.ts.map +1 -1
  108. package/dist/telemetry/performance/IPerformanceClient.d.ts +22 -0
  109. package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -0
  110. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +6 -0
  111. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts.map +1 -0
  112. package/dist/telemetry/performance/PerformanceClient.d.ts +125 -0
  113. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -0
  114. package/dist/telemetry/performance/PerformanceClient.js +275 -0
  115. package/dist/telemetry/performance/PerformanceClient.js.map +1 -0
  116. package/dist/telemetry/performance/PerformanceEvent.d.ts +203 -0
  117. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -0
  118. package/dist/telemetry/performance/PerformanceEvent.js +100 -0
  119. package/dist/telemetry/performance/PerformanceEvent.js.map +1 -0
  120. package/dist/telemetry/performance/StubPerformanceClient.d.ts +13 -0
  121. package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -0
  122. package/dist/telemetry/performance/StubPerformanceClient.js +37 -0
  123. package/dist/telemetry/performance/StubPerformanceClient.js.map +1 -0
  124. package/dist/telemetry/server/ServerTelemetryManager.js +4 -4
  125. package/dist/telemetry/server/ServerTelemetryManager.js.map +1 -1
  126. package/dist/url/UrlString.js +2 -2
  127. package/dist/url/UrlString.js.map +1 -1
  128. package/dist/utils/Constants.d.ts +5 -0
  129. package/dist/utils/Constants.d.ts.map +1 -1
  130. package/dist/utils/Constants.js +7 -2
  131. package/dist/utils/Constants.js.map +1 -1
  132. package/dist/utils/ProtocolUtils.js +3 -3
  133. package/dist/utils/ProtocolUtils.js.map +1 -1
  134. package/dist/utils/StringUtils.js +1 -1
  135. package/dist/utils/TimeUtils.js +1 -1
  136. package/package.json +2 -4
  137. package/CHANGELOG.json +0 -1319
  138. package/CHANGELOG.md +0 -504
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StubPerformanceClient.d.ts","sourceRoot":"","sources":["../../../src/telemetry/performance/StubPerformanceClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,0BAA2B,YAAW,uBAAuB;IAEtE,gBAAgB,IAAI,IAAI;IAExB,cAAc,IAAI,IAAI;IACtB,gBAAgB,IAAI,MAAM,GAAG,IAAI;CAIpC;AAED,qBAAa,qBAAsB,SAAQ,iBAAkB,YAAW,kBAAkB;IACtF,UAAU,IAAI,MAAM;IAIpB,4BAA4B,IAAI,uBAAuB;CAG1D"}
@@ -0,0 +1,37 @@
1
+ /*! @azure/msal-common v6.3.0 2022-05-02 */
2
+ 'use strict';
3
+ import { __extends } from '../../_virtual/_tslib.js';
4
+ import { PerformanceClient } from './PerformanceClient.js';
5
+
6
+ /*
7
+ * Copyright (c) Microsoft Corporation. All rights reserved.
8
+ * Licensed under the MIT License.
9
+ */
10
+ var StubPerformanceMeasurement = /** @class */ (function () {
11
+ function StubPerformanceMeasurement() {
12
+ }
13
+ /* eslint-disable-next-line @typescript-eslint/no-empty-function */
14
+ StubPerformanceMeasurement.prototype.startMeasurement = function () { };
15
+ /* eslint-disable-next-line @typescript-eslint/no-empty-function */
16
+ StubPerformanceMeasurement.prototype.endMeasurement = function () { };
17
+ StubPerformanceMeasurement.prototype.flushMeasurement = function () {
18
+ return null;
19
+ };
20
+ return StubPerformanceMeasurement;
21
+ }());
22
+ var StubPerformanceClient = /** @class */ (function (_super) {
23
+ __extends(StubPerformanceClient, _super);
24
+ function StubPerformanceClient() {
25
+ return _super !== null && _super.apply(this, arguments) || this;
26
+ }
27
+ StubPerformanceClient.prototype.generateId = function () {
28
+ return "callback-id";
29
+ };
30
+ StubPerformanceClient.prototype.startPerformanceMeasuremeant = function () {
31
+ return new StubPerformanceMeasurement();
32
+ };
33
+ return StubPerformanceClient;
34
+ }(PerformanceClient));
35
+
36
+ export { StubPerformanceClient, StubPerformanceMeasurement };
37
+ //# sourceMappingURL=StubPerformanceClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StubPerformanceClient.js","sources":["../../../src/telemetry/performance/StubPerformanceClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IPerformanceClient } from \"./IPerformanceClient\";\nimport { IPerformanceMeasurement } from \"./IPerformanceMeasurement\";\nimport { PerformanceClient } from \"./PerformanceClient\";\n\nexport class StubPerformanceMeasurement implements IPerformanceMeasurement {\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\n startMeasurement(): void { }\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\n endMeasurement(): void { }\n flushMeasurement(): number | null {\n return null;\n }\n \n}\n\nexport class StubPerformanceClient extends PerformanceClient implements IPerformanceClient {\n generateId(): string {\n return \"callback-id\";\n }\n \n startPerformanceMeasuremeant(): IPerformanceMeasurement {\n return new StubPerformanceMeasurement();\n }\n}\n"],"names":[],"mappings":";;;;;AAAA;;;;;IASA;KASC;;IAPG,qDAAgB,GAAhB,eAA4B;;IAE5B,mDAAc,GAAd,eAA0B;IAC1B,qDAAgB,GAAhB;QACI,OAAO,IAAI,CAAC;KACf;IAEL,iCAAC;AAAD,CAAC,IAAA;;IAE0C,yCAAiB;IAA5D;;KAQC;IAPG,0CAAU,GAAV;QACI,OAAO,aAAa,CAAC;KACxB;IAED,4DAA4B,GAA5B;QACI,OAAO,IAAI,0BAA0B,EAAE,CAAC;KAC3C;IACL,4BAAC;AAAD,CARA,CAA2C,iBAAiB;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v6.1.0 2022-02-08 */
1
+ /*! @azure/msal-common v6.3.0 2022-05-02 */
2
2
  'use strict';
3
3
  import { SERVER_TELEM_CONSTANTS, CacheOutcome, Constants, Separators } from '../../utils/Constants.js';
4
4
  import { ServerTelemetryEntity } from '../../cache/entities/ServerTelemetryEntity.js';
@@ -139,9 +139,9 @@ var ServerTelemetryManager = /** @class */ (function () {
139
139
  */
140
140
  ServerTelemetryManager.prototype.getRegionDiscoveryFields = function () {
141
141
  var regionDiscoveryFields = [];
142
- regionDiscoveryFields.push(this.regionUsed || "");
143
- regionDiscoveryFields.push(this.regionSource || "");
144
- regionDiscoveryFields.push(this.regionOutcome || "");
142
+ regionDiscoveryFields.push(this.regionUsed || Constants.EMPTY_STRING);
143
+ regionDiscoveryFields.push(this.regionSource || Constants.EMPTY_STRING);
144
+ regionDiscoveryFields.push(this.regionOutcome || Constants.EMPTY_STRING);
145
145
  return regionDiscoveryFields.join(",");
146
146
  };
147
147
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ServerTelemetryManager.js","sources":["../../../src/telemetry/server/ServerTelemetryManager.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SERVER_TELEM_CONSTANTS, Separators, CacheOutcome, Constants, RegionDiscoverySources, RegionDiscoveryOutcomes } from \"../../utils/Constants\";\nimport { CacheManager } from \"../../cache/CacheManager\";\nimport { AuthError } from \"../../error/AuthError\";\nimport { ServerTelemetryRequest } from \"./ServerTelemetryRequest\";\nimport { ServerTelemetryEntity } from \"../../cache/entities/ServerTelemetryEntity\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { RegionDiscoveryMetadata } from \"../../authority/RegionDiscoveryMetadata\";\n\nexport class ServerTelemetryManager {\n private cacheManager: CacheManager;\n private apiId: number;\n private correlationId: string;\n private telemetryCacheKey: string;\n private wrapperSKU: String;\n private wrapperVer: String;\n private regionUsed: string | undefined;\n private regionSource: RegionDiscoverySources | undefined;\n private regionOutcome: RegionDiscoveryOutcomes | undefined;\n private cacheOutcome: CacheOutcome = CacheOutcome.NO_CACHE_HIT;\n\n constructor(telemetryRequest: ServerTelemetryRequest, cacheManager: CacheManager) {\n this.cacheManager = cacheManager;\n this.apiId = telemetryRequest.apiId;\n this.correlationId = telemetryRequest.correlationId;\n this.wrapperSKU = telemetryRequest.wrapperSKU || Constants.EMPTY_STRING;\n this.wrapperVer = telemetryRequest.wrapperVer || Constants.EMPTY_STRING;\n\n this.telemetryCacheKey = SERVER_TELEM_CONSTANTS.CACHE_KEY + Separators.CACHE_KEY_SEPARATOR + telemetryRequest.clientId;\n }\n\n /**\n * API to add MSER Telemetry to request\n */\n generateCurrentRequestHeaderValue(): string {\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\n const platformFields = [this.wrapperSKU, this.wrapperVer].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\n const requestWithRegionDiscoveryFields = [request, regionDiscoveryFields].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, requestWithRegionDiscoveryFields, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to add MSER Telemetry for the last failed request\n */\n generateLastRequestHeaderValue(): string {\n const lastRequests = this.getLastRequests();\n\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const failedRequests = lastRequests.failedRequests.slice(0, 2*maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errors = lastRequests.errors.slice(0, maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errorCount = lastRequests.errors.length;\n\n // Indicate whether this header contains all data or partial data\n const overflow = maxErrors < errorCount ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, lastRequests.cacheHits, failedRequests, errors, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to cache token failures for MSER data capture\n * @param error\n */\n cacheFailedRequest(error: AuthError): void {\n const lastRequests = this.getLastRequests();\n if (lastRequests.errors.length >= SERVER_TELEM_CONSTANTS.MAX_CACHED_ERRORS) {\n // Remove a cached error to make room, first in first out\n lastRequests.failedRequests.shift(); // apiId\n lastRequests.failedRequests.shift(); // correlationId\n lastRequests.errors.shift();\n }\n \n lastRequests.failedRequests.push(this.apiId, this.correlationId);\n\n if (!StringUtils.isEmpty(error.subError)) {\n lastRequests.errors.push(error.subError);\n } else if (!StringUtils.isEmpty(error.errorCode)) {\n lastRequests.errors.push(error.errorCode);\n } else if (!!error && error.toString()) {\n lastRequests.errors.push(error.toString());\n } else {\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\n }\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n\n return;\n }\n\n /**\n * Update server telemetry cache entry by incrementing cache hit counter\n */\n incrementCacheHits(): number {\n const lastRequests = this.getLastRequests();\n lastRequests.cacheHits += 1;\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n return lastRequests.cacheHits;\n }\n\n /**\n * Get the server telemetry entity from cache or initialize a new one\n */\n getLastRequests(): ServerTelemetryEntity {\n const initialValue: ServerTelemetryEntity = new ServerTelemetryEntity();\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey) as ServerTelemetryEntity;\n\n return lastRequests || initialValue;\n }\n\n /**\n * Remove server telemetry cache entry\n */\n clearTelemetryCache(): void {\n const lastRequests = this.getLastRequests();\n const numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const errorCount = lastRequests.errors.length;\n if (numErrorsFlushed === errorCount) {\n // All errors were sent on last request, clear Telemetry cache\n this.cacheManager.removeItem(this.telemetryCacheKey);\n } else {\n // Partial data was flushed to server, construct a new telemetry cache item with errors that were not flushed\n const serverTelemEntity = new ServerTelemetryEntity();\n serverTelemEntity.failedRequests = lastRequests.failedRequests.slice(numErrorsFlushed*2); // failedRequests contains 2 items for each error\n serverTelemEntity.errors = lastRequests.errors.slice(numErrorsFlushed);\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity);\n }\n }\n\n /**\n * Returns the maximum number of errors that can be flushed to the server in the next network request\n * @param serverTelemetryEntity\n */\n static maxErrorsToSend(serverTelemetryEntity: ServerTelemetryEntity): number {\n let i;\n let maxErrors = 0;\n let dataSize = 0;\n const errorCount = serverTelemetryEntity.errors.length;\n for (i = 0; i < errorCount; i++) {\n // failedRequests parameter contains pairs of apiId and correlationId, multiply index by 2 to preserve pairs\n const apiId = serverTelemetryEntity.failedRequests[2*i] || Constants.EMPTY_STRING;\n const correlationId = serverTelemetryEntity.failedRequests[2*i + 1] || Constants.EMPTY_STRING;\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\n\n // Count number of characters that would be added to header, each character is 1 byte. Add 3 at the end to account for separators\n dataSize += apiId.toString().length + correlationId.toString().length + errorCode.length + 3;\n\n if (dataSize < SERVER_TELEM_CONSTANTS.MAX_LAST_HEADER_BYTES) {\n // Adding this entry to the header would still keep header size below the limit\n maxErrors += 1;\n } else {\n break;\n }\n }\n\n return maxErrors;\n }\n\n /**\n * Get the region discovery fields\n * \n * @returns string\n */\n getRegionDiscoveryFields(): string {\n const regionDiscoveryFields: string[] = [];\n\n regionDiscoveryFields.push(this.regionUsed || \"\");\n regionDiscoveryFields.push(this.regionSource || \"\");\n regionDiscoveryFields.push(this.regionOutcome || \"\");\n\n return regionDiscoveryFields.join(\",\");\n }\n\n /**\n * Update the region discovery metadata\n * \n * @param regionDiscoveryMetadata\n * @returns void\n */\n updateRegionDiscoveryMetadata(regionDiscoveryMetadata: RegionDiscoveryMetadata): void {\n this.regionUsed = regionDiscoveryMetadata.region_used;\n this.regionSource = regionDiscoveryMetadata.region_source;\n this.regionOutcome = regionDiscoveryMetadata.region_outcome;\n }\n\n /**\n * Set cache outcome \n */\n setCacheOutcome(cacheOutcome: CacheOutcome): void {\n this.cacheOutcome = cacheOutcome;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerTelemetryManager.js","sources":["../../../src/telemetry/server/ServerTelemetryManager.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SERVER_TELEM_CONSTANTS, Separators, CacheOutcome, Constants, RegionDiscoverySources, RegionDiscoveryOutcomes } from \"../../utils/Constants\";\nimport { CacheManager } from \"../../cache/CacheManager\";\nimport { AuthError } from \"../../error/AuthError\";\nimport { ServerTelemetryRequest } from \"./ServerTelemetryRequest\";\nimport { ServerTelemetryEntity } from \"../../cache/entities/ServerTelemetryEntity\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { RegionDiscoveryMetadata } from \"../../authority/RegionDiscoveryMetadata\";\n\nexport class ServerTelemetryManager {\n private cacheManager: CacheManager;\n private apiId: number;\n private correlationId: string;\n private telemetryCacheKey: string;\n private wrapperSKU: String;\n private wrapperVer: String;\n private regionUsed: string | undefined;\n private regionSource: RegionDiscoverySources | undefined;\n private regionOutcome: RegionDiscoveryOutcomes | undefined;\n private cacheOutcome: CacheOutcome = CacheOutcome.NO_CACHE_HIT;\n\n constructor(telemetryRequest: ServerTelemetryRequest, cacheManager: CacheManager) {\n this.cacheManager = cacheManager;\n this.apiId = telemetryRequest.apiId;\n this.correlationId = telemetryRequest.correlationId;\n this.wrapperSKU = telemetryRequest.wrapperSKU || Constants.EMPTY_STRING;\n this.wrapperVer = telemetryRequest.wrapperVer || Constants.EMPTY_STRING;\n\n this.telemetryCacheKey = SERVER_TELEM_CONSTANTS.CACHE_KEY + Separators.CACHE_KEY_SEPARATOR + telemetryRequest.clientId;\n }\n\n /**\n * API to add MSER Telemetry to request\n */\n generateCurrentRequestHeaderValue(): string {\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\n const platformFields = [this.wrapperSKU, this.wrapperVer].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\n const requestWithRegionDiscoveryFields = [request, regionDiscoveryFields].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, requestWithRegionDiscoveryFields, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to add MSER Telemetry for the last failed request\n */\n generateLastRequestHeaderValue(): string {\n const lastRequests = this.getLastRequests();\n\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const failedRequests = lastRequests.failedRequests.slice(0, 2*maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errors = lastRequests.errors.slice(0, maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errorCount = lastRequests.errors.length;\n\n // Indicate whether this header contains all data or partial data\n const overflow = maxErrors < errorCount ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, lastRequests.cacheHits, failedRequests, errors, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to cache token failures for MSER data capture\n * @param error\n */\n cacheFailedRequest(error: AuthError): void {\n const lastRequests = this.getLastRequests();\n if (lastRequests.errors.length >= SERVER_TELEM_CONSTANTS.MAX_CACHED_ERRORS) {\n // Remove a cached error to make room, first in first out\n lastRequests.failedRequests.shift(); // apiId\n lastRequests.failedRequests.shift(); // correlationId\n lastRequests.errors.shift();\n }\n \n lastRequests.failedRequests.push(this.apiId, this.correlationId);\n\n if (!StringUtils.isEmpty(error.subError)) {\n lastRequests.errors.push(error.subError);\n } else if (!StringUtils.isEmpty(error.errorCode)) {\n lastRequests.errors.push(error.errorCode);\n } else if (!!error && error.toString()) {\n lastRequests.errors.push(error.toString());\n } else {\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\n }\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n\n return;\n }\n\n /**\n * Update server telemetry cache entry by incrementing cache hit counter\n */\n incrementCacheHits(): number {\n const lastRequests = this.getLastRequests();\n lastRequests.cacheHits += 1;\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n return lastRequests.cacheHits;\n }\n\n /**\n * Get the server telemetry entity from cache or initialize a new one\n */\n getLastRequests(): ServerTelemetryEntity {\n const initialValue: ServerTelemetryEntity = new ServerTelemetryEntity();\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey) as ServerTelemetryEntity;\n\n return lastRequests || initialValue;\n }\n\n /**\n * Remove server telemetry cache entry\n */\n clearTelemetryCache(): void {\n const lastRequests = this.getLastRequests();\n const numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const errorCount = lastRequests.errors.length;\n if (numErrorsFlushed === errorCount) {\n // All errors were sent on last request, clear Telemetry cache\n this.cacheManager.removeItem(this.telemetryCacheKey);\n } else {\n // Partial data was flushed to server, construct a new telemetry cache item with errors that were not flushed\n const serverTelemEntity = new ServerTelemetryEntity();\n serverTelemEntity.failedRequests = lastRequests.failedRequests.slice(numErrorsFlushed*2); // failedRequests contains 2 items for each error\n serverTelemEntity.errors = lastRequests.errors.slice(numErrorsFlushed);\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity);\n }\n }\n\n /**\n * Returns the maximum number of errors that can be flushed to the server in the next network request\n * @param serverTelemetryEntity\n */\n static maxErrorsToSend(serverTelemetryEntity: ServerTelemetryEntity): number {\n let i;\n let maxErrors = 0;\n let dataSize = 0;\n const errorCount = serverTelemetryEntity.errors.length;\n for (i = 0; i < errorCount; i++) {\n // failedRequests parameter contains pairs of apiId and correlationId, multiply index by 2 to preserve pairs\n const apiId = serverTelemetryEntity.failedRequests[2*i] || Constants.EMPTY_STRING;\n const correlationId = serverTelemetryEntity.failedRequests[2*i + 1] || Constants.EMPTY_STRING;\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\n\n // Count number of characters that would be added to header, each character is 1 byte. Add 3 at the end to account for separators\n dataSize += apiId.toString().length + correlationId.toString().length + errorCode.length + 3;\n\n if (dataSize < SERVER_TELEM_CONSTANTS.MAX_LAST_HEADER_BYTES) {\n // Adding this entry to the header would still keep header size below the limit\n maxErrors += 1;\n } else {\n break;\n }\n }\n\n return maxErrors;\n }\n\n /**\n * Get the region discovery fields\n * \n * @returns string\n */\n getRegionDiscoveryFields(): string {\n const regionDiscoveryFields: string[] = [];\n\n regionDiscoveryFields.push(this.regionUsed || Constants.EMPTY_STRING);\n regionDiscoveryFields.push(this.regionSource || Constants.EMPTY_STRING);\n regionDiscoveryFields.push(this.regionOutcome || Constants.EMPTY_STRING);\n\n return regionDiscoveryFields.join(\",\");\n }\n\n /**\n * Update the region discovery metadata\n * \n * @param regionDiscoveryMetadata\n * @returns void\n */\n updateRegionDiscoveryMetadata(regionDiscoveryMetadata: RegionDiscoveryMetadata): void {\n this.regionUsed = regionDiscoveryMetadata.region_used;\n this.regionSource = regionDiscoveryMetadata.region_source;\n this.regionOutcome = regionDiscoveryMetadata.region_outcome;\n }\n\n /**\n * Set cache outcome \n */\n setCacheOutcome(cacheOutcome: CacheOutcome): void {\n this.cacheOutcome = cacheOutcome;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v6.1.0 2022-02-08 */
1
+ /*! @azure/msal-common v6.3.0 2022-05-02 */
2
2
  'use strict';
3
3
  import { ClientConfigurationError } from '../error/ClientConfigurationError.js';
4
4
  import { ClientAuthError } from '../error/ClientAuthError.js';
@@ -164,7 +164,7 @@ var UrlString = /** @class */ (function () {
164
164
  else if (hashIndex1 > -1) {
165
165
  return hashString.substring(hashIndex1 + 1);
166
166
  }
167
- return "";
167
+ return Constants.EMPTY_STRING;
168
168
  };
169
169
  UrlString.constructAuthorityUriFromObject = function (urlObject) {
170
170
  return new UrlString(urlObject.Protocol + "//" + urlObject.HostNameAndPort + "/" + urlObject.PathSegments.join("/"));
@@ -1 +1 @@
1
- {"version":3,"file":"UrlString.js","sources":["../../src/url/UrlString.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ServerAuthorizationCodeResponse } from \"../response/ServerAuthorizationCodeResponse\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { IUri } from \"./IUri\";\nimport { AADAuthorityConstants, Constants } from \"../utils/Constants\";\n\n/**\n * Url object class which can perform various transformations on url strings.\n */\nexport class UrlString {\n\n // internal url string field\n private _urlString: string;\n public get urlString(): string {\n return this._urlString;\n }\n\n constructor(url: string) {\n this._urlString = url;\n if (StringUtils.isEmpty(this._urlString)) {\n // Throws error if url is empty\n throw ClientConfigurationError.createUrlEmptyError();\n }\n\n if (StringUtils.isEmpty(this.getHash())) {\n this._urlString = UrlString.canonicalizeUri(url);\n }\n }\n\n /**\n * Ensure urls are lower case and end with a / character.\n * @param url\n */\n static canonicalizeUri(url: string): string {\n if (url) {\n let lowerCaseUrl = url.toLowerCase();\n\n if (StringUtils.endsWith(lowerCaseUrl, \"?\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -1);\n } else if (StringUtils.endsWith(lowerCaseUrl, \"?/\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -2);\n }\n\n if (!StringUtils.endsWith(lowerCaseUrl, \"/\")) {\n lowerCaseUrl += \"/\";\n }\n\n return lowerCaseUrl;\n }\n\n return url;\n }\n\n /**\n * Throws if urlString passed is not a valid authority URI string.\n */\n validateAsUri(): void {\n // Attempts to parse url for uri components\n let components;\n try {\n components = this.getUrlComponents();\n } catch (e) {\n throw ClientConfigurationError.createUrlParseError(e);\n }\n\n // Throw error if URI or path segments are not parseable.\n if (!components.HostNameAndPort || !components.PathSegments) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Throw error if uri is insecure.\n if(!components.Protocol || components.Protocol.toLowerCase() !== \"https:\") {\n throw ClientConfigurationError.createInsecureAuthorityUriError(this.urlString);\n }\n }\n\n /**\n * Given a url and a query string return the url with provided query string appended\n * @param url\n * @param queryString\n */\n static appendQueryString(url: string, queryString: string): string {\n if (StringUtils.isEmpty(queryString)) {\n return url;\n }\n\n return url.indexOf(\"?\") < 0 ? `${url}?${queryString}` : `${url}&${queryString}`;\n }\n\n /**\n * Returns a url with the hash removed\n * @param url\n */\n static removeHashFromUrl(url: string): string {\n return UrlString.canonicalizeUri(url.split(\"#\")[0]);\n }\n\n /**\n * Given a url like https://a:b/common/d?e=f#g, and a tenantId, returns https://a:b/tenantId/d\n * @param href The url\n * @param tenantId The tenant id to replace\n */\n replaceTenantPath(tenantId: string): UrlString {\n const urlObject = this.getUrlComponents();\n const pathArray = urlObject.PathSegments;\n if (tenantId && (pathArray.length !== 0 && (pathArray[0] === AADAuthorityConstants.COMMON || pathArray[0] === AADAuthorityConstants.ORGANIZATIONS))) {\n pathArray[0] = tenantId;\n }\n return UrlString.constructAuthorityUriFromObject(urlObject);\n }\n\n /**\n * Returns the anchor part(#) of the URL\n */\n getHash(): string {\n return UrlString.parseHash(this.urlString);\n }\n\n /**\n * Parses out the components from a url string.\n * @returns An object with the various components. Please cache this value insted of calling this multiple times on the same url.\n */\n getUrlComponents(): IUri {\n // https://gist.github.com/curtisz/11139b2cfcaef4a261e0\n const regEx = RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\");\n\n // If url string does not match regEx, we throw an error\n const match = this.urlString.match(regEx);\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Url component object\n const urlComponents = {\n Protocol: match[1],\n HostNameAndPort: match[4],\n AbsolutePath: match[5],\n QueryString: match[7]\n } as IUri;\n\n let pathSegments = urlComponents.AbsolutePath.split(\"/\");\n pathSegments = pathSegments.filter((val) => val && val.length > 0); // remove empty elements\n urlComponents.PathSegments = pathSegments;\n\n if (!StringUtils.isEmpty(urlComponents.QueryString) && urlComponents.QueryString.endsWith(\"/\")) {\n urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length-1);\n }\n return urlComponents;\n }\n\n static getDomainFromUrl(url: string): string {\n const regEx = RegExp(\"^([^:/?#]+://)?([^/?#]*)\");\n\n const match = url.match(regEx);\n\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${url}`);\n }\n\n return match[2];\n }\n\n static getAbsoluteUrl(relativeUrl: string, baseUrl: string): string {\n if (relativeUrl[0] === Constants.FORWARD_SLASH) {\n const url = new UrlString(baseUrl);\n const baseComponents = url.getUrlComponents();\n\n return baseComponents.Protocol + \"//\" + baseComponents.HostNameAndPort + relativeUrl;\n }\n\n return relativeUrl;\n }\n\n /**\n * Parses hash string from given string. Returns empty string if no hash symbol is found.\n * @param hashString\n */\n static parseHash(hashString: string): string {\n const hashIndex1 = hashString.indexOf(\"#\");\n const hashIndex2 = hashString.indexOf(\"#/\");\n if (hashIndex2 > -1) {\n return hashString.substring(hashIndex2 + 2);\n } else if (hashIndex1 > -1) {\n return hashString.substring(hashIndex1 + 1);\n }\n return \"\";\n }\n\n static constructAuthorityUriFromObject(urlObject: IUri): UrlString {\n return new UrlString(urlObject.Protocol + \"//\" + urlObject.HostNameAndPort + \"/\" + urlObject.PathSegments.join(\"/\"));\n }\n\n /**\n * Returns URL hash as server auth code response object.\n */\n static getDeserializedHash(hash: string): ServerAuthorizationCodeResponse {\n // Check if given hash is empty\n if (StringUtils.isEmpty(hash)) {\n return {};\n }\n // Strip the # symbol if present\n const parsedHash = UrlString.parseHash(hash);\n // If # symbol was not present, above will return empty string, so give original hash value\n const deserializedHash: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject<ServerAuthorizationCodeResponse>(StringUtils.isEmpty(parsedHash) ? hash : parsedHash);\n // Check if deserialization didn't work\n if (!deserializedHash) {\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedHash));\n }\n return deserializedHash;\n }\n\n /**\n * Check if the hash of the URL string contains known properties\n */\n static hashContainsKnownProperties(hash: string): boolean {\n if (StringUtils.isEmpty(hash) || hash.indexOf(\"=\") < 0) {\n // Hash doesn't contain key/value pairs\n return false;\n }\n\n const parameters: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n return !!(\n parameters.code ||\n parameters.error_description ||\n parameters.error ||\n parameters.state\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UrlString.js","sources":["../../src/url/UrlString.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ServerAuthorizationCodeResponse } from \"../response/ServerAuthorizationCodeResponse\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { IUri } from \"./IUri\";\nimport { AADAuthorityConstants, Constants } from \"../utils/Constants\";\n\n/**\n * Url object class which can perform various transformations on url strings.\n */\nexport class UrlString {\n\n // internal url string field\n private _urlString: string;\n public get urlString(): string {\n return this._urlString;\n }\n\n constructor(url: string) {\n this._urlString = url;\n if (StringUtils.isEmpty(this._urlString)) {\n // Throws error if url is empty\n throw ClientConfigurationError.createUrlEmptyError();\n }\n\n if (StringUtils.isEmpty(this.getHash())) {\n this._urlString = UrlString.canonicalizeUri(url);\n }\n }\n\n /**\n * Ensure urls are lower case and end with a / character.\n * @param url\n */\n static canonicalizeUri(url: string): string {\n if (url) {\n let lowerCaseUrl = url.toLowerCase();\n\n if (StringUtils.endsWith(lowerCaseUrl, \"?\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -1);\n } else if (StringUtils.endsWith(lowerCaseUrl, \"?/\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -2);\n }\n\n if (!StringUtils.endsWith(lowerCaseUrl, \"/\")) {\n lowerCaseUrl += \"/\";\n }\n\n return lowerCaseUrl;\n }\n\n return url;\n }\n\n /**\n * Throws if urlString passed is not a valid authority URI string.\n */\n validateAsUri(): void {\n // Attempts to parse url for uri components\n let components;\n try {\n components = this.getUrlComponents();\n } catch (e) {\n throw ClientConfigurationError.createUrlParseError(e);\n }\n\n // Throw error if URI or path segments are not parseable.\n if (!components.HostNameAndPort || !components.PathSegments) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Throw error if uri is insecure.\n if(!components.Protocol || components.Protocol.toLowerCase() !== \"https:\") {\n throw ClientConfigurationError.createInsecureAuthorityUriError(this.urlString);\n }\n }\n\n /**\n * Given a url and a query string return the url with provided query string appended\n * @param url\n * @param queryString\n */\n static appendQueryString(url: string, queryString: string): string {\n if (StringUtils.isEmpty(queryString)) {\n return url;\n }\n\n return url.indexOf(\"?\") < 0 ? `${url}?${queryString}` : `${url}&${queryString}`;\n }\n\n /**\n * Returns a url with the hash removed\n * @param url\n */\n static removeHashFromUrl(url: string): string {\n return UrlString.canonicalizeUri(url.split(\"#\")[0]);\n }\n\n /**\n * Given a url like https://a:b/common/d?e=f#g, and a tenantId, returns https://a:b/tenantId/d\n * @param href The url\n * @param tenantId The tenant id to replace\n */\n replaceTenantPath(tenantId: string): UrlString {\n const urlObject = this.getUrlComponents();\n const pathArray = urlObject.PathSegments;\n if (tenantId && (pathArray.length !== 0 && (pathArray[0] === AADAuthorityConstants.COMMON || pathArray[0] === AADAuthorityConstants.ORGANIZATIONS))) {\n pathArray[0] = tenantId;\n }\n return UrlString.constructAuthorityUriFromObject(urlObject);\n }\n\n /**\n * Returns the anchor part(#) of the URL\n */\n getHash(): string {\n return UrlString.parseHash(this.urlString);\n }\n\n /**\n * Parses out the components from a url string.\n * @returns An object with the various components. Please cache this value insted of calling this multiple times on the same url.\n */\n getUrlComponents(): IUri {\n // https://gist.github.com/curtisz/11139b2cfcaef4a261e0\n const regEx = RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\");\n\n // If url string does not match regEx, we throw an error\n const match = this.urlString.match(regEx);\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Url component object\n const urlComponents = {\n Protocol: match[1],\n HostNameAndPort: match[4],\n AbsolutePath: match[5],\n QueryString: match[7]\n } as IUri;\n\n let pathSegments = urlComponents.AbsolutePath.split(\"/\");\n pathSegments = pathSegments.filter((val) => val && val.length > 0); // remove empty elements\n urlComponents.PathSegments = pathSegments;\n\n if (!StringUtils.isEmpty(urlComponents.QueryString) && urlComponents.QueryString.endsWith(\"/\")) {\n urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length-1);\n }\n return urlComponents;\n }\n\n static getDomainFromUrl(url: string): string {\n const regEx = RegExp(\"^([^:/?#]+://)?([^/?#]*)\");\n\n const match = url.match(regEx);\n\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${url}`);\n }\n\n return match[2];\n }\n\n static getAbsoluteUrl(relativeUrl: string, baseUrl: string): string {\n if (relativeUrl[0] === Constants.FORWARD_SLASH) {\n const url = new UrlString(baseUrl);\n const baseComponents = url.getUrlComponents();\n\n return baseComponents.Protocol + \"//\" + baseComponents.HostNameAndPort + relativeUrl;\n }\n\n return relativeUrl;\n }\n\n /**\n * Parses hash string from given string. Returns empty string if no hash symbol is found.\n * @param hashString\n */\n static parseHash(hashString: string): string {\n const hashIndex1 = hashString.indexOf(\"#\");\n const hashIndex2 = hashString.indexOf(\"#/\");\n if (hashIndex2 > -1) {\n return hashString.substring(hashIndex2 + 2);\n } else if (hashIndex1 > -1) {\n return hashString.substring(hashIndex1 + 1);\n }\n return Constants.EMPTY_STRING;\n }\n\n static constructAuthorityUriFromObject(urlObject: IUri): UrlString {\n return new UrlString(urlObject.Protocol + \"//\" + urlObject.HostNameAndPort + \"/\" + urlObject.PathSegments.join(\"/\"));\n }\n\n /**\n * Returns URL hash as server auth code response object.\n */\n static getDeserializedHash(hash: string): ServerAuthorizationCodeResponse {\n // Check if given hash is empty\n if (StringUtils.isEmpty(hash)) {\n return {};\n }\n // Strip the # symbol if present\n const parsedHash = UrlString.parseHash(hash);\n // If # symbol was not present, above will return empty string, so give original hash value\n const deserializedHash: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject<ServerAuthorizationCodeResponse>(StringUtils.isEmpty(parsedHash) ? hash : parsedHash);\n // Check if deserialization didn't work\n if (!deserializedHash) {\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedHash));\n }\n return deserializedHash;\n }\n\n /**\n * Check if the hash of the URL string contains known properties\n */\n static hashContainsKnownProperties(hash: string): boolean {\n if (StringUtils.isEmpty(hash) || hash.indexOf(\"=\") < 0) {\n // Hash doesn't contain key/value pairs\n return false;\n }\n\n const parameters: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n return !!(\n parameters.code ||\n parameters.error_description ||\n parameters.error ||\n parameters.state\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -31,6 +31,8 @@ export declare const Constants: {
31
31
  AZURE_REGION_AUTO_DISCOVER_FLAG: string;
32
32
  REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: string;
33
33
  KNOWN_PUBLIC_CLOUDS: string[];
34
+ TOKEN_RESPONSE_TYPE: string;
35
+ ID_TOKEN_RESPONSE_TYPE: string;
34
36
  };
35
37
  export declare const OIDC_DEFAULT_SCOPES: string[];
36
38
  export declare const OIDC_SCOPES: string[];
@@ -97,6 +99,8 @@ export declare enum AADServerParamKeys {
97
99
  X_CLIENT_CURR_TELEM = "x-client-current-telemetry",
98
100
  X_CLIENT_LAST_TELEM = "x-client-last-telemetry",
99
101
  X_MS_LIB_CAPABILITY = "x-ms-lib-capability",
102
+ X_APP_NAME = "x-app-name",
103
+ X_APP_VER = "x-app-ver",
100
104
  POST_LOGOUT_URI = "post_logout_redirect_uri",
101
105
  ID_TOKEN_HINT = "id_token_hint",
102
106
  DEVICE_CODE = "device_code",
@@ -111,6 +115,7 @@ export declare enum AADServerParamKeys {
111
115
  FOCI = "foci",
112
116
  CCS_HEADER = "X-AnchorMailbox",
113
117
  RETURN_SPA_CODE = "return_spa_code",
118
+ NATIVE_BROKER = "nativebroker",
114
119
  LOGOUT_HINT = "logout_hint"
115
120
  }
116
121
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../src/utils/Constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../src/utils/Constants.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v6.1.0 2022-02-08 */
1
+ /*! @azure/msal-common v6.3.0 2022-05-02 */
2
2
  'use strict';
3
3
  import { __spreadArrays } from '../_virtual/_tslib.js';
4
4
 
@@ -48,7 +48,9 @@ var Constants = {
48
48
  IMDS_TIMEOUT: 2000,
49
49
  AZURE_REGION_AUTO_DISCOVER_FLAG: "TryAutoDetect",
50
50
  REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: "login.microsoft.com",
51
- KNOWN_PUBLIC_CLOUDS: ["login.microsoftonline.com", "login.windows.net", "login.microsoft.com", "sts.windows.net"]
51
+ KNOWN_PUBLIC_CLOUDS: ["login.microsoftonline.com", "login.windows.net", "login.microsoft.com", "sts.windows.net"],
52
+ TOKEN_RESPONSE_TYPE: "token",
53
+ ID_TOKEN_RESPONSE_TYPE: "id_token"
52
54
  };
53
55
  var OIDC_DEFAULT_SCOPES = [
54
56
  Constants.OPENID_SCOPE,
@@ -125,6 +127,8 @@ var AADServerParamKeys;
125
127
  AADServerParamKeys["X_CLIENT_CURR_TELEM"] = "x-client-current-telemetry";
126
128
  AADServerParamKeys["X_CLIENT_LAST_TELEM"] = "x-client-last-telemetry";
127
129
  AADServerParamKeys["X_MS_LIB_CAPABILITY"] = "x-ms-lib-capability";
130
+ AADServerParamKeys["X_APP_NAME"] = "x-app-name";
131
+ AADServerParamKeys["X_APP_VER"] = "x-app-ver";
128
132
  AADServerParamKeys["POST_LOGOUT_URI"] = "post_logout_redirect_uri";
129
133
  AADServerParamKeys["ID_TOKEN_HINT"] = "id_token_hint";
130
134
  AADServerParamKeys["DEVICE_CODE"] = "device_code";
@@ -139,6 +143,7 @@ var AADServerParamKeys;
139
143
  AADServerParamKeys["FOCI"] = "foci";
140
144
  AADServerParamKeys["CCS_HEADER"] = "X-AnchorMailbox";
141
145
  AADServerParamKeys["RETURN_SPA_CODE"] = "return_spa_code";
146
+ AADServerParamKeys["NATIVE_BROKER"] = "nativebroker";
142
147
  AADServerParamKeys["LOGOUT_HINT"] = "logout_hint";
143
148
  })(AADServerParamKeys || (AADServerParamKeys = {}));
144
149
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","sources":["../../src/utils/Constants.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport const Constants = {\n LIBRARY_NAME: \"MSAL.JS\",\n SKU: \"msal.js.common\",\n // Prefix for all library cache entries\n CACHE_PREFIX: \"msal\",\n // default authority\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\n DEFAULT_COMMON_TENANT: \"common\",\n // ADFS String\n ADFS: \"adfs\",\n // Default AAD Instance Discovery Endpoint\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\n // Resource delimiter - used for certain cache entries\n RESOURCE_DELIM: \"|\",\n // Placeholder for non-existent account ids/objects\n NO_ACCOUNT: \"NO_ACCOUNT\",\n // Claims\n CLAIMS: \"claims\",\n // Consumer UTID\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\n // Default scopes\n OPENID_SCOPE: \"openid\",\n PROFILE_SCOPE: \"profile\",\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\n EMAIL_SCOPE: \"email\",\n // Default response type for authorization code flow\n CODE_RESPONSE_TYPE: \"code\",\n CODE_GRANT_TYPE: \"authorization_code\",\n RT_GRANT_TYPE: \"refresh_token\",\n FRAGMENT_RESPONSE_MODE: \"fragment\",\n S256_CODE_CHALLENGE_METHOD: \"S256\",\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\n AUTHORIZATION_PENDING: \"authorization_pending\",\n NOT_DEFINED: \"not_defined\",\n EMPTY_STRING: \"\",\n FORWARD_SLASH: \"/\",\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\n IMDS_VERSION: \"2020-06-01\",\n IMDS_TIMEOUT: 2000,\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\n KNOWN_PUBLIC_CLOUDS: [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"]\n};\n\nexport const OIDC_DEFAULT_SCOPES = [\n Constants.OPENID_SCOPE,\n Constants.PROFILE_SCOPE,\n Constants.OFFLINE_ACCESS_SCOPE\n];\n\nexport const OIDC_SCOPES = [\n ...OIDC_DEFAULT_SCOPES,\n Constants.EMAIL_SCOPE\n];\n\n/**\n * Request header names\n */\nexport enum HeaderNames {\n CONTENT_TYPE = \"Content-Type\",\n RETRY_AFTER = \"Retry-After\",\n CCS_HEADER = \"X-AnchorMailbox\",\n WWWAuthenticate = \"WWW-Authenticate\",\n AuthenticationInfo = \"Authentication-Info\"\n}\n\n/**\n * Persistent cache keys MSAL which stay while user is logged in.\n */\nexport enum PersistentCacheKeys {\n ID_TOKEN = \"idtoken\",\n CLIENT_INFO = \"client.info\",\n ADAL_ID_TOKEN = \"adal.idtoken\",\n ERROR = \"error\",\n ERROR_DESC = \"error.description\",\n ACTIVE_ACCOUNT = \"active-account\"\n}\n\n/**\n * String constants related to AAD Authority\n */\nexport enum AADAuthorityConstants {\n COMMON = \"common\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\"\n}\n\n/**\n * Keys in the hashParams sent by AAD Server\n */\nexport enum AADServerParamKeys {\n CLIENT_ID = \"client_id\",\n REDIRECT_URI = \"redirect_uri\",\n RESPONSE_TYPE = \"response_type\",\n RESPONSE_MODE = \"response_mode\",\n GRANT_TYPE = \"grant_type\",\n CLAIMS = \"claims\",\n SCOPE = \"scope\",\n ERROR = \"error\",\n ERROR_DESCRIPTION = \"error_description\",\n ACCESS_TOKEN = \"access_token\",\n ID_TOKEN = \"id_token\",\n REFRESH_TOKEN = \"refresh_token\",\n EXPIRES_IN = \"expires_in\",\n STATE = \"state\",\n NONCE = \"nonce\",\n PROMPT = \"prompt\",\n SESSION_STATE = \"session_state\",\n CLIENT_INFO = \"client_info\",\n CODE = \"code\",\n CODE_CHALLENGE = \"code_challenge\",\n CODE_CHALLENGE_METHOD = \"code_challenge_method\",\n CODE_VERIFIER = \"code_verifier\",\n CLIENT_REQUEST_ID = \"client-request-id\",\n X_CLIENT_SKU = \"x-client-SKU\",\n X_CLIENT_VER = \"x-client-VER\",\n X_CLIENT_OS = \"x-client-OS\",\n X_CLIENT_CPU = \"x-client-CPU\",\n X_CLIENT_CURR_TELEM = \"x-client-current-telemetry\",\n X_CLIENT_LAST_TELEM = \"x-client-last-telemetry\",\n X_MS_LIB_CAPABILITY = \"x-ms-lib-capability\",\n POST_LOGOUT_URI = \"post_logout_redirect_uri\",\n ID_TOKEN_HINT= \"id_token_hint\",\n DEVICE_CODE = \"device_code\",\n CLIENT_SECRET = \"client_secret\",\n CLIENT_ASSERTION = \"client_assertion\",\n CLIENT_ASSERTION_TYPE = \"client_assertion_type\",\n TOKEN_TYPE = \"token_type\",\n REQ_CNF = \"req_cnf\",\n OBO_ASSERTION = \"assertion\",\n REQUESTED_TOKEN_USE = \"requested_token_use\",\n ON_BEHALF_OF = \"on_behalf_of\",\n FOCI = \"foci\",\n CCS_HEADER = \"X-AnchorMailbox\",\n RETURN_SPA_CODE = \"return_spa_code\",\n LOGOUT_HINT = \"logout_hint\"\n}\n\n/**\n * Claims request keys\n */\nexport enum ClaimsRequestKeys {\n ACCESS_TOKEN = \"access_token\",\n XMS_CC = \"xms_cc\"\n}\n\n/**\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\n */\nexport const PromptValue = {\n LOGIN: \"login\",\n SELECT_ACCOUNT: \"select_account\",\n CONSENT: \"consent\",\n NONE: \"none\",\n CREATE: \"create\"\n};\n\n/**\n * SSO Types - generated to populate hints\n */\nexport enum SSOTypes {\n ACCOUNT = \"account\",\n SID = \"sid\",\n LOGIN_HINT = \"login_hint\",\n ID_TOKEN = \"id_token\",\n DOMAIN_HINT = \"domain_hint\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\",\n ACCOUNT_ID = \"accountIdentifier\",\n HOMEACCOUNT_ID = \"homeAccountIdentifier\"\n}\n\n/**\n * Disallowed extra query parameters.\n */\nexport const BlacklistedEQParams = [\n SSOTypes.SID,\n SSOTypes.LOGIN_HINT\n];\n\n/**\n * allowed values for codeVerifier\n */\nexport const CodeChallengeMethodValues = {\n PLAIN: \"plain\",\n S256: \"S256\"\n};\n\n/**\n * The method used to encode the code verifier for the code challenge parameter. can be one\n * of plain or s256. if excluded, code challenge is assumed to be plaintext. for more\n * information, see the pkce rcf: https://tools.ietf.org/html/rfc7636\n */\nexport const CodeChallengeMethodValuesArray: string[] = [\n CodeChallengeMethodValues.PLAIN,\n CodeChallengeMethodValues.S256\n];\n\n/**\n * allowed values for response_mode\n */\nexport enum ResponseMode {\n QUERY = \"query\",\n FRAGMENT = \"fragment\",\n FORM_POST = \"form_post\"\n}\n\n/**\n * allowed grant_type\n */\nexport enum GrantType {\n IMPLICIT_GRANT = \"implicit\",\n AUTHORIZATION_CODE_GRANT = \"authorization_code\",\n CLIENT_CREDENTIALS_GRANT = \"client_credentials\",\n RESOURCE_OWNER_PASSWORD_GRANT = \"password\",\n REFRESH_TOKEN_GRANT = \"refresh_token\",\n DEVICE_CODE_GRANT = \"device_code\",\n JWT_BEARER = \"urn:ietf:params:oauth:grant-type:jwt-bearer\"\n}\n\n/**\n * Account types in Cache\n */\nexport enum CacheAccountType {\n MSSTS_ACCOUNT_TYPE = \"MSSTS\",\n ADFS_ACCOUNT_TYPE = \"ADFS\",\n MSAV1_ACCOUNT_TYPE = \"MSA\",\n GENERIC_ACCOUNT_TYPE = \"Generic\" // NTLM, Kerberos, FBA, Basic etc\n}\n\n/**\n * Separators used in cache\n */\nexport enum Separators {\n CACHE_KEY_SEPARATOR = \"-\",\n CLIENT_INFO_SEPARATOR = \".\"\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CredentialType {\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n ACCESS_TOKEN_WITH_AUTH_SCHEME = \"AccessToken_With_AuthScheme\",\n REFRESH_TOKEN = \"RefreshToken\",\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CacheSchemaType {\n ACCOUNT = \"Account\",\n CREDENTIAL = \"Credential\",\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n REFRESH_TOKEN = \"RefreshToken\",\n APP_METADATA = \"AppMetadata\",\n TEMPORARY = \"TempCache\",\n TELEMETRY = \"Telemetry\",\n UNDEFINED = \"Undefined\",\n THROTTLING = \"Throttling\"\n}\n\n/**\n * Combine all cache types\n */\nexport enum CacheType {\n ADFS = 1001,\n MSA = 1002,\n MSSTS = 1003,\n GENERIC = 1004,\n ACCESS_TOKEN = 2001,\n REFRESH_TOKEN = 2002,\n ID_TOKEN = 2003,\n APP_METADATA = 3001,\n UNDEFINED = 9999\n}\n\n/**\n * More Cache related constants\n */\nexport const APP_METADATA = \"appmetadata\";\nexport const CLIENT_INFO = \"client_info\";\nexport const THE_FAMILY_ID = \"1\";\n\nexport const AUTHORITY_METADATA_CONSTANTS = {\n CACHE_KEY: \"authority-metadata\",\n REFRESH_TIME_SECONDS: 3600 * 24 // 24 Hours\n};\n\nexport enum AuthorityMetadataSource {\n CONFIG = \"config\",\n CACHE = \"cache\",\n NETWORK = \"network\"\n}\n\nexport const SERVER_TELEM_CONSTANTS = {\n SCHEMA_VERSION: 5,\n MAX_CUR_HEADER_BYTES: 80, // ESTS limit is 100B, set to 80 to provide a 20B buffer\n MAX_LAST_HEADER_BYTES: 330, // ESTS limit is 350B, set to 330 to provide a 20B buffer,\n MAX_CACHED_ERRORS: 50, // Limit the number of errors that can be stored to prevent uncontrolled size gains\n CACHE_KEY: \"server-telemetry\",\n CATEGORY_SEPARATOR: \"|\",\n VALUE_SEPARATOR: \",\",\n OVERFLOW_TRUE: \"1\",\n OVERFLOW_FALSE: \"0\",\n UNKNOWN_ERROR: \"unknown_error\"\n};\n\n/**\n * Type of the authentication request\n */\nexport enum AuthenticationScheme {\n BEARER = \"Bearer\",\n POP = \"pop\",\n SSH = \"ssh-cert\"\n}\n\n/**\n * Constants related to throttling\n */\nexport const ThrottlingConstants = {\n // Default time to throttle RequestThumbprint in seconds\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\n // Default maximum time to throttle in seconds, overrides what the server sends back\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\n // Prefix for storing throttling entries\n THROTTLING_PREFIX: \"throttling\",\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\"\n};\n\nexport const Errors = {\n INVALID_GRANT_ERROR: \"invalid_grant\",\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\n};\n\n/**\n * Password grant parameters\n */\nexport enum PasswordGrantConstants {\n username = \"username\",\n password = \"password\"\n}\n\n/**\n * Response codes\n */\nexport enum ResponseCodes {\n httpSuccess = 200,\n httpBadRequest = 400\n}\n\n/**\n * Region Discovery Sources\n */\nexport enum RegionDiscoverySources {\n FAILED_AUTO_DETECTION = \"1\",\n INTERNAL_CACHE = \"2\",\n ENVIRONMENT_VARIABLE = \"3\",\n IMDS = \"4\",\n}\n\n/**\n * Region Discovery Outcomes\n */\nexport enum RegionDiscoveryOutcomes {\n CONFIGURED_MATCHES_DETECTED = \"1\",\n CONFIGURED_NO_AUTO_DETECTION = \"2\",\n CONFIGURED_NOT_DETECTED = \"3\",\n AUTO_DETECTION_REQUESTED_SUCCESSFUL = \"4\",\n AUTO_DETECTION_REQUESTED_FAILED = \"5\"\n}\n\nexport enum CacheOutcome {\n NO_CACHE_HIT = \"0\",\n FORCE_REFRESH = \"1\",\n NO_CACHED_ACCESS_TOKEN = \"2\",\n CACHED_ACCESS_TOKEN_EXPIRED = \"3\",\n REFRESH_CACHED_ACCESS_TOKEN = \"4\"\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Constants.js","sources":["../../src/utils/Constants.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport const Constants = {\n LIBRARY_NAME: \"MSAL.JS\",\n SKU: \"msal.js.common\",\n // Prefix for all library cache entries\n CACHE_PREFIX: \"msal\",\n // default authority\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\n DEFAULT_COMMON_TENANT: \"common\",\n // ADFS String\n ADFS: \"adfs\",\n // Default AAD Instance Discovery Endpoint\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\n // Resource delimiter - used for certain cache entries\n RESOURCE_DELIM: \"|\",\n // Placeholder for non-existent account ids/objects\n NO_ACCOUNT: \"NO_ACCOUNT\",\n // Claims\n CLAIMS: \"claims\",\n // Consumer UTID\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\n // Default scopes\n OPENID_SCOPE: \"openid\",\n PROFILE_SCOPE: \"profile\",\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\n EMAIL_SCOPE: \"email\",\n // Default response type for authorization code flow\n CODE_RESPONSE_TYPE: \"code\",\n CODE_GRANT_TYPE: \"authorization_code\",\n RT_GRANT_TYPE: \"refresh_token\",\n FRAGMENT_RESPONSE_MODE: \"fragment\",\n S256_CODE_CHALLENGE_METHOD: \"S256\",\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\n AUTHORIZATION_PENDING: \"authorization_pending\",\n NOT_DEFINED: \"not_defined\",\n EMPTY_STRING: \"\",\n FORWARD_SLASH: \"/\",\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\n IMDS_VERSION: \"2020-06-01\",\n IMDS_TIMEOUT: 2000,\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\n KNOWN_PUBLIC_CLOUDS: [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"],\n TOKEN_RESPONSE_TYPE: \"token\",\n ID_TOKEN_RESPONSE_TYPE: \"id_token\"\n};\n\nexport const OIDC_DEFAULT_SCOPES = [\n Constants.OPENID_SCOPE,\n Constants.PROFILE_SCOPE,\n Constants.OFFLINE_ACCESS_SCOPE\n];\n\nexport const OIDC_SCOPES = [\n ...OIDC_DEFAULT_SCOPES,\n Constants.EMAIL_SCOPE\n];\n\n/**\n * Request header names\n */\nexport enum HeaderNames {\n CONTENT_TYPE = \"Content-Type\",\n RETRY_AFTER = \"Retry-After\",\n CCS_HEADER = \"X-AnchorMailbox\",\n WWWAuthenticate = \"WWW-Authenticate\",\n AuthenticationInfo = \"Authentication-Info\"\n}\n\n/**\n * Persistent cache keys MSAL which stay while user is logged in.\n */\nexport enum PersistentCacheKeys {\n ID_TOKEN = \"idtoken\",\n CLIENT_INFO = \"client.info\",\n ADAL_ID_TOKEN = \"adal.idtoken\",\n ERROR = \"error\",\n ERROR_DESC = \"error.description\",\n ACTIVE_ACCOUNT = \"active-account\"\n}\n\n/**\n * String constants related to AAD Authority\n */\nexport enum AADAuthorityConstants {\n COMMON = \"common\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\"\n}\n\n/**\n * Keys in the hashParams sent by AAD Server\n */\nexport enum AADServerParamKeys {\n CLIENT_ID = \"client_id\",\n REDIRECT_URI = \"redirect_uri\",\n RESPONSE_TYPE = \"response_type\",\n RESPONSE_MODE = \"response_mode\",\n GRANT_TYPE = \"grant_type\",\n CLAIMS = \"claims\",\n SCOPE = \"scope\",\n ERROR = \"error\",\n ERROR_DESCRIPTION = \"error_description\",\n ACCESS_TOKEN = \"access_token\",\n ID_TOKEN = \"id_token\",\n REFRESH_TOKEN = \"refresh_token\",\n EXPIRES_IN = \"expires_in\",\n STATE = \"state\",\n NONCE = \"nonce\",\n PROMPT = \"prompt\",\n SESSION_STATE = \"session_state\",\n CLIENT_INFO = \"client_info\",\n CODE = \"code\",\n CODE_CHALLENGE = \"code_challenge\",\n CODE_CHALLENGE_METHOD = \"code_challenge_method\",\n CODE_VERIFIER = \"code_verifier\",\n CLIENT_REQUEST_ID = \"client-request-id\",\n X_CLIENT_SKU = \"x-client-SKU\",\n X_CLIENT_VER = \"x-client-VER\",\n X_CLIENT_OS = \"x-client-OS\",\n X_CLIENT_CPU = \"x-client-CPU\",\n X_CLIENT_CURR_TELEM = \"x-client-current-telemetry\",\n X_CLIENT_LAST_TELEM = \"x-client-last-telemetry\",\n X_MS_LIB_CAPABILITY = \"x-ms-lib-capability\",\n X_APP_NAME = \"x-app-name\",\n X_APP_VER = \"x-app-ver\",\n POST_LOGOUT_URI = \"post_logout_redirect_uri\",\n ID_TOKEN_HINT= \"id_token_hint\",\n DEVICE_CODE = \"device_code\",\n CLIENT_SECRET = \"client_secret\",\n CLIENT_ASSERTION = \"client_assertion\",\n CLIENT_ASSERTION_TYPE = \"client_assertion_type\",\n TOKEN_TYPE = \"token_type\",\n REQ_CNF = \"req_cnf\",\n OBO_ASSERTION = \"assertion\",\n REQUESTED_TOKEN_USE = \"requested_token_use\",\n ON_BEHALF_OF = \"on_behalf_of\",\n FOCI = \"foci\",\n CCS_HEADER = \"X-AnchorMailbox\",\n RETURN_SPA_CODE = \"return_spa_code\",\n NATIVE_BROKER = \"nativebroker\",\n LOGOUT_HINT = \"logout_hint\"\n}\n\n/**\n * Claims request keys\n */\nexport enum ClaimsRequestKeys {\n ACCESS_TOKEN = \"access_token\",\n XMS_CC = \"xms_cc\"\n}\n\n/**\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\n */\nexport const PromptValue = {\n LOGIN: \"login\",\n SELECT_ACCOUNT: \"select_account\",\n CONSENT: \"consent\",\n NONE: \"none\",\n CREATE: \"create\"\n};\n\n/**\n * SSO Types - generated to populate hints\n */\nexport enum SSOTypes {\n ACCOUNT = \"account\",\n SID = \"sid\",\n LOGIN_HINT = \"login_hint\",\n ID_TOKEN = \"id_token\",\n DOMAIN_HINT = \"domain_hint\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\",\n ACCOUNT_ID = \"accountIdentifier\",\n HOMEACCOUNT_ID = \"homeAccountIdentifier\"\n}\n\n/**\n * Disallowed extra query parameters.\n */\nexport const BlacklistedEQParams = [\n SSOTypes.SID,\n SSOTypes.LOGIN_HINT\n];\n\n/**\n * allowed values for codeVerifier\n */\nexport const CodeChallengeMethodValues = {\n PLAIN: \"plain\",\n S256: \"S256\"\n};\n\n/**\n * The method used to encode the code verifier for the code challenge parameter. can be one\n * of plain or s256. if excluded, code challenge is assumed to be plaintext. for more\n * information, see the pkce rcf: https://tools.ietf.org/html/rfc7636\n */\nexport const CodeChallengeMethodValuesArray: string[] = [\n CodeChallengeMethodValues.PLAIN,\n CodeChallengeMethodValues.S256\n];\n\n/**\n * allowed values for response_mode\n */\nexport enum ResponseMode {\n QUERY = \"query\",\n FRAGMENT = \"fragment\",\n FORM_POST = \"form_post\"\n}\n\n/**\n * allowed grant_type\n */\nexport enum GrantType {\n IMPLICIT_GRANT = \"implicit\",\n AUTHORIZATION_CODE_GRANT = \"authorization_code\",\n CLIENT_CREDENTIALS_GRANT = \"client_credentials\",\n RESOURCE_OWNER_PASSWORD_GRANT = \"password\",\n REFRESH_TOKEN_GRANT = \"refresh_token\",\n DEVICE_CODE_GRANT = \"device_code\",\n JWT_BEARER = \"urn:ietf:params:oauth:grant-type:jwt-bearer\"\n}\n\n/**\n * Account types in Cache\n */\nexport enum CacheAccountType {\n MSSTS_ACCOUNT_TYPE = \"MSSTS\",\n ADFS_ACCOUNT_TYPE = \"ADFS\",\n MSAV1_ACCOUNT_TYPE = \"MSA\",\n GENERIC_ACCOUNT_TYPE = \"Generic\" // NTLM, Kerberos, FBA, Basic etc\n}\n\n/**\n * Separators used in cache\n */\nexport enum Separators {\n CACHE_KEY_SEPARATOR = \"-\",\n CLIENT_INFO_SEPARATOR = \".\"\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CredentialType {\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n ACCESS_TOKEN_WITH_AUTH_SCHEME = \"AccessToken_With_AuthScheme\",\n REFRESH_TOKEN = \"RefreshToken\",\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CacheSchemaType {\n ACCOUNT = \"Account\",\n CREDENTIAL = \"Credential\",\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n REFRESH_TOKEN = \"RefreshToken\",\n APP_METADATA = \"AppMetadata\",\n TEMPORARY = \"TempCache\",\n TELEMETRY = \"Telemetry\",\n UNDEFINED = \"Undefined\",\n THROTTLING = \"Throttling\"\n}\n\n/**\n * Combine all cache types\n */\nexport enum CacheType {\n ADFS = 1001,\n MSA = 1002,\n MSSTS = 1003,\n GENERIC = 1004,\n ACCESS_TOKEN = 2001,\n REFRESH_TOKEN = 2002,\n ID_TOKEN = 2003,\n APP_METADATA = 3001,\n UNDEFINED = 9999\n}\n\n/**\n * More Cache related constants\n */\nexport const APP_METADATA = \"appmetadata\";\nexport const CLIENT_INFO = \"client_info\";\nexport const THE_FAMILY_ID = \"1\";\n\nexport const AUTHORITY_METADATA_CONSTANTS = {\n CACHE_KEY: \"authority-metadata\",\n REFRESH_TIME_SECONDS: 3600 * 24 // 24 Hours\n};\n\nexport enum AuthorityMetadataSource {\n CONFIG = \"config\",\n CACHE = \"cache\",\n NETWORK = \"network\"\n}\n\nexport const SERVER_TELEM_CONSTANTS = {\n SCHEMA_VERSION: 5,\n MAX_CUR_HEADER_BYTES: 80, // ESTS limit is 100B, set to 80 to provide a 20B buffer\n MAX_LAST_HEADER_BYTES: 330, // ESTS limit is 350B, set to 330 to provide a 20B buffer,\n MAX_CACHED_ERRORS: 50, // Limit the number of errors that can be stored to prevent uncontrolled size gains\n CACHE_KEY: \"server-telemetry\",\n CATEGORY_SEPARATOR: \"|\",\n VALUE_SEPARATOR: \",\",\n OVERFLOW_TRUE: \"1\",\n OVERFLOW_FALSE: \"0\",\n UNKNOWN_ERROR: \"unknown_error\"\n};\n\n/**\n * Type of the authentication request\n */\nexport enum AuthenticationScheme {\n BEARER = \"Bearer\",\n POP = \"pop\",\n SSH = \"ssh-cert\"\n}\n\n/**\n * Constants related to throttling\n */\nexport const ThrottlingConstants = {\n // Default time to throttle RequestThumbprint in seconds\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\n // Default maximum time to throttle in seconds, overrides what the server sends back\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\n // Prefix for storing throttling entries\n THROTTLING_PREFIX: \"throttling\",\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\"\n};\n\nexport const Errors = {\n INVALID_GRANT_ERROR: \"invalid_grant\",\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\n};\n\n/**\n * Password grant parameters\n */\nexport enum PasswordGrantConstants {\n username = \"username\",\n password = \"password\"\n}\n\n/**\n * Response codes\n */\nexport enum ResponseCodes {\n httpSuccess = 200,\n httpBadRequest = 400\n}\n\n/**\n * Region Discovery Sources\n */\nexport enum RegionDiscoverySources {\n FAILED_AUTO_DETECTION = \"1\",\n INTERNAL_CACHE = \"2\",\n ENVIRONMENT_VARIABLE = \"3\",\n IMDS = \"4\",\n}\n\n/**\n * Region Discovery Outcomes\n */\nexport enum RegionDiscoveryOutcomes {\n CONFIGURED_MATCHES_DETECTED = \"1\",\n CONFIGURED_NO_AUTO_DETECTION = \"2\",\n CONFIGURED_NOT_DETECTED = \"3\",\n AUTO_DETECTION_REQUESTED_SUCCESSFUL = \"4\",\n AUTO_DETECTION_REQUESTED_FAILED = \"5\"\n}\n\nexport enum CacheOutcome {\n NO_CACHE_HIT = \"0\",\n FORCE_REFRESH = \"1\",\n NO_CACHED_ACCESS_TOKEN = \"2\",\n CACHED_ACCESS_TOKEN_EXPIRED = \"3\",\n REFRESH_CACHED_ACCESS_TOKEN = \"4\"\n}\n"],"names":[],"mappings":";;;;AAAA;;;;IAKa,SAAS,GAAG;IACrB,YAAY,EAAE,SAAS;IACvB,GAAG,EAAE,gBAAgB;;IAErB,YAAY,EAAE,MAAM;;IAEpB,iBAAiB,EAAE,2CAA2C;IAC9D,sBAAsB,EAAE,2BAA2B;IACnD,qBAAqB,EAAE,QAAQ;;IAE/B,IAAI,EAAE,MAAM;;IAEZ,4BAA4B,EAAE,qGAAqG;;IAEnI,cAAc,EAAE,GAAG;;IAEnB,UAAU,EAAE,YAAY;;IAExB,MAAM,EAAE,QAAQ;;IAEhB,aAAa,EAAE,sCAAsC;;IAErD,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,SAAS;IACxB,oBAAoB,EAAE,gBAAgB;IACtC,WAAW,EAAE,OAAO;;IAEpB,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,oBAAoB;IACrC,aAAa,EAAE,eAAe;IAC9B,sBAAsB,EAAE,UAAU;IAClC,0BAA0B,EAAE,MAAM;IAClC,qBAAqB,EAAE,iDAAiD;IACxE,qBAAqB,EAAE,uBAAuB;IAC9C,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,2DAA2D;IAC1E,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,IAAI;IAClB,+BAA+B,EAAE,eAAe;IAChD,iCAAiC,EAAE,qBAAqB;IACxD,mBAAmB,EAAE,CAAC,2BAA2B,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,iBAAiB,CAAC;IACjH,mBAAmB,EAAE,OAAO;IAC5B,sBAAsB,EAAE,UAAU;EACpC;IAEW,mBAAmB,GAAG;IAC/B,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,oBAAoB;EAChC;IAEW,WAAW,kBACjB,mBAAmB;IACtB,SAAS,CAAC,WAAW;GACvB;AAEF;;;IAGY;AAAZ,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,6CAA8B,CAAA;IAC9B,mDAAoC,CAAA;IACpC,yDAA0C,CAAA;AAC9C,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED;;;IAGY;AAAZ,WAAY,mBAAmB;IAC3B,2CAAoB,CAAA;IACpB,kDAA2B,CAAA;IAC3B,qDAA8B,CAAA;IAC9B,sCAAe,CAAA;IACf,uDAAgC,CAAA;IAChC,wDAAiC,CAAA;AACrC,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B;AAED;;;IAGY;AAAZ,WAAY,qBAAqB;IAC7B,0CAAiB,CAAA;IACjB,wDAA+B,CAAA;IAC/B,gDAAuB,CAAA;AAC3B,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAED;;;IAGY;AAAZ,WAAY,kBAAkB;IAC1B,6CAAuB,CAAA;IACvB,mDAA6B,CAAA;IAC7B,qDAA+B,CAAA;IAC/B,qDAA+B,CAAA;IAC/B,+CAAyB,CAAA;IACzB,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,6DAAuC,CAAA;IACvC,mDAA6B,CAAA;IAC7B,2CAAqB,CAAA;IACrB,qDAA+B,CAAA;IAC/B,+CAAyB,CAAA;IACzB,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,qDAA+B,CAAA;IAC/B,iDAA2B,CAAA;IAC3B,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,qEAA+C,CAAA;IAC/C,qDAA+B,CAAA;IAC/B,6DAAuC,CAAA;IACvC,mDAA6B,CAAA;IAC7B,mDAA6B,CAAA;IAC7B,iDAA2B,CAAA;IAC3B,mDAA6B,CAAA;IAC7B,wEAAkD,CAAA;IAClD,qEAA+C,CAAA;IAC/C,iEAA2C,CAAA;IAC3C,+CAAyB,CAAA;IACzB,6CAAuB,CAAA;IACvB,kEAA4C,CAAA;IAC5C,qDAA8B,CAAA;IAC9B,iDAA2B,CAAA;IAC3B,qDAA+B,CAAA;IAC/B,2DAAqC,CAAA;IACrC,qEAA+C,CAAA;IAC/C,+CAAyB,CAAA;IACzB,yCAAmB,CAAA;IACnB,iDAA2B,CAAA;IAC3B,iEAA2C,CAAA;IAC3C,mDAA6B,CAAA;IAC7B,mCAAa,CAAA;IACb,oDAA8B,CAAA;IAC9B,yDAAmC,CAAA;IACnC,oDAA8B,CAAA;IAC9B,iDAA2B,CAAA;AAC/B,CAAC,EAjDW,kBAAkB,KAAlB,kBAAkB,QAiD7B;AAED;;;IAGY;AAAZ,WAAY,iBAAiB;IACzB,kDAA6B,CAAA;IAC7B,sCAAiB,CAAA;AACrB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED;;;;;IAKa,WAAW,GAAG;IACvB,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;EAClB;AAEF;;;IAGY;AAAZ,WAAY,QAAQ;IAChB,+BAAmB,CAAA;IACnB,uBAAW,CAAA;IACX,qCAAyB,CAAA;IACzB,iCAAqB,CAAA;IACrB,uCAA2B,CAAA;IAC3B,2CAA+B,CAAA;IAC/B,mCAAuB,CAAA;IACvB,4CAAgC,CAAA;IAChC,oDAAwC,CAAA;AAC5C,CAAC,EAVW,QAAQ,KAAR,QAAQ,QAUnB;AAUD;;;IAGa,yBAAyB,GAAG;IACrC,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;EACd;AAYF;;;IAGY;AAAZ,WAAY,YAAY;IACpB,+BAAe,CAAA;IACf,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;AAC3B,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED;;;IAGY;AAAZ,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,4DAA+C,CAAA;IAC/C,4DAA+C,CAAA;IAC/C,uDAA0C,CAAA;IAC1C,kDAAqC,CAAA;IACrC,8CAAiC,CAAA;IACjC,uEAA0D,CAAA;AAC9D,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAED;;;IAGY;AAAZ,WAAY,gBAAgB;IACxB,gDAA4B,CAAA;IAC5B,8CAA0B,CAAA;IAC1B,8CAA0B,CAAA;IAC1B,oDAAgC,CAAA;AACpC,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED;;;IAGY;AAAZ,WAAY,UAAU;IAClB,uCAAyB,CAAA;IACzB,yCAA2B,CAAA;AAC/B,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED;;;IAGY;AAAZ,WAAY,cAAc;IACtB,sCAAoB,CAAA;IACpB,8CAA4B,CAAA;IAC5B,+EAA6D,CAAA;IAC7D,gDAA8B,CAAA;AAClC,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED;;;IAGY;AAAZ,WAAY,eAAe;IACvB,sCAAmB,CAAA;IACnB,4CAAyB,CAAA;IACzB,uCAAoB,CAAA;IACpB,+CAA4B,CAAA;IAC5B,iDAA8B,CAAA;IAC9B,+CAA4B,CAAA;IAC5B,0CAAuB,CAAA;IACvB,0CAAuB,CAAA;IACvB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC7B,CAAC,EAXW,eAAe,KAAf,eAAe,QAW1B;AAED;;;IAGY;AAAZ,WAAY,SAAS;IACjB,4CAAW,CAAA;IACX,0CAAU,CAAA;IACV,8CAAY,CAAA;IACZ,kDAAc,CAAA;IACd,4DAAmB,CAAA;IACnB,8DAAoB,CAAA;IACpB,oDAAe,CAAA;IACf,4DAAmB,CAAA;IACnB,sDAAgB,CAAA;AACpB,CAAC,EAVW,SAAS,KAAT,SAAS,QAUpB;AAED;;;IAGa,YAAY,GAAG,cAAc;IAC7B,WAAW,GAAG,cAAc;IAC5B,aAAa,GAAG,IAAI;IAEpB,4BAA4B,GAAG;IACxC,SAAS,EAAE,oBAAoB;IAC/B,oBAAoB,EAAE,IAAI,GAAG,EAAE;EACjC;IAEU;AAAZ,WAAY,uBAAuB;IAC/B,4CAAiB,CAAA;IACjB,0CAAe,CAAA;IACf,8CAAmB,CAAA;AACvB,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,QAIlC;IAEY,sBAAsB,GAAG;IAClC,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,EAAE;IACxB,qBAAqB,EAAE,GAAG;IAC1B,iBAAiB,EAAE,EAAE;IACrB,SAAS,EAAE,kBAAkB;IAC7B,kBAAkB,EAAE,GAAG;IACvB,eAAe,EAAE,GAAG;IACpB,aAAa,EAAE,GAAG;IAClB,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,eAAe;EAChC;AAEF;;;IAGY;AAAZ,WAAY,oBAAoB;IAC5B,yCAAiB,CAAA;IACjB,mCAAW,CAAA;IACX,wCAAgB,CAAA;AACpB,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAED;;;IAGa,mBAAmB,GAAG;;IAE/B,6BAA6B,EAAE,EAAE;;IAEjC,iCAAiC,EAAE,IAAI;;IAEvC,iBAAiB,EAAE,YAAY;;IAE/B,yBAAyB,EAAE,mBAAmB;EAChD;IAEW,MAAM,GAAG;IAClB,mBAAmB,EAAE,eAAe;IACpC,qBAAqB,EAAE,iBAAiB;EAC1C;AAEF;;;IAGY;AAAZ,WAAY,sBAAsB;IAC9B,+CAAqB,CAAA;IACrB,+CAAqB,CAAA;AACzB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED;;;IAGa;AAAb,WAAa,aAAa;IACtB,iEAAiB,CAAA;IACjB,uEAAoB,CAAA;AACxB,CAAC,EAHY,aAAa,KAAb,aAAa,QAGzB;AAED;;;IAGY;AAAZ,WAAY,sBAAsB;IAC9B,qDAA2B,CAAA;IAC3B,8CAAoB,CAAA;IACpB,oDAA0B,CAAA;IAC1B,oCAAU,CAAA;AACd,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED;;;IAGY;AAAZ,WAAY,uBAAuB;IAC/B,4DAAiC,CAAA;IACjC,6DAAkC,CAAA;IAClC,wDAA6B,CAAA;IAC7B,oEAAyC,CAAA;IACzC,gEAAqC,CAAA;AACzC,CAAC,EANW,uBAAuB,KAAvB,uBAAuB,QAMlC;IAEW;AAAZ,WAAY,YAAY;IACpB,kCAAkB,CAAA;IAClB,mCAAmB,CAAA;IACnB,4CAA4B,CAAA;IAC5B,iDAAiC,CAAA;IACjC,iDAAiC,CAAA;AACrC,CAAC,EANW,YAAY,KAAZ,YAAY;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v6.1.0 2022-02-08 */
1
+ /*! @azure/msal-common v6.3.0 2022-05-02 */
2
2
  'use strict';
3
3
  import { StringUtils } from './StringUtils.js';
4
4
  import { Constants } from './Constants.js';
@@ -58,11 +58,11 @@ var ProtocolUtils = /** @class */ (function () {
58
58
  // Split the state between library state and user passed state and decode them separately
59
59
  var splitState = state.split(Constants.RESOURCE_DELIM);
60
60
  var libraryState = splitState[0];
61
- var userState = splitState.length > 1 ? splitState.slice(1).join(Constants.RESOURCE_DELIM) : "";
61
+ var userState = splitState.length > 1 ? splitState.slice(1).join(Constants.RESOURCE_DELIM) : Constants.EMPTY_STRING;
62
62
  var libraryStateString = cryptoObj.base64Decode(libraryState);
63
63
  var libraryStateObj = JSON.parse(libraryStateString);
64
64
  return {
65
- userRequestState: !StringUtils.isEmpty(userState) ? userState : "",
65
+ userRequestState: !StringUtils.isEmpty(userState) ? userState : Constants.EMPTY_STRING,
66
66
  libraryState: libraryStateObj
67
67
  };
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolUtils.js","sources":["../../src/utils/ProtocolUtils.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"./StringUtils\";\nimport { Constants } from \"./Constants\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\n/**\n * Type which defines the object that is stringified, encoded and sent in the state value.\n * Contains the following:\n * - id - unique identifier for this request\n * - ts - timestamp for the time the request was made. Used to ensure that token expiration is not calculated incorrectly.\n * - platformState - string value sent from the platform.\n */\nexport type LibraryStateObject = {\n id: string,\n meta?: Record<string, string>\n};\n\n/**\n * Type which defines the stringified and encoded object sent to the service in the authorize request.\n */\nexport type RequestStateObject = {\n userRequestState: string,\n libraryState: LibraryStateObject\n};\n\n/**\n * Class which provides helpers for OAuth 2.0 protocol specific values\n */\nexport class ProtocolUtils {\n\n /**\n * Appends user state with random guid, or returns random guid.\n * @param userState \n * @param randomGuid \n */\n static setRequestState(cryptoObj: ICrypto, userState?: string, meta?: Record<string, string>): string {\n const libraryState = ProtocolUtils.generateLibraryState(cryptoObj, meta);\n return !StringUtils.isEmpty(userState) ? `${libraryState}${Constants.RESOURCE_DELIM}${userState}` : libraryState;\n }\n\n /**\n * Generates the state value used by the common library.\n * @param randomGuid \n * @param cryptoObj \n */\n static generateLibraryState(cryptoObj: ICrypto, meta?: Record<string, string>): string {\n if (!cryptoObj) {\n throw ClientAuthError.createNoCryptoObjectError(\"generateLibraryState\");\n }\n\n // Create a state object containing a unique id and the timestamp of the request creation\n const stateObj: LibraryStateObject = {\n id: cryptoObj.createNewGuid()\n };\n\n if (meta) {\n stateObj.meta = meta;\n }\n\n const stateString = JSON.stringify(stateObj);\n\n return cryptoObj.base64Encode(stateString);\n }\n\n /**\n * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.\n * @param state \n * @param cryptoObj \n */\n static parseRequestState(cryptoObj: ICrypto, state: string): RequestStateObject {\n if (!cryptoObj) {\n throw ClientAuthError.createNoCryptoObjectError(\"parseRequestState\");\n }\n\n if (StringUtils.isEmpty(state)) {\n throw ClientAuthError.createInvalidStateError(state, \"Null, undefined or empty state\");\n }\n\n try {\n // Split the state between library state and user passed state and decode them separately\n const splitState = state.split(Constants.RESOURCE_DELIM);\n const libraryState = splitState[0];\n const userState = splitState.length > 1 ? splitState.slice(1).join(Constants.RESOURCE_DELIM) : \"\";\n const libraryStateString = cryptoObj.base64Decode(libraryState);\n const libraryStateObj = JSON.parse(libraryStateString) as LibraryStateObject;\n return {\n userRequestState: !StringUtils.isEmpty(userState) ? userState : \"\",\n libraryState: libraryStateObj\n };\n } catch(e) {\n throw ClientAuthError.createInvalidStateError(state, e);\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AAAA;;;;AA8BA;;;;IAGA;KAiEC;;;;;;IA1DU,6BAAe,GAAtB,UAAuB,SAAkB,EAAE,SAAkB,EAAE,IAA6B;QACxF,IAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,KAAG,YAAY,GAAG,SAAS,CAAC,cAAc,GAAG,SAAW,GAAG,YAAY,CAAC;KACpH;;;;;;IAOM,kCAAoB,GAA3B,UAA4B,SAAkB,EAAE,IAA6B;QACzE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,eAAe,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;SAC3E;;QAGD,IAAM,QAAQ,GAAuB;YACjC,EAAE,EAAE,SAAS,CAAC,aAAa,EAAE;SAChC,CAAC;QAEF,IAAI,IAAI,EAAE;YACN,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SACxB;QAED,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;KAC9C;;;;;;IAOM,+BAAiB,GAAxB,UAAyB,SAAkB,EAAE,KAAa;QACtD,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,eAAe,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;SACxE;QAED,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,eAAe,CAAC,uBAAuB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;SAC1F;QAED,IAAI;;YAEA,IAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACzD,IAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,IAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YAClG,IAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAChE,IAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAuB,CAAC;YAC7E,OAAO;gBACH,gBAAgB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,EAAE;gBAClE,YAAY,EAAE,eAAe;aAChC,CAAC;SACL;QAAC,OAAM,CAAC,EAAE;YACP,MAAM,eAAe,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC3D;KACJ;IACL,oBAAC;AAAD,CAAC;;;;"}
1
+ {"version":3,"file":"ProtocolUtils.js","sources":["../../src/utils/ProtocolUtils.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"./StringUtils\";\nimport { Constants } from \"./Constants\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\n/**\n * Type which defines the object that is stringified, encoded and sent in the state value.\n * Contains the following:\n * - id - unique identifier for this request\n * - ts - timestamp for the time the request was made. Used to ensure that token expiration is not calculated incorrectly.\n * - platformState - string value sent from the platform.\n */\nexport type LibraryStateObject = {\n id: string,\n meta?: Record<string, string>\n};\n\n/**\n * Type which defines the stringified and encoded object sent to the service in the authorize request.\n */\nexport type RequestStateObject = {\n userRequestState: string,\n libraryState: LibraryStateObject\n};\n\n/**\n * Class which provides helpers for OAuth 2.0 protocol specific values\n */\nexport class ProtocolUtils {\n\n /**\n * Appends user state with random guid, or returns random guid.\n * @param userState \n * @param randomGuid \n */\n static setRequestState(cryptoObj: ICrypto, userState?: string, meta?: Record<string, string>): string {\n const libraryState = ProtocolUtils.generateLibraryState(cryptoObj, meta);\n return !StringUtils.isEmpty(userState) ? `${libraryState}${Constants.RESOURCE_DELIM}${userState}` : libraryState;\n }\n\n /**\n * Generates the state value used by the common library.\n * @param randomGuid \n * @param cryptoObj \n */\n static generateLibraryState(cryptoObj: ICrypto, meta?: Record<string, string>): string {\n if (!cryptoObj) {\n throw ClientAuthError.createNoCryptoObjectError(\"generateLibraryState\");\n }\n\n // Create a state object containing a unique id and the timestamp of the request creation\n const stateObj: LibraryStateObject = {\n id: cryptoObj.createNewGuid()\n };\n\n if (meta) {\n stateObj.meta = meta;\n }\n\n const stateString = JSON.stringify(stateObj);\n\n return cryptoObj.base64Encode(stateString);\n }\n\n /**\n * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.\n * @param state \n * @param cryptoObj \n */\n static parseRequestState(cryptoObj: ICrypto, state: string): RequestStateObject {\n if (!cryptoObj) {\n throw ClientAuthError.createNoCryptoObjectError(\"parseRequestState\");\n }\n\n if (StringUtils.isEmpty(state)) {\n throw ClientAuthError.createInvalidStateError(state, \"Null, undefined or empty state\");\n }\n\n try {\n // Split the state between library state and user passed state and decode them separately\n const splitState = state.split(Constants.RESOURCE_DELIM);\n const libraryState = splitState[0];\n const userState = splitState.length > 1 ? splitState.slice(1).join(Constants.RESOURCE_DELIM) : Constants.EMPTY_STRING;\n const libraryStateString = cryptoObj.base64Decode(libraryState);\n const libraryStateObj = JSON.parse(libraryStateString) as LibraryStateObject;\n return {\n userRequestState: !StringUtils.isEmpty(userState) ? userState : Constants.EMPTY_STRING,\n libraryState: libraryStateObj\n };\n } catch(e) {\n throw ClientAuthError.createInvalidStateError(state, e);\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AAAA;;;;AA8BA;;;;IAGA;KAiEC;;;;;;IA1DU,6BAAe,GAAtB,UAAuB,SAAkB,EAAE,SAAkB,EAAE,IAA6B;QACxF,IAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,KAAG,YAAY,GAAG,SAAS,CAAC,cAAc,GAAG,SAAW,GAAG,YAAY,CAAC;KACpH;;;;;;IAOM,kCAAoB,GAA3B,UAA4B,SAAkB,EAAE,IAA6B;QACzE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,eAAe,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;SAC3E;;QAGD,IAAM,QAAQ,GAAuB;YACjC,EAAE,EAAE,SAAS,CAAC,aAAa,EAAE;SAChC,CAAC;QAEF,IAAI,IAAI,EAAE;YACN,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SACxB;QAED,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;KAC9C;;;;;;IAOM,+BAAiB,GAAxB,UAAyB,SAAkB,EAAE,KAAa;QACtD,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,eAAe,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;SACxE;QAED,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,eAAe,CAAC,uBAAuB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;SAC1F;QAED,IAAI;;YAEA,IAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACzD,IAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,IAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC;YACtH,IAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAChE,IAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAuB,CAAC;YAC7E,OAAO;gBACH,gBAAgB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,YAAY;gBACtF,YAAY,EAAE,eAAe;aAChC,CAAC;SACL;QAAC,OAAM,CAAC,EAAE;YACP,MAAM,eAAe,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC3D;KACJ;IACL,oBAAC;AAAD,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v6.1.0 2022-02-08 */
1
+ /*! @azure/msal-common v6.3.0 2022-05-02 */
2
2
  'use strict';
3
3
  import { ClientAuthError } from '../error/ClientAuthError.js';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v6.1.0 2022-02-08 */
1
+ /*! @azure/msal-common v6.3.0 2022-05-02 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "type": "git",
11
11
  "url": "https://github.com/AzureAD/microsoft-authentication-library-for-js.git"
12
12
  },
13
- "version": "6.1.0",
13
+ "version": "6.3.0",
14
14
  "description": "Microsoft Authentication Library for js",
15
15
  "keywords": [
16
16
  "implicit",
@@ -70,7 +70,5 @@
70
70
  "tslint": "^5.20.0",
71
71
  "typescript": "^3.7.5"
72
72
  },
73
- "dependencies": {
74
- "debug": "^4.1.1"
75
- }
73
+ "dependencies": {}
76
74
  }