@azure/msal-common 14.2.0 → 14.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 (119) hide show
  1. package/dist/account/AuthToken.mjs +1 -1
  2. package/dist/account/CcsCredential.mjs +1 -1
  3. package/dist/account/ClientInfo.mjs +1 -1
  4. package/dist/authority/Authority.d.ts.map +1 -1
  5. package/dist/authority/Authority.mjs +3 -3
  6. package/dist/authority/AuthorityFactory.mjs +1 -1
  7. package/dist/authority/AuthorityMetadata.d.ts +29 -172
  8. package/dist/authority/AuthorityMetadata.d.ts.map +1 -1
  9. package/dist/authority/AuthorityMetadata.mjs +79 -413
  10. package/dist/authority/AuthorityMetadata.mjs.map +1 -1
  11. package/dist/authority/AuthorityOptions.d.ts +2 -2
  12. package/dist/authority/AuthorityOptions.d.ts.map +1 -1
  13. package/dist/authority/AuthorityOptions.mjs +1 -1
  14. package/dist/authority/AuthorityOptions.mjs.map +1 -1
  15. package/dist/authority/AuthorityType.mjs +1 -1
  16. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  17. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  18. package/dist/authority/OpenIdConfigResponse.mjs +1 -1
  19. package/dist/authority/ProtocolMode.mjs +1 -1
  20. package/dist/authority/RegionDiscovery.mjs +1 -1
  21. package/dist/cache/CacheManager.d.ts.map +1 -1
  22. package/dist/cache/CacheManager.mjs +16 -11
  23. package/dist/cache/CacheManager.mjs.map +1 -1
  24. package/dist/cache/entities/AccessTokenEntity.d.ts +12 -43
  25. package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
  26. package/dist/cache/entities/AccountEntity.mjs +1 -1
  27. package/dist/cache/entities/AppMetadataEntity.mjs +1 -1
  28. package/dist/cache/entities/AuthorityMetadataEntity.mjs +1 -1
  29. package/dist/cache/entities/CacheRecord.mjs +1 -1
  30. package/dist/cache/entities/CredentialEntity.d.ts +15 -73
  31. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  32. package/dist/cache/entities/IdTokenEntity.d.ts +4 -30
  33. package/dist/cache/entities/IdTokenEntity.d.ts.map +1 -1
  34. package/dist/cache/entities/RefreshTokenEntity.d.ts +2 -33
  35. package/dist/cache/entities/RefreshTokenEntity.d.ts.map +1 -1
  36. package/dist/cache/entities/ServerTelemetryEntity.mjs +1 -1
  37. package/dist/cache/entities/ThrottlingEntity.mjs +1 -1
  38. package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  39. package/dist/cache/utils/CacheHelpers.d.ts +59 -0
  40. package/dist/cache/utils/CacheHelpers.d.ts.map +1 -0
  41. package/dist/cache/utils/CacheHelpers.mjs +226 -0
  42. package/dist/cache/utils/CacheHelpers.mjs.map +1 -0
  43. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  44. package/dist/client/AuthorizationCodeClient.mjs +2 -2
  45. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  46. package/dist/client/BaseClient.d.ts +1 -1
  47. package/dist/client/BaseClient.d.ts.map +1 -1
  48. package/dist/client/BaseClient.mjs +8 -8
  49. package/dist/client/BaseClient.mjs.map +1 -1
  50. package/dist/client/RefreshTokenClient.mjs +1 -1
  51. package/dist/client/SilentFlowClient.mjs +1 -1
  52. package/dist/config/ClientConfiguration.mjs +1 -1
  53. package/dist/crypto/ICrypto.mjs +1 -1
  54. package/dist/crypto/JoseHeader.mjs +1 -1
  55. package/dist/crypto/PopTokenGenerator.mjs +1 -1
  56. package/dist/error/AuthError.mjs +1 -1
  57. package/dist/error/AuthErrorCodes.mjs +1 -1
  58. package/dist/error/ClientAuthError.mjs +1 -1
  59. package/dist/error/ClientAuthErrorCodes.mjs +1 -1
  60. package/dist/error/ClientConfigurationError.mjs +1 -1
  61. package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
  62. package/dist/error/InteractionRequiredAuthError.mjs +1 -1
  63. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  64. package/dist/error/JoseHeaderError.mjs +1 -1
  65. package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
  66. package/dist/error/ServerError.mjs +1 -1
  67. package/dist/index.cjs +2632 -3105
  68. package/dist/index.cjs.map +1 -1
  69. package/dist/index.d.ts +1 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.mjs +3 -5
  72. package/dist/index.mjs.map +1 -1
  73. package/dist/logger/Logger.mjs +1 -1
  74. package/dist/network/INetworkModule.mjs +1 -1
  75. package/dist/network/NetworkManager.mjs +1 -1
  76. package/dist/network/ThrottlingUtils.mjs +1 -1
  77. package/dist/packageMetadata.d.ts +1 -1
  78. package/dist/packageMetadata.mjs +2 -2
  79. package/dist/request/AuthenticationHeaderParser.mjs +1 -1
  80. package/dist/request/RequestParameterBuilder.mjs +1 -1
  81. package/dist/request/RequestValidator.mjs +1 -1
  82. package/dist/request/ScopeSet.mjs +1 -1
  83. package/dist/response/ResponseHandler.d.ts +2 -2
  84. package/dist/response/ResponseHandler.d.ts.map +1 -1
  85. package/dist/response/ResponseHandler.mjs +23 -29
  86. package/dist/response/ResponseHandler.mjs.map +1 -1
  87. package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
  88. package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
  89. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  90. package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  91. package/dist/url/UrlString.mjs +1 -1
  92. package/dist/utils/Constants.mjs +1 -1
  93. package/dist/utils/FunctionWrappers.mjs +1 -1
  94. package/dist/utils/ProtocolUtils.mjs +1 -1
  95. package/dist/utils/StringUtils.mjs +1 -1
  96. package/dist/utils/TimeUtils.mjs +1 -1
  97. package/package.json +1 -1
  98. package/src/authority/Authority.ts +3 -5
  99. package/src/authority/AuthorityMetadata.ts +109 -435
  100. package/src/authority/AuthorityOptions.ts +2 -2
  101. package/src/cache/CacheManager.ts +16 -20
  102. package/src/cache/entities/AccessTokenEntity.ts +13 -149
  103. package/src/cache/entities/CredentialEntity.ts +16 -200
  104. package/src/cache/entities/IdTokenEntity.ts +4 -64
  105. package/src/cache/entities/RefreshTokenEntity.ts +2 -69
  106. package/src/cache/utils/CacheHelpers.ts +306 -0
  107. package/src/client/AuthorizationCodeClient.ts +1 -2
  108. package/src/client/BaseClient.ts +21 -10
  109. package/src/index.ts +1 -0
  110. package/src/packageMetadata.ts +1 -1
  111. package/src/response/ResponseHandler.ts +36 -41
  112. package/dist/cache/entities/AccessTokenEntity.mjs +0 -121
  113. package/dist/cache/entities/AccessTokenEntity.mjs.map +0 -1
  114. package/dist/cache/entities/CredentialEntity.mjs +0 -145
  115. package/dist/cache/entities/CredentialEntity.mjs.map +0 -1
  116. package/dist/cache/entities/IdTokenEntity.mjs +0 -64
  117. package/dist/cache/entities/IdTokenEntity.mjs.map +0 -1
  118. package/dist/cache/entities/RefreshTokenEntity.mjs +0 -67
  119. package/dist/cache/entities/RefreshTokenEntity.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v14.2.0 2023-10-20 */
