@azure/msal-common 14.6.0-alpha.0 → 14.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/account/AccountInfo.d.ts +58 -58
  2. package/dist/account/AccountInfo.mjs +59 -59
  3. package/dist/account/AuthToken.d.ts +17 -17
  4. package/dist/account/AuthToken.mjs +58 -58
  5. package/dist/account/CcsCredential.d.ts +9 -9
  6. package/dist/account/CcsCredential.mjs +8 -8
  7. package/dist/account/ClientCredentials.d.ts +14 -14
  8. package/dist/account/ClientInfo.d.ts +18 -18
  9. package/dist/account/ClientInfo.mjs +37 -37
  10. package/dist/account/TokenClaims.d.ts +83 -83
  11. package/dist/account/TokenClaims.mjs +20 -20
  12. package/dist/authority/Authority.d.ts +253 -254
  13. package/dist/authority/Authority.d.ts.map +1 -1
  14. package/dist/authority/Authority.mjs +831 -816
  15. package/dist/authority/Authority.mjs.map +1 -1
  16. package/dist/authority/AuthorityFactory.d.ts +18 -31
  17. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  18. package/dist/authority/AuthorityFactory.mjs +29 -50
  19. package/dist/authority/AuthorityFactory.mjs.map +1 -1
  20. package/dist/authority/AuthorityMetadata.d.ts +43 -503
  21. package/dist/authority/AuthorityMetadata.d.ts.map +1 -1
  22. package/dist/authority/AuthorityMetadata.mjs +137 -603
  23. package/dist/authority/AuthorityMetadata.mjs.map +1 -1
  24. package/dist/authority/AuthorityOptions.d.ts +27 -27
  25. package/dist/authority/AuthorityOptions.mjs +18 -18
  26. package/dist/authority/AuthorityType.d.ts +10 -10
  27. package/dist/authority/AuthorityType.mjs +13 -13
  28. package/dist/authority/AzureRegion.d.ts +1 -1
  29. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  30. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  31. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  32. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  33. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  34. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  35. package/dist/authority/ImdsOptions.d.ts +5 -5
  36. package/dist/authority/OIDCOptions.d.ts +8 -8
  37. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  38. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  39. package/dist/authority/ProtocolMode.d.ts +8 -8
  40. package/dist/authority/ProtocolMode.mjs +11 -11
  41. package/dist/authority/RegionDiscovery.d.ts +32 -32
  42. package/dist/authority/RegionDiscovery.mjs +106 -106
  43. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  44. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  45. package/dist/cache/CacheManager.d.ts +508 -508
  46. package/dist/cache/CacheManager.mjs +1237 -1237
  47. package/dist/cache/entities/AccessTokenEntity.d.ts +25 -25
  48. package/dist/cache/entities/AccountEntity.d.ts +106 -106
  49. package/dist/cache/entities/AccountEntity.mjs +244 -244
  50. package/dist/cache/entities/AppMetadataEntity.d.ts +11 -39
  51. package/dist/cache/entities/AppMetadataEntity.d.ts.map +1 -1
  52. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +15 -48
  53. package/dist/cache/entities/AuthorityMetadataEntity.d.ts.map +1 -1
  54. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  55. package/dist/cache/entities/CacheRecord.mjs +14 -14
  56. package/dist/cache/entities/CredentialEntity.d.ts +30 -30
  57. package/dist/cache/entities/IdTokenEntity.d.ts +8 -8
  58. package/dist/cache/entities/RefreshTokenEntity.d.ts +7 -7
  59. package/dist/cache/entities/ServerTelemetryEntity.d.ts +5 -5
  60. package/dist/cache/entities/ThrottlingEntity.d.ts +7 -7
  61. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  62. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  63. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  64. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  65. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  66. package/dist/cache/utils/CacheHelpers.d.ts +94 -70
  67. package/dist/cache/utils/CacheHelpers.d.ts.map +1 -1
  68. package/dist/cache/utils/CacheHelpers.mjs +326 -252
  69. package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
  70. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  71. package/dist/client/AuthorizationCodeClient.d.ts +74 -74
  72. package/dist/client/AuthorizationCodeClient.mjs +402 -402
  73. package/dist/client/BaseClient.d.ts +51 -51
  74. package/dist/client/BaseClient.d.ts.map +1 -1
  75. package/dist/client/BaseClient.mjs +101 -101
  76. package/dist/client/BaseClient.mjs.map +1 -1
  77. package/dist/client/RefreshTokenClient.d.ts +35 -35
  78. package/dist/client/RefreshTokenClient.mjs +204 -204
  79. package/dist/client/SilentFlowClient.d.ts +27 -27
  80. package/dist/client/SilentFlowClient.mjs +128 -128
  81. package/dist/config/AppTokenProvider.d.ts +38 -38
  82. package/dist/config/ClientConfiguration.d.ts +150 -150
  83. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  84. package/dist/config/ClientConfiguration.mjs +98 -96
  85. package/dist/config/ClientConfiguration.mjs.map +1 -1
  86. package/dist/constants/AADServerParamKeys.d.ts +52 -52
  87. package/dist/constants/AADServerParamKeys.mjs +56 -56
  88. package/dist/crypto/ICrypto.d.ts +58 -58
  89. package/dist/crypto/ICrypto.mjs +30 -30
  90. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  91. package/dist/crypto/JoseHeader.d.ts +22 -22
  92. package/dist/crypto/JoseHeader.mjs +37 -37
  93. package/dist/crypto/PopTokenGenerator.d.ts +60 -60
  94. package/dist/crypto/PopTokenGenerator.mjs +82 -82
  95. package/dist/crypto/SignedHttpRequest.d.ts +15 -15
  96. package/dist/error/AuthError.d.ts +44 -44
  97. package/dist/error/AuthError.mjs +46 -46
  98. package/dist/error/AuthErrorCodes.d.ts +5 -5
  99. package/dist/error/AuthErrorCodes.mjs +9 -9
  100. package/dist/error/ClientAuthError.d.ts +237 -237
  101. package/dist/error/ClientAuthError.mjs +249 -249
  102. package/dist/error/ClientAuthErrorCodes.d.ts +44 -44
  103. package/dist/error/ClientAuthErrorCodes.mjs +48 -48
  104. package/dist/error/ClientConfigurationError.d.ts +128 -128
  105. package/dist/error/ClientConfigurationError.mjs +135 -135
  106. package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
  107. package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
  108. package/dist/error/InteractionRequiredAuthError.d.ts +61 -61
  109. package/dist/error/InteractionRequiredAuthError.mjs +84 -84
  110. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +7 -7
  111. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +13 -13
  112. package/dist/error/JoseHeaderError.d.ts +15 -15
  113. package/dist/error/JoseHeaderError.mjs +22 -22
  114. package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
  115. package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
  116. package/dist/error/ServerError.d.ts +7 -7
  117. package/dist/error/ServerError.mjs +14 -14
  118. package/dist/index.cjs +8081 -8611
  119. package/dist/index.cjs.map +1 -1
  120. package/dist/index.d.ts +99 -99
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.mjs +4 -5
  123. package/dist/index.mjs.map +1 -1
  124. package/dist/logger/Logger.d.ts +95 -95
  125. package/dist/logger/Logger.mjs +188 -188
  126. package/dist/network/INetworkModule.d.ts +29 -29
  127. package/dist/network/INetworkModule.mjs +12 -12
  128. package/dist/network/NetworkManager.d.ts +33 -33
  129. package/dist/network/NetworkManager.mjs +34 -34
  130. package/dist/network/RequestThumbprint.d.ts +18 -18
  131. package/dist/network/ThrottlingUtils.d.ts +42 -42
  132. package/dist/network/ThrottlingUtils.mjs +95 -95
  133. package/dist/packageMetadata.d.ts +2 -2
  134. package/dist/packageMetadata.d.ts.map +1 -1
  135. package/dist/packageMetadata.mjs +4 -4
  136. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  137. package/dist/request/AuthenticationHeaderParser.mjs +55 -55
  138. package/dist/request/BaseAuthRequest.d.ts +43 -43
  139. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  140. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  141. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  142. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  143. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  144. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  145. package/dist/request/CommonRefreshTokenRequest.d.ts +22 -22
  146. package/dist/request/CommonSilentFlowRequest.d.ts +27 -27
  147. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  148. package/dist/request/NativeRequest.d.ts +19 -19
  149. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  150. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  151. package/dist/request/RequestParameterBuilder.mjs +381 -381
  152. package/dist/request/RequestValidator.d.ts +33 -33
  153. package/dist/request/RequestValidator.mjs +81 -81
  154. package/dist/request/ScopeSet.d.ts +88 -88
  155. package/dist/request/ScopeSet.mjs +197 -197
  156. package/dist/request/StoreInCache.d.ts +8 -8
  157. package/dist/response/AuthenticationResult.d.ts +41 -41
  158. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  159. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  160. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  161. package/dist/response/IMDSBadResponse.d.ts +4 -4
  162. package/dist/response/ResponseHandler.d.ts +69 -69
  163. package/dist/response/ResponseHandler.mjs +350 -347
  164. package/dist/response/ResponseHandler.mjs.map +1 -1
  165. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  166. package/dist/response/ServerAuthorizationTokenResponse.d.ts +47 -47
  167. package/dist/telemetry/performance/IPerformanceClient.d.ts +57 -57
  168. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  169. package/dist/telemetry/performance/PerformanceClient.d.ts +198 -198
  170. package/dist/telemetry/performance/PerformanceClient.mjs +412 -412
  171. package/dist/telemetry/performance/PerformanceEvent.d.ts +464 -464
  172. package/dist/telemetry/performance/PerformanceEvent.mjs +253 -253
  173. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  174. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  175. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  176. package/dist/telemetry/server/ServerTelemetryManager.mjs +201 -201
  177. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  178. package/dist/url/IUri.d.ts +12 -12
  179. package/dist/url/UrlString.d.ts +48 -48
  180. package/dist/url/UrlString.mjs +161 -161
  181. package/dist/utils/Constants.d.ts +296 -298
  182. package/dist/utils/Constants.d.ts.map +1 -1
  183. package/dist/utils/Constants.mjs +310 -313
  184. package/dist/utils/Constants.mjs.map +1 -1
  185. package/dist/utils/FunctionWrappers.d.ts +27 -27
  186. package/dist/utils/FunctionWrappers.mjs +84 -84
  187. package/dist/utils/MsalTypes.d.ts +6 -6
  188. package/dist/utils/ProtocolUtils.d.ts +42 -42
  189. package/dist/utils/ProtocolUtils.mjs +69 -69
  190. package/dist/utils/StringUtils.d.ts +40 -40
  191. package/dist/utils/StringUtils.mjs +95 -95
  192. package/dist/utils/TimeUtils.d.ts +27 -27
  193. package/dist/utils/TimeUtils.mjs +45 -45
  194. package/dist/utils/UrlUtils.d.ts +10 -10
  195. package/dist/utils/UrlUtils.mjs +44 -44
  196. package/package.json +1 -1
  197. package/src/authority/Authority.ts +69 -29
  198. package/src/authority/AuthorityFactory.ts +48 -92
  199. package/src/authority/AuthorityMetadata.ts +23 -526
  200. package/src/cache/entities/AppMetadataEntity.ts +6 -81
  201. package/src/cache/entities/AuthorityMetadataEntity.ts +2 -94
  202. package/src/cache/utils/CacheHelpers.ts +111 -0
  203. package/src/client/BaseClient.ts +10 -11
  204. package/src/config/ClientConfiguration.ts +4 -4
  205. package/src/index.ts +1 -2
  206. package/src/packageMetadata.ts +1 -1
  207. package/src/response/ResponseHandler.ts +5 -5
  208. package/src/utils/Constants.ts +0 -4
  209. package/dist/cache/entities/AppMetadataEntity.mjs +0 -73
  210. package/dist/cache/entities/AppMetadataEntity.mjs.map +0 -1
  211. package/dist/cache/entities/AuthorityMetadataEntity.mjs +0 -86
  212. package/dist/cache/entities/AuthorityMetadataEntity.mjs.map +0 -1