1
+ /*! @azure/msal-common v14.3.0 2023-10-30 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v14.2.0 2023-10-20 */
1
+ /*! @azure/msal-common v14.3.0 2023-10-30 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v14.2.0 2023-10-20 */
1
+ /*! @azure/msal-common v14.3.0 2023-10-30 */
2
2
  'use strict';
3
3
  import { Constants } from './Constants.mjs';
4
4
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v14.2.0 2023-10-20 */
1
+ /*! @azure/msal-common v14.3.0 2023-10-30 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v14.2.0 2023-10-20 */
1
+ /*! @azure/msal-common v14.3.0 2023-10-30 */
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": "14.2.0",
13
+ "version": "14.3.0",
14
14
  "description": "Microsoft Authentication Library for js",
15
15
  "keywords": [
16
16
  "implicit",
@@ -855,7 +855,7 @@ export class Authority {
855
855
  } else {
856
856
  const hardcodedMetadata =
857
857
  getCloudDiscoveryMetadataFromHardcodedValues(
858
- this.canonicalAuthority
858
+ this.hostnameAndPort
859
859
  );
860
860
  if (hardcodedMetadata) {
861
861
  this.logger.verbose(
@@ -1264,13 +1264,11 @@ export function buildStaticAuthorityOptions(
1264
1264
  authOptions: Partial<AuthorityOptions>
1265
1265
  ): StaticAuthorityOptions {
1266
1266
  const rawCloudDiscoveryMetadata = authOptions.cloudDiscoveryMetadata;
1267
- let cloudDiscoveryMetadata: CloudDiscoveryMetadata[] | undefined =
1267
+ let cloudDiscoveryMetadata: CloudInstanceDiscoveryResponse | undefined =
1268
1268
  undefined;
1269
1269
  if (rawCloudDiscoveryMetadata) {
1270
1270
  try {
1271
- cloudDiscoveryMetadata = JSON.parse(
1272
- rawCloudDiscoveryMetadata
1273
- ).metadata;
1271
+ cloudDiscoveryMetadata = JSON.parse(rawCloudDiscoveryMetadata);
1274
1272
  } catch (e) {
1275
1273
  throw createClientConfigurationError(
1276
1274
  ClientConfigurationErrorCodes.invalidCloudDiscoveryMetadata
@@ -3,7 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { Logger } from "../logger/Logger";
6
7
  import { UrlString } from "../url/UrlString";
8
+ import { AuthorityMetadataSource } from "../utils/Constants";
9
+ import { StaticAuthorityOptions } from "./AuthorityOptions";
7
10
  import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata";
8
11
 
9
12
  export const rawMetdataJSON = {
@@ -552,393 +555,47 @@ export const rawMetdataJSON = {
552
555
  },
553
556
  },
554
557
  instanceDiscoveryMetadata: {
555
- "https://login.microsoftonline.com/common/": {
556
- tenant_discovery_endpoint:
557
- "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
558
- "api-version": "1.1",
559
- metadata: [
560
- {
561
- preferred_network: "login.microsoftonline.com",
562
- preferred_cache: "login.windows.net",
563
- aliases: [
564
- "login.microsoftonline.com",
565
- "login.windows.net",
566
- "login.microsoft.com",
567
- "sts.windows.net",
568
- ],
569
- },
570
- {
571
- preferred_network: "login.partner.microsoftonline.cn",
572
- preferred_cache: "login.partner.microsoftonline.cn",
573
- aliases: [
574
- "login.partner.microsoftonline.cn",
575
- "login.chinacloudapi.cn",
576
- ],
577
- },
578
- {
579
- preferred_network: "login.microsoftonline.de",
580
- preferred_cache: "login.microsoftonline.de",
581
- aliases: ["login.microsoftonline.de"],
582
- },
583
- {
584
- preferred_network: "login.microsoftonline.us",
585
- preferred_cache: "login.microsoftonline.us",
586
- aliases: [
587
- "login.microsoftonline.us",
588
- "login.usgovcloudapi.net",
589
- ],
590
- },
591
- {
592
- preferred_network: "login-us.microsoftonline.com",
593
- preferred_cache: "login-us.microsoftonline.com",
594
- aliases: ["login-us.microsoftonline.com"],
595
- },
596
- ],
597
- },
598
- "https://login.chinacloudapi.cn/common/": {
599
- tenant_discovery_endpoint:
600
- "https://login.chinacloudapi.cn/common/v2.0/.well-known/openid-configuration",
601
- "api-version": "1.1",
602
- metadata: [
603
- {
604
- preferred_network: "login.microsoftonline.com",
605
- preferred_cache: "login.windows.net",
606
- aliases: [
607
- "login.microsoftonline.com",
608
- "login.windows.net",
609
- "login.microsoft.com",
610
- "sts.windows.net",
611
- ],
612
- },
613
- {
614
- preferred_network: "login.partner.microsoftonline.cn",
615
- preferred_cache: "login.partner.microsoftonline.cn",
616
- aliases: [
617
- "login.partner.microsoftonline.cn",
618
- "login.chinacloudapi.cn",
619
- ],
620
- },
621
- {
622
- preferred_network: "login.microsoftonline.de",
623
- preferred_cache: "login.microsoftonline.de",
624
- aliases: ["login.microsoftonline.de"],
625
- },
626
- {
627
- preferred_network: "login.microsoftonline.us",
628
- preferred_cache: "login.microsoftonline.us",
629
- aliases: [
630
- "login.microsoftonline.us",
631
- "login.usgovcloudapi.net",
632
- ],
633
- },
634
- {
635
- preferred_network: "login-us.microsoftonline.com",
636
- preferred_cache: "login-us.microsoftonline.com",
637
- aliases: ["login-us.microsoftonline.com"],
638
- },
639
- ],
640
- },
641
- "https://login.microsoftonline.us/common/": {
642
- tenant_discovery_endpoint:
643
- "https://login.microsoftonline.us/common/v2.0/.well-known/openid-configuration",
644
- "api-version": "1.1",
645
- metadata: [
646
- {
647
- preferred_network: "login.microsoftonline.com",
648
- preferred_cache: "login.windows.net",
649
- aliases: [
650
- "login.microsoftonline.com",
651
- "login.windows.net",
652
- "login.microsoft.com",
653
- "sts.windows.net",
654
- ],
655
- },
656
- {
657
- preferred_network: "login.partner.microsoftonline.cn",
658
- preferred_cache: "login.partner.microsoftonline.cn",
659
- aliases: [
660
- "login.partner.microsoftonline.cn",
661
- "login.chinacloudapi.cn",
662
- ],
663
- },
664
- {
665
- preferred_network: "login.microsoftonline.de",
666
- preferred_cache: "login.microsoftonline.de",
667
- aliases: ["login.microsoftonline.de"],
668
- },
669
- {
670
- preferred_network: "login.microsoftonline.us",
671
- preferred_cache: "login.microsoftonline.us",
672
- aliases: [
673
- "login.microsoftonline.us",
674
- "login.usgovcloudapi.net",
675
- ],
676
- },
677
- {
678
- preferred_network: "login-us.microsoftonline.com",
679
- preferred_cache: "login-us.microsoftonline.com",
680
- aliases: ["login-us.microsoftonline.com"],
681
- },
682
- ],
683
- },
684
- "https://login.microsoftonline.com/consumers/": {
685
- tenant_discovery_endpoint:
686
- "https://login.microsoftonline.com/consumers/v2.0/.well-known/openid-configuration",
687
- "api-version": "1.1",
688
- metadata: [
689
- {
690
- preferred_network: "login.microsoftonline.com",
691
- preferred_cache: "login.windows.net",
692
- aliases: [
693
- "login.microsoftonline.com",
694
- "login.windows.net",
695
- "login.microsoft.com",
696
- "sts.windows.net",
697
- ],
698
- },
699
- {
700
- preferred_network: "login.partner.microsoftonline.cn",
701
- preferred_cache: "login.partner.microsoftonline.cn",
702
- aliases: [
703
- "login.partner.microsoftonline.cn",
704
- "login.chinacloudapi.cn",
705
- ],
706
- },
707
- {
708
- preferred_network: "login.microsoftonline.de",
709
- preferred_cache: "login.microsoftonline.de",
710
- aliases: ["login.microsoftonline.de"],
711
- },
712
- {
713
- preferred_network: "login.microsoftonline.us",
714
- preferred_cache: "login.microsoftonline.us",
715
- aliases: [
716
- "login.microsoftonline.us",
717
- "login.usgovcloudapi.net",
718
- ],
719
- },
720
- {
721
- preferred_network: "login-us.microsoftonline.com",
722
- preferred_cache: "login-us.microsoftonline.com",
723
- aliases: ["login-us.microsoftonline.com"],
724
- },
725
- ],
726
- },
727
- "https://login.chinacloudapi.cn/consumers/": {
728
- tenant_discovery_endpoint:
729
- "https://login.chinacloudapi.cn/consumers/v2.0/.well-known/openid-configuration",
730
- "api-version": "1.1",
731
- metadata: [
732
- {
733
- preferred_network: "login.microsoftonline.com",
734
- preferred_cache: "login.windows.net",
735
- aliases: [
736
- "login.microsoftonline.com",
737
- "login.windows.net",
738
- "login.microsoft.com",
739
- "sts.windows.net",
740
- ],
741
- },
742
- {
743
- preferred_network: "login.partner.microsoftonline.cn",
744
- preferred_cache: "login.partner.microsoftonline.cn",
745
- aliases: [
746
- "login.partner.microsoftonline.cn",
747
- "login.chinacloudapi.cn",
748
- ],
749
- },
750
- {
751
- preferred_network: "login.microsoftonline.de",
752
- preferred_cache: "login.microsoftonline.de",
753
- aliases: ["login.microsoftonline.de"],
754
- },
755
- {
756
- preferred_network: "login.microsoftonline.us",
757
- preferred_cache: "login.microsoftonline.us",
758
- aliases: [
759
- "login.microsoftonline.us",
760
- "login.usgovcloudapi.net",
761
- ],
762
- },
763
- {
764
- preferred_network: "login-us.microsoftonline.com",
765
- preferred_cache: "login-us.microsoftonline.com",
766
- aliases: ["login-us.microsoftonline.com"],
767
- },
768
- ],
769
- },
770
- "https://login.microsoftonline.us/consumers/": {
771
- tenant_discovery_endpoint:
772
- "https://login.microsoftonline.us/consumers/v2.0/.well-known/openid-configuration",
773
- "api-version": "1.1",
774
- metadata: [
775
- {
776
- preferred_network: "login.microsoftonline.com",
777
- preferred_cache: "login.windows.net",
778
- aliases: [
779
- "login.microsoftonline.com",
780
- "login.windows.net",
781
- "login.microsoft.com",
782
- "sts.windows.net",
783
- ],
784
- },
785
- {
786
- preferred_network: "login.partner.microsoftonline.cn",
787
- preferred_cache: "login.partner.microsoftonline.cn",
788
- aliases: [
789
- "login.partner.microsoftonline.cn",
790
- "login.chinacloudapi.cn",
791
- ],
792
- },
793
- {
794
- preferred_network: "login.microsoftonline.de",
795
- preferred_cache: "login.microsoftonline.de",
796
- aliases: ["login.microsoftonline.de"],
797
- },
798
- {
799
- preferred_network: "login.microsoftonline.us",
800
- preferred_cache: "login.microsoftonline.us",
801
- aliases: [
802
- "login.microsoftonline.us",
803
- "login.usgovcloudapi.net",
804
- ],
805
- },
806
- {
807
- preferred_network: "login-us.microsoftonline.com",
808
- preferred_cache: "login-us.microsoftonline.com",
809
- aliases: ["login-us.microsoftonline.com"],
810
- },
811
- ],
812
- },
813
- "https://login.microsoftonline.com/organizations/": {
814
- tenant_discovery_endpoint:
815
- "https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration",
816
- "api-version": "1.1",
817
- metadata: [
818
- {
819
- preferred_network: "login.microsoftonline.com",
820
- preferred_cache: "login.windows.net",
821
- aliases: [
822
- "login.microsoftonline.com",
823
- "login.windows.net",
824
- "login.microsoft.com",
825
- "sts.windows.net",
826
- ],
827
- },
828
- {
829
- preferred_network: "login.partner.microsoftonline.cn",
830
- preferred_cache: "login.partner.microsoftonline.cn",
831
- aliases: [
832
- "login.partner.microsoftonline.cn",
833
- "login.chinacloudapi.cn",
834
- ],
835
- },
836
- {
837
- preferred_network: "login.microsoftonline.de",
838
- preferred_cache: "login.microsoftonline.de",
839
- aliases: ["login.microsoftonline.de"],
840
- },
841
- {
842
- preferred_network: "login.microsoftonline.us",
843
- preferred_cache: "login.microsoftonline.us",
844
- aliases: [
845
- "login.microsoftonline.us",
846
- "login.usgovcloudapi.net",
847
- ],
848
- },
849
- {
850
- preferred_network: "login-us.microsoftonline.com",
851
- preferred_cache: "login-us.microsoftonline.com",
852
- aliases: ["login-us.microsoftonline.com"],
853
- },
854
- ],
855
- },
856
- "https://login.chinacloudapi.cn/organizations/": {
857
- tenant_discovery_endpoint:
858
- "https://login.chinacloudapi.cn/organizations/v2.0/.well-known/openid-configuration",
859
- "api-version": "1.1",
860
- metadata: [
861
- {
862
- preferred_network: "login.microsoftonline.com",
863
- preferred_cache: "login.windows.net",
864
- aliases: [
865
- "login.microsoftonline.com",
866
- "login.windows.net",
867
- "login.microsoft.com",
868
- "sts.windows.net",
869
- ],
870
- },
871
- {
872
- preferred_network: "login.partner.microsoftonline.cn",
873
- preferred_cache: "login.partner.microsoftonline.cn",
874
- aliases: [
875
- "login.partner.microsoftonline.cn",
876
- "login.chinacloudapi.cn",
877
- ],
878
- },
879
- {
880
- preferred_network: "login.microsoftonline.de",
881
- preferred_cache: "login.microsoftonline.de",
882
- aliases: ["login.microsoftonline.de"],
883
- },
884
- {
885
- preferred_network: "login.microsoftonline.us",
886
- preferred_cache: "login.microsoftonline.us",
887
- aliases: [
888
- "login.microsoftonline.us",
889
- "login.usgovcloudapi.net",
890
- ],
891
- },
892
- {
893
- preferred_network: "login-us.microsoftonline.com",
894
- preferred_cache: "login-us.microsoftonline.com",
895
- aliases: ["login-us.microsoftonline.com"],
896
- },
897
- ],
898
- },
899
- "https://login.microsoftonline.us/organizations/": {
900
- tenant_discovery_endpoint:
901
- "https://login.microsoftonline.us/organizations/v2.0/.well-known/openid-configuration",
902
- "api-version": "1.1",
903
- metadata: [
904
- {
905
- preferred_network: "login.microsoftonline.com",
906
- preferred_cache: "login.windows.net",
907
- aliases: [
908
- "login.microsoftonline.com",
909
- "login.windows.net",
910
- "login.microsoft.com",
911
- "sts.windows.net",
912
- ],
913
- },
914
- {
915
- preferred_network: "login.partner.microsoftonline.cn",
916
- preferred_cache: "login.partner.microsoftonline.cn",
917
- aliases: [
918
- "login.partner.microsoftonline.cn",
919
- "login.chinacloudapi.cn",
920
- ],
921
- },
922
- {
923
- preferred_network: "login.microsoftonline.de",
924
- preferred_cache: "login.microsoftonline.de",
925
- aliases: ["login.microsoftonline.de"],
926
- },
927
- {
928
- preferred_network: "login.microsoftonline.us",
929
- preferred_cache: "login.microsoftonline.us",
930
- aliases: [
931
- "login.microsoftonline.us",
932
- "login.usgovcloudapi.net",
933
- ],
934
- },
935
- {
936
- preferred_network: "login-us.microsoftonline.com",
937
- preferred_cache: "login-us.microsoftonline.com",
938
- aliases: ["login-us.microsoftonline.com"],
939
- },
940
- ],
941
- },
558
+ tenant_discovery_endpoint:
559
+ "https://{canonicalAuthority}/v2.0/.well-known/openid-configuration",
560
+ "api-version": "1.1",
561
+ metadata: [
562
+ {
563
+ preferred_network: "login.microsoftonline.com",
564
+ preferred_cache: "login.windows.net",
565
+ aliases: [
566
+ "login.microsoftonline.com",
567
+ "login.windows.net",
568
+ "login.microsoft.com",
569
+ "sts.windows.net",
570
+ ],
571
+ },
572
+ {
573
+ preferred_network: "login.partner.microsoftonline.cn",
574
+ preferred_cache: "login.partner.microsoftonline.cn",
575
+ aliases: [
576
+ "login.partner.microsoftonline.cn",
577
+ "login.chinacloudapi.cn",
578
+ ],
579
+ },
580
+ {
581
+ preferred_network: "login.microsoftonline.de",
582
+ preferred_cache: "login.microsoftonline.de",
583
+ aliases: ["login.microsoftonline.de"],
584
+ },
585
+ {
586
+ preferred_network: "login.microsoftonline.us",
587
+ preferred_cache: "login.microsoftonline.us",
588
+ aliases: [
589
+ "login.microsoftonline.us",
590
+ "login.usgovcloudapi.net",
591
+ ],
592
+ },
593
+ {
594
+ preferred_network: "login-us.microsoftonline.com",
595
+ preferred_cache: "login-us.microsoftonline.com",
596
+ aliases: ["login-us.microsoftonline.com"],
597
+ },
598
+ ],
942
599
  },
943
600
  };
944
601
 
@@ -947,58 +604,96 @@ export const InstanceDiscoveryMetadata =
947
604
  rawMetdataJSON.instanceDiscoveryMetadata;
948
605
 
949
606
  export const InstanceDiscoveryMetadataAliases: Set<String> = new Set();
950
- for (const key in InstanceDiscoveryMetadata) {
951
- for (const metadata of InstanceDiscoveryMetadata[key].metadata) {
952
- for (const alias of metadata.aliases) {
607
+ InstanceDiscoveryMetadata.metadata.forEach(
608
+ (metadataEntry: CloudDiscoveryMetadata) => {
609
+ metadataEntry.aliases.forEach((alias: string) => {
953
610
  InstanceDiscoveryMetadataAliases.add(alias);
954
- }
611
+ });
955
612
  }
956
- }
613
+ );
957
614
 
958
615
  /**
959
- * Returns aliases for the given canonical authority if found in hardcoded Instance Discovery Metadata or null if not found
960
- * @param canonicalAuthority
616
+ * Attempts to get an aliases array from the static authority metadata sources based on the canonical authority host
617
+ * @param staticAuthorityOptions
618
+ * @param logger
961
619
  * @returns
962
620
  */
963
- export function getHardcodedAliasesForCanonicalAuthority(
964
- canonicalAuthority?: string
965
- ): string[] | null {
621
+ export function getAliasesFromStaticSources(
622
+ staticAuthorityOptions: StaticAuthorityOptions,
623
+ logger?: Logger
624
+ ): string[] {
625
+ let staticAliases: string[] | undefined;
626
+ const canonicalAuthority = staticAuthorityOptions.canonicalAuthority;
966
627
  if (canonicalAuthority) {
967
- const instanceDiscoveryMetadata =
968
- getCloudDiscoveryMetadataFromHardcodedValues(canonicalAuthority);
969
- if (instanceDiscoveryMetadata) {
970
- return instanceDiscoveryMetadata.aliases;
971
- }
628
+ const authorityHost = new UrlString(
629
+ canonicalAuthority
630
+ ).getUrlComponents().HostNameAndPort;
631
+ staticAliases =
632
+ getAliasesFromMetadata(
633
+ authorityHost,
634
+ staticAuthorityOptions.cloudDiscoveryMetadata?.metadata,
635
+ AuthorityMetadataSource.CONFIG,
636
+ logger
637
+ ) ||
638
+ getAliasesFromMetadata(
639
+ authorityHost,
640
+ InstanceDiscoveryMetadata.metadata,
641
+ AuthorityMetadataSource.HARDCODED_VALUES,
642
+ logger
643
+ ) ||
644
+ staticAuthorityOptions.knownAuthorities;
972
645
  }
973
- return null;
646
+
647
+ return staticAliases || [];
974
648
  }
975
649
 
976
650
  /**
977
- * Returns aliases for from the raw cloud discovery metadata given in configuration or null if no configuration was provided
651
+ * Returns aliases for from the raw cloud discovery metadata passed in
652
+ * @param authorityHost
978
653
  * @param rawCloudDiscoveryMetadata
979
654
  * @returns
980
655
  */
981
- export function getAliasesFromConfigMetadata(
982
- canonicalAuthority?: string,
983
- cloudDiscoveryMetadata?: CloudDiscoveryMetadata[]
656
+ export function getAliasesFromMetadata(
657
+ authorityHost?: string,
658
+ cloudDiscoveryMetadata?: CloudDiscoveryMetadata[],
659
+ source?: AuthorityMetadataSource,
660
+ logger?: Logger
984
661
  ): string[] | null {
985
- if (canonicalAuthority && cloudDiscoveryMetadata) {
986
- const canonicalAuthorityUrlComponents = new UrlString(
987
- canonicalAuthority
988
- ).getUrlComponents();
662
+ logger?.trace(`getAliasesFromMetadata called with source: ${source}`);
663
+ if (authorityHost && cloudDiscoveryMetadata) {
989
664
  const metadata = getCloudDiscoveryMetadataFromNetworkResponse(
990
665
  cloudDiscoveryMetadata,
991
- canonicalAuthorityUrlComponents.HostNameAndPort
666
+ authorityHost
992
667
  );
993
668
 
994
669
  if (metadata) {
670
+ logger?.trace(
671
+ `getAliasesFromMetadata: found cloud discovery metadata in ${source}, returning aliases`
672
+ );
995
673
  return metadata.aliases;
674
+ } else {
675
+ logger?.trace(
676
+ `getAliasesFromMetadata: did not find cloud discovery metadata in ${source}`
677
+ );
996
678
  }
997
679
  }
998
680
 
999
681
  return null;
1000
682
  }
1001
683
 
684
+ /**
685
+ * Get cloud discovery metadata for common authorities
686
+ */
687
+ export function getCloudDiscoveryMetadataFromHardcodedValues(
688
+ authorityHost: string
689
+ ): CloudDiscoveryMetadata | null {
690
+ const metadata = getCloudDiscoveryMetadataFromNetworkResponse(
691
+ InstanceDiscoveryMetadata.metadata,
692
+ authorityHost
693
+ );
694
+ return metadata;
695
+ }
696
+
1002
697
  /**
1003
698
  * Searches instance discovery network response for the entry that contains the host in the aliases list
1004
699
  * @param response
@@ -1006,35 +701,14 @@ export function getAliasesFromConfigMetadata(
1006
701
  */
1007
702
  export function getCloudDiscoveryMetadataFromNetworkResponse(
1008
703
  response: CloudDiscoveryMetadata[],
1009
- authority: string
704
+ authorityHost: string
1010
705
  ): CloudDiscoveryMetadata | null {
1011
706
  for (let i = 0; i < response.length; i++) {
1012
707
  const metadata = response[i];
1013
- if (metadata.aliases.includes(authority)) {
708
+ if (metadata.aliases.includes(authorityHost)) {
1014
709
  return metadata;
1015
710
  }
1016
711
  }
1017
712
 
1018
713
  return null;
1019
714
  }
1020
-
1021
- /**
1022
- * Get cloud discovery metadata for common authorities
1023
- */
1024
- export function getCloudDiscoveryMetadataFromHardcodedValues(
1025
- canonicalAuthority: string
1026
- ): CloudDiscoveryMetadata | null {
1027
- const canonicalAuthorityUrlComponents = new UrlString(
1028
- canonicalAuthority
1029
- ).getUrlComponents();
1030
-
1031
- if (canonicalAuthority in InstanceDiscoveryMetadata) {
1032
- const metadata = getCloudDiscoveryMetadataFromNetworkResponse(
1033
- InstanceDiscoveryMetadata[canonicalAuthority].metadata,
1034
- canonicalAuthorityUrlComponents.HostNameAndPort
1035
- );
1036
- return metadata;
1037
- }
1038
-
1039
- return null;
1040
- }