@@ -57,6 +57,7 @@ import { AuthError } from "../error/AuthError";
57
57
  import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
58
58
  import { PerformanceEvents } from "../telemetry/performance/PerformanceEvent";
59
59
  import { invokeAsync } from "../utils/FunctionWrappers";
60
+ import * as CacheHelpers from "../cache/utils/CacheHelpers";
60
61
 
61
62
  /**
62
63
  * The authority class validates the authority URIs used by the user, and retrieves the OpenID Configuration Data from the
@@ -85,9 +86,7 @@ export class Authority {
85
86
  // Performance client
86
87
  protected performanceClient: IPerformanceClient | undefined;
87
88
  // Correlation Id
88
- protected correlationId: string | undefined;
89
- // Indicates if the authority is fake, for the purpose of a Managed Identity Application
90
- private managedIdentity: boolean;
89
+ protected correlationId: string;
91
90
  // Reserved tenant domain names that will not be replaced with tenant id
92
91
  private static reservedTenantDomains: Set<string> = new Set([
93
92
  "{tenant}",
@@ -103,9 +102,8 @@ export class Authority {
103
102
  cacheManager: ICacheManager,
104
103
  authorityOptions: AuthorityOptions,
105
104
  logger: Logger,
106
- performanceClient?: IPerformanceClient,
107
- correlationId?: string,
108
- managedIdentity?: boolean
105
+ correlationId: string,
106
+ performanceClient?: IPerformanceClient
109
107
  ) {
110
108
  this.canonicalAuthority = authority;
111
109
  this._canonicalAuthority.validateAsUri();
@@ -120,7 +118,6 @@ export class Authority {
120
118
  this.logger = logger;
121
119
  this.performanceClient = performanceClient;
122
120
  this.correlationId = correlationId;
123
- this.managedIdentity = managedIdentity || false;
124
121
  this.regionDiscovery = new RegionDiscovery(
125
122
  networkInterface,
126
123
  this.logger,
@@ -386,7 +383,7 @@ export class Authority {
386
383
  }
387
384
 
388
385
  /**
389
- * Boolean that returns whether or not tenant discovery has been completed.
386
+ * Boolean that returns whethr or not tenant discovery has been completed.
390
387
  */
391
388
  discoveryComplete(): boolean {
392
389
  return !!this.metadata;
@@ -425,6 +422,13 @@ export class Authority {
425
422
  this.updateCachedMetadata(metadataEntity, cloudDiscoverySource, {
426
423
  source: endpointSource,
427
424
  });
425
+ this.performanceClient?.addFields(
426
+ {
427
+ cloudDiscoverySource: cloudDiscoverySource,
428
+ authorityEndpointSource: endpointSource,
429
+ },
430
+ this.correlationId
431
+ );
428
432
  }
429
433
 
430
434
  /**
@@ -433,13 +437,24 @@ export class Authority {
433
437
  * @returns
434
438
  */
435
439
  private getCurrentMetadataEntity(): AuthorityMetadataEntity {
436
- let metadataEntity = this.cacheManager.getAuthorityMetadataByAlias(
437
- this.hostnameAndPort
438
- );
440
+ let metadataEntity: AuthorityMetadataEntity | null =
441
+ this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);
439
442
 
440
443
  if (!metadataEntity) {
441
- metadataEntity = new AuthorityMetadataEntity();
442
- metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);
444
+ metadataEntity = {
445
+ aliases: [],
446
+ preferred_cache: this.hostnameAndPort,
447
+ preferred_network: this.hostnameAndPort,
448
+ canonical_authority: this.canonicalAuthority,
449
+ authorization_endpoint: "",
450
+ token_endpoint: "",
451
+ end_session_endpoint: "",
452
+ issuer: "",
453
+ aliasesFromNetwork: false,
454
+ endpointsFromNetwork: false,
455
+ expiresAt: CacheHelpers.generateAuthorityMetadataExpiresAt(),
456
+ jwks_uri: "",
457
+ };
443
458
  }
444
459
  return metadataEntity;
445
460
  }
@@ -464,8 +479,9 @@ export class Authority {
464
479
  endpointMetadataResult?.source !== AuthorityMetadataSource.CACHE
465
480
  ) {
466
481
  // Reset the expiration time unless both values came from a successful cache lookup
467
- metadataEntity.resetExpiresAt();
468
- metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);
482
+ metadataEntity.expiresAt =
483
+ CacheHelpers.generateAuthorityMetadataExpiresAt();
484
+ metadataEntity.canonical_authority = this.canonicalAuthority;
469
485
  }
470
486
 
471
487
  const cacheKey = this.cacheManager.generateAuthorityMetadataCacheKey(
@@ -510,10 +526,13 @@ export class Authority {
510
526
  this.performanceClient,
511
527
  this.correlationId
512
528
  )(localMetadata.metadata);
513
- metadataEntity.updateEndpointMetadata(
529
+ CacheHelpers.updateAuthorityEndpointMetadata(
530
+ metadataEntity,
514
531
  hardcodedMetadata,
515
532
  false
516
533
  );
534
+ metadataEntity.canonical_authority =
535
+ this.canonicalAuthority;
517
536
  }
518
537
  }
519
538
  }
@@ -540,7 +559,11 @@ export class Authority {
540
559
  )(metadata);
541
560
  }
542
561
 
543
- metadataEntity.updateEndpointMetadata(metadata, true);
562
+ CacheHelpers.updateAuthorityEndpointMetadata(
563
+ metadataEntity,
564
+ metadata,
565
+ true
566
+ );
544
567
  return AuthorityMetadataSource.NETWORK;
545
568
  } else {
546
569
  // Metadata could not be obtained from the config, cache, network or hardcoded values
@@ -571,7 +594,11 @@ export class Authority {
571
594
  this.logger.verbose(
572
595
  "Found endpoint metadata in authority configuration"
573
596
  );
574
- metadataEntity.updateEndpointMetadata(configMetadata, false);
597
+ CacheHelpers.updateAuthorityEndpointMetadata(
598
+ metadataEntity,
599
+ configMetadata,
600
+ false
601
+ );
575
602
  return {
576
603
  source: AuthorityMetadataSource.CONFIG,
577
604
  };
@@ -590,7 +617,11 @@ export class Authority {
590
617
  const hardcodedMetadata =
591
618
  this.getEndpointMetadataFromHardcodedValues();
592
619
  if (hardcodedMetadata) {
593
- metadataEntity.updateEndpointMetadata(hardcodedMetadata, false);
620
+ CacheHelpers.updateAuthorityEndpointMetadata(
621
+ metadataEntity,
622
+ hardcodedMetadata,
623
+ false
624
+ );
594
625
  return {
595
626
  source: AuthorityMetadataSource.HARDCODED_VALUES,
596
627
  metadata: hardcodedMetadata,
@@ -603,7 +634,8 @@ export class Authority {
603
634
  }
604
635
 
605
636
  // Check cached metadata entity expiration status
606
- const metadataEntityExpired = metadataEntity.isExpired();
637
+ const metadataEntityExpired =
638
+ CacheHelpers.isAuthorityMetadataExpired(metadataEntity);
607
639
  if (
608
640
  this.isAuthoritySameType(metadataEntity) &&
609
641
  metadataEntity.endpointsFromNetwork &&
@@ -709,8 +741,8 @@ export class Authority {
709
741
  * Get OAuth endpoints for common authorities.
710
742
  */
711
743
  private getEndpointMetadataFromHardcodedValues(): OpenIdConfigResponse | null {
712
- if (this.canonicalAuthority in EndpointMetadata) {
713
- return EndpointMetadata[this.canonicalAuthority];
744
+ if (this.hostnameAndPort in EndpointMetadata) {
745
+ return EndpointMetadata[this.hostnameAndPort];
714
746
  }
715
747
 
716
748
  return null;
@@ -805,7 +837,11 @@ export class Authority {
805
837
  )();
806
838
 
807
839
  if (metadata) {
808
- metadataEntity.updateCloudDiscoveryMetadata(metadata, true);
840
+ CacheHelpers.updateCloudDiscoveryMetadata(
841
+ metadataEntity,
842
+ metadata,
843
+ true
844
+ );
809
845
  return AuthorityMetadataSource.NETWORK;
810
846
  }
811
847
 
@@ -843,7 +879,11 @@ export class Authority {
843
879
  this.logger.verbose(
844
880
  "Found cloud discovery metadata in authority configuration"
845
881
  );
846
- metadataEntity.updateCloudDiscoveryMetadata(metadata, false);
882
+ CacheHelpers.updateCloudDiscoveryMetadata(
883
+ metadataEntity,
884
+ metadata,
885
+ false
886
+ );
847
887
  return AuthorityMetadataSource.CONFIG;
848
888
  }
849
889
 
@@ -865,7 +905,8 @@ export class Authority {
865
905
  this.logger.verbose(
866
906
  "Found cloud discovery metadata from hardcoded values."
867
907
  );
868
- metadataEntity.updateCloudDiscoveryMetadata(
908
+ CacheHelpers.updateCloudDiscoveryMetadata(
909
+ metadataEntity,
869
910
  hardcodedMetadata,
870
911
  false
871
912
  );
@@ -877,7 +918,8 @@ export class Authority {
877
918
  );
878
919
  }
879
920
 
880
- const metadataEntityExpired = metadataEntity.isExpired();
921
+ const metadataEntityExpired =
922
+ CacheHelpers.isAuthorityMetadataExpired(metadataEntity);
881
923
  if (
882
924
  this.isAuthoritySameType(metadataEntity) &&
883
925
  metadataEntity.aliasesFromNetwork &&
@@ -1123,9 +1165,7 @@ export class Authority {
1123
1165
  * helper function to generate environment from authority object
1124
1166
  */
1125
1167
  getPreferredCache(): string {
1126
- if (this.managedIdentity) {
1127
- return Constants.DEFAULT_AUTHORITY_HOST;
1128
- } else if (this.discoveryComplete()) {
1168
+ if (this.discoveryComplete()) {
1129
1169
  return this.metadata.preferred_cache;
1130
1170
  } else {
1131
1171
  throw createClientAuthError(
@@ -4,10 +4,6 @@
4
4
  */
5
5
 
6
6
  import { Authority, formatAuthorityUri } from "./Authority";
7
- import {
8
- createClientConfigurationError,
9
- ClientConfigurationErrorCodes,
10
- } from "../error/ClientConfigurationError";
11
7
  import { INetworkModule } from "../network/INetworkModule";
12
8
  import {
13
9
  createClientAuthError,
@@ -20,99 +16,59 @@ import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient"
20
16
  import { PerformanceEvents } from "../telemetry/performance/PerformanceEvent";
21
17
  import { invokeAsync } from "../utils/FunctionWrappers";
22
18
 
23
- /** @internal */
24
- export class AuthorityFactory {
25
- /**
26
- * Create an authority object of the correct type based on the url
27
- * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
28
- *
29
- * Also performs endpoint discovery.
30
- *
31
- * @param authorityUri
32
- * @param networkClient
33
- * @param protocolMode
34
- */
35
- static async createDiscoveredInstance(
36
- authorityUri: string,
37
- networkClient: INetworkModule,
38
- cacheManager: ICacheManager,
39
- authorityOptions: AuthorityOptions,
40
- logger: Logger,
41
- performanceClient?: IPerformanceClient,
42
- correlationId?: string
43
- ): Promise<Authority> {
44
- performanceClient?.addQueueMeasurement(
45
- PerformanceEvents.AuthorityFactoryCreateDiscoveredInstance,
46
- correlationId
47
- );
48
- const authorityUriFinal = Authority.transformCIAMAuthority(
49
- formatAuthorityUri(authorityUri)
50
- );
51
-
52
- // Initialize authority and perform discovery endpoint check.
53
- const acquireTokenAuthority: Authority =
54
- AuthorityFactory.createInstance(
55
- authorityUriFinal,
56
- networkClient,
57
- cacheManager,
58
- authorityOptions,
59
- logger,
60
- performanceClient,
61
- correlationId
62
- );
63
-
64
- try {
65
- await invokeAsync(
66
- acquireTokenAuthority.resolveEndpointsAsync.bind(
67
- acquireTokenAuthority
68
- ),
69
- PerformanceEvents.AuthorityResolveEndpointsAsync,
70
- logger,
71
- performanceClient,
72
- correlationId
73
- )();
74
- return acquireTokenAuthority;
75
- } catch (e) {
76
- throw createClientAuthError(
77
- ClientAuthErrorCodes.endpointResolutionError
78
- );
79
- }
80
- }
19
+ /**
20
+ * Create an authority object of the correct type based on the url
21
+ * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
22
+ *
23
+ * Also performs endpoint discovery.
24
+ *
25
+ * @param authorityUri
26
+ * @param networkClient
27
+ * @param protocolMode
28
+ * @internal
29
+ */
30
+ export async function createDiscoveredInstance(
31
+ authorityUri: string,
32
+ networkClient: INetworkModule,
33
+ cacheManager: ICacheManager,
34
+ authorityOptions: AuthorityOptions,
35
+ logger: Logger,
36
+ correlationId: string,
37
+ performanceClient?: IPerformanceClient
38
+ ): Promise<Authority> {
39
+ performanceClient?.addQueueMeasurement(
40
+ PerformanceEvents.AuthorityFactoryCreateDiscoveredInstance,
41
+ correlationId
42
+ );
43
+ const authorityUriFinal = Authority.transformCIAMAuthority(
44
+ formatAuthorityUri(authorityUri)
45
+ );
81
46
 
82
- /**
83
- * Create an authority object of the correct type based on the url
84
- * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
85
- *
86
- * Does not perform endpoint discovery.
87
- *
88
- * @param authorityUrl
89
- * @param networkInterface
90
- * @param protocolMode
91
- */
92
- static createInstance(
93
- authorityUrl: string,
94
- networkInterface: INetworkModule,
95
- cacheManager: ICacheManager,
96
- authorityOptions: AuthorityOptions,
97
- logger: Logger,
98
- performanceClient?: IPerformanceClient,
99
- correlationId?: string
100
- ): Authority {
101
- // Throw error if authority url is empty
102
- if (!authorityUrl) {
103
- throw createClientConfigurationError(
104
- ClientConfigurationErrorCodes.urlEmptyError
105
- );
106
- }
47
+ // Initialize authority and perform discovery endpoint check.
48
+ const acquireTokenAuthority: Authority = new Authority(
49
+ authorityUriFinal,
50
+ networkClient,
51
+ cacheManager,
52
+ authorityOptions,
53
+ logger,
54
+ correlationId,
55
+ performanceClient
56
+ );
107
57
 
108
- return new Authority(
109
- authorityUrl,
110
- networkInterface,
111
- cacheManager,
112
- authorityOptions,
58
+ try {
59
+ await invokeAsync(
60
+ acquireTokenAuthority.resolveEndpointsAsync.bind(
61
+ acquireTokenAuthority
62
+ ),
63
+ PerformanceEvents.AuthorityResolveEndpointsAsync,
113
64
  logger,
114
65
  performanceClient,
115
66
  correlationId
67
+ )();
68
+ return acquireTokenAuthority;
69
+ } catch (e) {
70
+ throw createClientAuthError(
71
+ ClientAuthErrorCodes.endpointResolutionError
116
72
  );
117
73
  }
118
74
  }