@azure/msal-common 4.2.1 → 4.5.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 (190) hide show
  1. package/CHANGELOG.json +212 -1
  2. package/LICENSE +21 -21
  3. package/README.md +61 -58
  4. package/changelog.md +402 -344
  5. package/dist/_virtual/_tslib.js +90 -0
  6. package/dist/_virtual/_tslib.js.map +1 -0
  7. package/dist/account/AuthToken.js +43 -0
  8. package/dist/account/AuthToken.js.map +1 -0
  9. package/dist/account/CcsCredential.d.ts +9 -0
  10. package/dist/account/CcsCredential.d.ts.map +1 -0
  11. package/dist/account/CcsCredential.js +14 -0
  12. package/dist/account/CcsCredential.js.map +1 -0
  13. package/dist/account/ClientInfo.d.ts +6 -1
  14. package/dist/account/ClientInfo.d.ts.map +1 -1
  15. package/dist/account/ClientInfo.js +44 -0
  16. package/dist/account/ClientInfo.js.map +1 -0
  17. package/dist/account/TokenClaims.d.ts +1 -0
  18. package/dist/account/TokenClaims.d.ts.map +1 -1
  19. package/dist/authority/Authority.d.ts +25 -0
  20. package/dist/authority/Authority.d.ts.map +1 -1
  21. package/dist/authority/Authority.js +574 -0
  22. package/dist/authority/Authority.js.map +1 -0
  23. package/dist/authority/AuthorityFactory.js +69 -0
  24. package/dist/authority/AuthorityFactory.js.map +1 -0
  25. package/dist/authority/AuthorityOptions.d.ts +2 -0
  26. package/dist/authority/AuthorityOptions.d.ts.map +1 -1
  27. package/dist/authority/AuthorityType.js +17 -0
  28. package/dist/authority/AuthorityType.js.map +1 -0
  29. package/dist/authority/AzureRegion.d.ts +2 -0
  30. package/dist/authority/AzureRegion.d.ts.map +1 -0
  31. package/dist/authority/AzureRegionConfiguration.d.ts +6 -0
  32. package/dist/authority/AzureRegionConfiguration.d.ts.map +1 -0
  33. package/dist/authority/CloudInstanceDiscoveryResponse.js +13 -0
  34. package/dist/authority/CloudInstanceDiscoveryResponse.js.map +1 -0
  35. package/dist/authority/OpenIdConfigResponse.js +15 -0
  36. package/dist/authority/OpenIdConfigResponse.js.map +1 -0
  37. package/dist/authority/ProtocolMode.js +17 -0
  38. package/dist/authority/ProtocolMode.js.map +1 -0
  39. package/dist/authority/RegionDiscovery.d.ts +31 -0
  40. package/dist/authority/RegionDiscovery.d.ts.map +1 -0
  41. package/dist/authority/RegionDiscovery.js +119 -0
  42. package/dist/authority/RegionDiscovery.js.map +1 -0
  43. package/dist/authority/RegionDiscoveryMetadata.d.ts +7 -0
  44. package/dist/authority/RegionDiscoveryMetadata.d.ts.map +1 -0
  45. package/dist/cache/CacheManager.js +713 -0
  46. package/dist/cache/CacheManager.js.map +1 -0
  47. package/dist/cache/entities/AccessTokenEntity.js +111 -0
  48. package/dist/cache/entities/AccessTokenEntity.js.map +1 -0
  49. package/dist/cache/entities/AccountEntity.d.ts +5 -5
  50. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  51. package/dist/cache/entities/AccountEntity.js +242 -0
  52. package/dist/cache/entities/AccountEntity.js.map +1 -0
  53. package/dist/cache/entities/AppMetadataEntity.js +74 -0
  54. package/dist/cache/entities/AppMetadataEntity.js.map +1 -0
  55. package/dist/cache/entities/AuthorityMetadataEntity.js +81 -0
  56. package/dist/cache/entities/AuthorityMetadataEntity.js.map +1 -0
  57. package/dist/cache/entities/CacheRecord.js +19 -0
  58. package/dist/cache/entities/CacheRecord.js.map +1 -0
  59. package/dist/cache/entities/CredentialEntity.js +142 -0
  60. package/dist/cache/entities/CredentialEntity.js.map +1 -0
  61. package/dist/cache/entities/IdTokenEntity.js +71 -0
  62. package/dist/cache/entities/IdTokenEntity.js.map +1 -0
  63. package/dist/cache/entities/RefreshTokenEntity.js +73 -0
  64. package/dist/cache/entities/RefreshTokenEntity.js.map +1 -0
  65. package/dist/cache/entities/ServerTelemetryEntity.js +35 -0
  66. package/dist/cache/entities/ServerTelemetryEntity.js.map +1 -0
  67. package/dist/cache/entities/ThrottlingEntity.js +32 -0
  68. package/dist/cache/entities/ThrottlingEntity.js.map +1 -0
  69. package/dist/cache/persistence/TokenCacheContext.js +39 -0
  70. package/dist/cache/persistence/TokenCacheContext.js.map +1 -0
  71. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  72. package/dist/client/AuthorizationCodeClient.js +388 -0
  73. package/dist/client/AuthorizationCodeClient.js.map +1 -0
  74. package/dist/client/BaseClient.d.ts +2 -1
  75. package/dist/client/BaseClient.d.ts.map +1 -1
  76. package/dist/client/BaseClient.js +101 -0
  77. package/dist/client/BaseClient.js.map +1 -0
  78. package/dist/client/ClientCredentialClient.d.ts.map +1 -1
  79. package/dist/client/ClientCredentialClient.js +169 -0
  80. package/dist/client/ClientCredentialClient.js.map +1 -0
  81. package/dist/client/DeviceCodeClient.d.ts +6 -0
  82. package/dist/client/DeviceCodeClient.d.ts.map +1 -1
  83. package/dist/client/DeviceCodeClient.js +212 -0
  84. package/dist/client/DeviceCodeClient.js.map +1 -0
  85. package/dist/client/OnBehalfOfClient.d.ts.map +1 -1
  86. package/dist/client/OnBehalfOfClient.js +209 -0
  87. package/dist/client/OnBehalfOfClient.js.map +1 -0
  88. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  89. package/dist/client/RefreshTokenClient.js +212 -0
  90. package/dist/client/RefreshTokenClient.js.map +1 -0
  91. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  92. package/dist/client/SilentFlowClient.js +132 -0
  93. package/dist/client/SilentFlowClient.js.map +1 -0
  94. package/dist/client/UsernamePasswordClient.d.ts.map +1 -1
  95. package/dist/client/UsernamePasswordClient.js +112 -0
  96. package/dist/client/UsernamePasswordClient.js.map +1 -0
  97. package/dist/config/ClientConfiguration.d.ts +3 -0
  98. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  99. package/dist/config/ClientConfiguration.js +91 -0
  100. package/dist/config/ClientConfiguration.js.map +1 -0
  101. package/dist/crypto/ICrypto.js +53 -0
  102. package/dist/crypto/ICrypto.js.map +1 -0
  103. package/dist/crypto/PopTokenGenerator.js +72 -0
  104. package/dist/crypto/PopTokenGenerator.js.map +1 -0
  105. package/dist/error/AuthError.js +46 -0
  106. package/dist/error/AuthError.js.map +1 -0
  107. package/dist/error/ClientAuthError.d.ts +13 -6
  108. package/dist/error/ClientAuthError.d.ts.map +1 -1
  109. package/dist/error/ClientAuthError.js +456 -0
  110. package/dist/error/ClientAuthError.js.map +1 -0
  111. package/dist/error/ClientConfigurationError.d.ts +1 -6
  112. package/dist/error/ClientConfigurationError.d.ts.map +1 -1
  113. package/dist/error/ClientConfigurationError.js +210 -0
  114. package/dist/error/ClientConfigurationError.js.map +1 -0
  115. package/dist/error/InteractionRequiredAuthError.js +48 -0
  116. package/dist/error/InteractionRequiredAuthError.js.map +1 -0
  117. package/dist/error/ServerError.js +25 -0
  118. package/dist/error/ServerError.js.map +1 -0
  119. package/dist/index.cjs.js +7045 -0
  120. package/dist/index.cjs.js.map +1 -0
  121. package/dist/index.d.ts +4 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +43 -6479
  124. package/dist/index.js.map +1 -0
  125. package/dist/logger/Logger.d.ts +12 -3
  126. package/dist/logger/Logger.d.ts.map +1 -1
  127. package/dist/logger/Logger.js +183 -0
  128. package/dist/logger/Logger.js.map +1 -0
  129. package/dist/network/INetworkModule.d.ts +1 -1
  130. package/dist/network/INetworkModule.d.ts.map +1 -1
  131. package/dist/network/INetworkModule.js +21 -0
  132. package/dist/network/INetworkModule.js.map +1 -0
  133. package/dist/network/NetworkManager.js +56 -0
  134. package/dist/network/NetworkManager.js.map +1 -0
  135. package/dist/network/ThrottlingUtils.d.ts.map +1 -1
  136. package/dist/network/ThrottlingUtils.js +95 -0
  137. package/dist/network/ThrottlingUtils.js.map +1 -0
  138. package/dist/packageMetadata.d.ts +1 -1
  139. package/dist/packageMetadata.js +8 -0
  140. package/dist/packageMetadata.js.map +1 -0
  141. package/dist/request/CommonAuthorizationCodeRequest.d.ts +3 -0
  142. package/dist/request/CommonAuthorizationCodeRequest.d.ts.map +1 -1
  143. package/dist/request/CommonAuthorizationUrlRequest.d.ts +1 -0
  144. package/dist/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
  145. package/dist/request/CommonClientCredentialRequest.d.ts +7 -4
  146. package/dist/request/CommonClientCredentialRequest.d.ts.map +1 -1
  147. package/dist/request/CommonRefreshTokenRequest.d.ts +2 -0
  148. package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
  149. package/dist/request/RequestParameterBuilder.d.ts +11 -0
  150. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  151. package/dist/request/RequestParameterBuilder.js +340 -0
  152. package/dist/request/RequestParameterBuilder.js.map +1 -0
  153. package/dist/request/RequestValidator.d.ts.map +1 -1
  154. package/dist/request/RequestValidator.js +92 -0
  155. package/dist/request/RequestValidator.js.map +1 -0
  156. package/dist/request/ScopeSet.js +192 -0
  157. package/dist/request/ScopeSet.js.map +1 -0
  158. package/dist/response/AuthenticationResult.d.ts +1 -1
  159. package/dist/response/AuthenticationResult.d.ts.map +1 -1
  160. package/dist/response/AuthorizationCodePayload.d.ts +1 -0
  161. package/dist/response/AuthorizationCodePayload.d.ts.map +1 -1
  162. package/dist/response/IMDSBadResponse.d.ts +5 -0
  163. package/dist/response/IMDSBadResponse.d.ts.map +1 -0
  164. package/dist/response/ResponseHandler.d.ts.map +1 -1
  165. package/dist/response/ResponseHandler.js +281 -0
  166. package/dist/response/ResponseHandler.js.map +1 -0
  167. package/dist/telemetry/server/ServerTelemetryManager.d.ts +23 -1
  168. package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  169. package/dist/telemetry/server/ServerTelemetryManager.js +168 -0
  170. package/dist/telemetry/server/ServerTelemetryManager.js.map +1 -0
  171. package/dist/url/UrlString.d.ts +10 -0
  172. package/dist/url/UrlString.d.ts.map +1 -1
  173. package/dist/url/UrlString.js +223 -0
  174. package/dist/url/UrlString.js.map +1 -0
  175. package/dist/utils/Constants.d.ts +47 -4
  176. package/dist/utils/Constants.d.ts.map +1 -1
  177. package/dist/utils/Constants.js +362 -0
  178. package/dist/utils/Constants.js.map +1 -0
  179. package/dist/utils/ProtocolUtils.js +77 -0
  180. package/dist/utils/ProtocolUtils.js.map +1 -0
  181. package/dist/utils/StringUtils.d.ts +5 -0
  182. package/dist/utils/StringUtils.d.ts.map +1 -1
  183. package/dist/utils/StringUtils.js +128 -0
  184. package/dist/utils/StringUtils.js.map +1 -0
  185. package/dist/utils/TimeUtils.d.ts +13 -0
  186. package/dist/utils/TimeUtils.d.ts.map +1 -1
  187. package/dist/utils/TimeUtils.js +53 -0
  188. package/dist/utils/TimeUtils.js.map +1 -0
  189. package/package.json +10 -19
  190. package/dist/index.es.js +0 -6472
@@ -0,0 +1,69 @@
1
+ /*! @azure/msal-common v4.5.1 2021-08-02 */
2
+ 'use strict';
3
+ import { __awaiter, __generator } from '../_virtual/_tslib.js';
4
+ import { Authority } from './Authority.js';
5
+ import { ClientConfigurationError } from '../error/ClientConfigurationError.js';
6
+ import { StringUtils } from '../utils/StringUtils.js';
7
+ import { ClientAuthError } from '../error/ClientAuthError.js';
8
+
9
+ /*
10
+ * Copyright (c) Microsoft Corporation. All rights reserved.
11
+ * Licensed under the MIT License.
12
+ */
13
+ var AuthorityFactory = /** @class */ (function () {
14
+ function AuthorityFactory() {
15
+ }
16
+ /**
17
+ * Create an authority object of the correct type based on the url
18
+ * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
19
+ *
20
+ * Also performs endpoint discovery.
21
+ *
22
+ * @param authorityUri
23
+ * @param networkClient
24
+ * @param protocolMode
25
+ */
26
+ AuthorityFactory.createDiscoveredInstance = function (authorityUri, networkClient, cacheManager, authorityOptions) {
27
+ return __awaiter(this, void 0, void 0, function () {
28
+ var acquireTokenAuthority, e_1;
29
+ return __generator(this, function (_a) {
30
+ switch (_a.label) {
31
+ case 0:
32
+ acquireTokenAuthority = AuthorityFactory.createInstance(authorityUri, networkClient, cacheManager, authorityOptions);
33
+ _a.label = 1;
34
+ case 1:
35
+ _a.trys.push([1, 3, , 4]);
36
+ return [4 /*yield*/, acquireTokenAuthority.resolveEndpointsAsync()];
37
+ case 2:
38
+ _a.sent();
39
+ return [2 /*return*/, acquireTokenAuthority];
40
+ case 3:
41
+ e_1 = _a.sent();
42
+ throw ClientAuthError.createEndpointDiscoveryIncompleteError(e_1);
43
+ case 4: return [2 /*return*/];
44
+ }
45
+ });
46
+ });
47
+ };
48
+ /**
49
+ * Create an authority object of the correct type based on the url
50
+ * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
51
+ *
52
+ * Does not perform endpoint discovery.
53
+ *
54
+ * @param authorityUrl
55
+ * @param networkInterface
56
+ * @param protocolMode
57
+ */
58
+ AuthorityFactory.createInstance = function (authorityUrl, networkInterface, cacheManager, authorityOptions) {
59
+ // Throw error if authority url is empty
60
+ if (StringUtils.isEmpty(authorityUrl)) {
61
+ throw ClientConfigurationError.createUrlEmptyError();
62
+ }
63
+ return new Authority(authorityUrl, networkInterface, cacheManager, authorityOptions);
64
+ };
65
+ return AuthorityFactory;
66
+ }());
67
+
68
+ export { AuthorityFactory };
69
+ //# sourceMappingURL=AuthorityFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthorityFactory.js","sources":["../../src/authority/AuthorityFactory.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Authority } from \"./Authority\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { ICacheManager } from \"../cache/interface/ICacheManager\";\nimport { AuthorityOptions } from \"./AuthorityOptions\";\n\nexport class AuthorityFactory {\n\n /**\n * Create an authority object of the correct type based on the url\n * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)\n *\n * Also performs endpoint discovery.\n *\n * @param authorityUri\n * @param networkClient\n * @param protocolMode\n */\n static async createDiscoveredInstance(authorityUri: string, networkClient: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions): Promise<Authority> {\n // Initialize authority and perform discovery endpoint check.\n const acquireTokenAuthority: Authority = AuthorityFactory.createInstance(authorityUri, networkClient, cacheManager, authorityOptions);\n\n try {\n await acquireTokenAuthority.resolveEndpointsAsync();\n return acquireTokenAuthority;\n } catch (e) {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(e);\n }\n }\n\n /**\n * Create an authority object of the correct type based on the url\n * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)\n *\n * Does not perform endpoint discovery.\n *\n * @param authorityUrl\n * @param networkInterface\n * @param protocolMode\n */\n static createInstance(authorityUrl: string, networkInterface: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions): Authority {\n // Throw error if authority url is empty\n if (StringUtils.isEmpty(authorityUrl)) {\n throw ClientConfigurationError.createUrlEmptyError();\n }\n\n return new Authority(authorityUrl, networkInterface, cacheManager, authorityOptions);\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;;;;;IAaA;KA0CC;;;;;;;;;;;IA9BgB,yCAAwB,GAArC,UAAsC,YAAoB,EAAE,aAA6B,EAAE,YAA2B,EAAE,gBAAkC;;;;;;wBAEhJ,qBAAqB,GAAc,gBAAgB,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;;;;wBAGlI,qBAAM,qBAAqB,CAAC,qBAAqB,EAAE,EAAA;;wBAAnD,SAAmD,CAAC;wBACpD,sBAAO,qBAAqB,EAAC;;;wBAE7B,MAAM,eAAe,CAAC,sCAAsC,CAAC,GAAC,CAAC,CAAC;;;;;KAEvE;;;;;;;;;;;IAYM,+BAAc,GAArB,UAAsB,YAAoB,EAAE,gBAAgC,EAAE,YAA2B,EAAE,gBAAkC;;QAEzI,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACnC,MAAM,wBAAwB,CAAC,mBAAmB,EAAE,CAAC;SACxD;QAED,OAAO,IAAI,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;KACxF;IACL,uBAAC;AAAD,CAAC;;;;"}
@@ -1,8 +1,10 @@
1
1
  import { ProtocolMode } from "./ProtocolMode";
2
+ import { AzureRegionConfiguration } from "./AzureRegionConfiguration";
2
3
  export declare type AuthorityOptions = {
3
4
  protocolMode: ProtocolMode;
4
5
  knownAuthorities: Array<string>;
5
6
  cloudDiscoveryMetadata: string;
6
7
  authorityMetadata: string;
8
+ azureRegionConfiguration?: AzureRegionConfiguration;
7
9
  };
8
10
  //# sourceMappingURL=AuthorityOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorityOptions.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,oBAAY,gBAAgB,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;CAC7B,CAAC"}
1
+ {"version":3,"file":"AuthorityOptions.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,oBAAY,gBAAgB,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACvD,CAAC"}
@@ -0,0 +1,17 @@
1
+ /*! @azure/msal-common v4.5.1 2021-08-02 */
2
+ 'use strict';
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ /**
8
+ * Authority types supported by MSAL.
9
+ */
10
+ var AuthorityType;
11
+ (function (AuthorityType) {
12
+ AuthorityType[AuthorityType["Default"] = 0] = "Default";
13
+ AuthorityType[AuthorityType["Adfs"] = 1] = "Adfs";
14
+ })(AuthorityType || (AuthorityType = {}));
15
+
16
+ export { AuthorityType };
17
+ //# sourceMappingURL=AuthorityType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthorityType.js","sources":["../../src/authority/AuthorityType.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Authority types supported by MSAL.\n */\nexport enum AuthorityType {\n Default,\n Adfs\n}\n"],"names":[],"mappings":";;AAAA;;;;AAKA;;;IAGY;AAAZ,WAAY,aAAa;IACrB,uDAAO,CAAA;IACP,iDAAI,CAAA;AACR,CAAC,EAHW,aAAa,KAAb,aAAa;;;;"}
@@ -0,0 +1,2 @@
1
+ export declare type AzureRegion = string;
2
+ //# sourceMappingURL=AzureRegion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AzureRegion.d.ts","sourceRoot":"","sources":["../../src/authority/AzureRegion.ts"],"names":[],"mappings":"AAMA,oBAAY,WAAW,GAAG,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { AzureRegion } from "./AzureRegion";
2
+ export declare type AzureRegionConfiguration = {
3
+ azureRegion?: AzureRegion;
4
+ environmentRegion: string | undefined;
5
+ };
6
+ //# sourceMappingURL=AzureRegionConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AzureRegionConfiguration.d.ts","sourceRoot":"","sources":["../../src/authority/AzureRegionConfiguration.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,oBAAY,wBAAwB,GAAG;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /*! @azure/msal-common v4.5.1 2021-08-02 */
2
+ 'use strict';
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ function isCloudInstanceDiscoveryResponse(response) {
8
+ return (response.hasOwnProperty("tenant_discovery_endpoint") &&
9
+ response.hasOwnProperty("metadata"));
10
+ }
11
+
12
+ export { isCloudInstanceDiscoveryResponse };
13
+ //# sourceMappingURL=CloudInstanceDiscoveryResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudInstanceDiscoveryResponse.js","sources":["../../src/authority/CloudInstanceDiscoveryResponse.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CloudDiscoveryMetadata } from \"./CloudDiscoveryMetadata\";\n\n/**\n * The OpenID Configuration Endpoint Response type. Used by the authority class to get relevant OAuth endpoints.\n */\nexport type CloudInstanceDiscoveryResponse = {\n tenant_discovery_endpoint: string;\n metadata: Array<CloudDiscoveryMetadata>;\n};\n\nexport function isCloudInstanceDiscoveryResponse(response: object): boolean {\n return (\n response.hasOwnProperty(\"tenant_discovery_endpoint\") &&\n response.hasOwnProperty(\"metadata\")\n );\n}\n"],"names":[],"mappings":";;AAAA;;;;SAegB,gCAAgC,CAAC,QAAgB;IAC7D,QACI,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;QACpD,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EACrC;AACN;;;;"}
@@ -0,0 +1,15 @@
1
+ /*! @azure/msal-common v4.5.1 2021-08-02 */
2
+ 'use strict';
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ function isOpenIdConfigResponse(response) {
8
+ return (response.hasOwnProperty("authorization_endpoint") &&
9
+ response.hasOwnProperty("token_endpoint") &&
10
+ response.hasOwnProperty("end_session_endpoint") &&
11
+ response.hasOwnProperty("issuer"));
12
+ }
13
+
14
+ export { isOpenIdConfigResponse };
15
+ //# sourceMappingURL=OpenIdConfigResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenIdConfigResponse.js","sources":["../../src/authority/OpenIdConfigResponse.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Tenant Discovery Response which contains the relevant OAuth endpoints and data needed for authentication and authorization.\n */\nexport type OpenIdConfigResponse = {\n authorization_endpoint: string;\n token_endpoint: string;\n end_session_endpoint: string;\n issuer: string;\n};\n\nexport function isOpenIdConfigResponse(response: object): boolean {\n return (\n response.hasOwnProperty(\"authorization_endpoint\") &&\n response.hasOwnProperty(\"token_endpoint\") && \n response.hasOwnProperty(\"end_session_endpoint\") &&\n response.hasOwnProperty(\"issuer\")\n );\n}\n"],"names":[],"mappings":";;AAAA;;;;SAegB,sBAAsB,CAAC,QAAgB;IACnD,QACI,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;QACjD,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;QACzC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC;QAC/C,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EACnC;AACN;;;;"}
@@ -0,0 +1,17 @@
1
+ /*! @azure/msal-common v4.5.1 2021-08-02 */
2
+ 'use strict';
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ /**
8
+ * Protocol modes supported by MSAL.
9
+ */
10
+ var ProtocolMode;
11
+ (function (ProtocolMode) {
12
+ ProtocolMode["AAD"] = "AAD";
13
+ ProtocolMode["OIDC"] = "OIDC";
14
+ })(ProtocolMode || (ProtocolMode = {}));
15
+
16
+ export { ProtocolMode };
17
+ //# sourceMappingURL=ProtocolMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtocolMode.js","sources":["../../src/authority/ProtocolMode.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Protocol modes supported by MSAL.\n */\nexport enum ProtocolMode {\n AAD = \"AAD\",\n OIDC = \"OIDC\"\n}\n"],"names":[],"mappings":";;AAAA;;;;AAKA;;;IAGY;AAAZ,WAAY,YAAY;IACpB,2BAAW,CAAA;IACX,6BAAa,CAAA;AACjB,CAAC,EAHW,YAAY,KAAZ,YAAY;;;;"}
@@ -0,0 +1,31 @@
1
+ import { INetworkModule } from "../network/INetworkModule";
2
+ import { RegionDiscoveryMetadata } from "./RegionDiscoveryMetadata";
3
+ export declare class RegionDiscovery {
4
+ protected networkInterface: INetworkModule;
5
+ protected static IMDS_OPTIONS: {
6
+ headers: {
7
+ Metadata: string;
8
+ };
9
+ };
10
+ constructor(networkInterface: INetworkModule);
11
+ /**
12
+ * Detect the region from the application's environment.
13
+ *
14
+ * @returns Promise<string | null>
15
+ */
16
+ detectRegion(environmentRegion: string | undefined, regionDiscoveryMetadata: RegionDiscoveryMetadata): Promise<string | null>;
17
+ /**
18
+ * Make the call to the IMDS endpoint
19
+ *
20
+ * @param imdsEndpointUrl
21
+ * @returns Promise<NetworkResponse<string>>
22
+ */
23
+ private getRegionFromIMDS;
24
+ /**
25
+ * Get the most recent version of the IMDS endpoint available
26
+ *
27
+ * @returns Promise<string | null>
28
+ */
29
+ private getCurrentVersion;
30
+ }
31
+ //# sourceMappingURL=RegionDiscovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionDiscovery.d.ts","sourceRoot":"","sources":["../../src/authority/RegionDiscovery.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAe;IAExB,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAE3C,SAAS,CAAC,MAAM,CAAC,YAAY;;;;MAAmC;gBAEpD,gBAAgB,EAAE,cAAc;IAI5C;;;;OAIG;IACU,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EAAE,uBAAuB,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2C1I;;;;;OAKG;YACW,iBAAiB;IAI/B;;;;OAIG;YACW,iBAAiB;CAclC"}
@@ -0,0 +1,119 @@
1
+ /*! @azure/msal-common v4.5.1 2021-08-02 */
2
+ 'use strict';
3
+ import { __awaiter, __generator } from '../_virtual/_tslib.js';
4
+ import { RegionDiscoverySources, ResponseCodes, Constants } from '../utils/Constants.js';
5
+
6
+ /*
7
+ * Copyright (c) Microsoft Corporation. All rights reserved.
8
+ * Licensed under the MIT License.
9
+ */
10
+ var RegionDiscovery = /** @class */ (function () {
11
+ function RegionDiscovery(networkInterface) {
12
+ this.networkInterface = networkInterface;
13
+ }
14
+ /**
15
+ * Detect the region from the application's environment.
16
+ *
17
+ * @returns Promise<string | null>
18
+ */
19
+ RegionDiscovery.prototype.detectRegion = function (environmentRegion, regionDiscoveryMetadata) {
20
+ return __awaiter(this, void 0, void 0, function () {
21
+ var autodetectedRegionName, localIMDSVersionResponse, currentIMDSVersion, currentIMDSVersionResponse;
22
+ return __generator(this, function (_a) {
23
+ switch (_a.label) {
24
+ case 0:
25
+ autodetectedRegionName = environmentRegion;
26
+ if (!!autodetectedRegionName) return [3 /*break*/, 8];
27
+ _a.label = 1;
28
+ case 1:
29
+ _a.trys.push([1, 6, , 7]);
30
+ return [4 /*yield*/, this.getRegionFromIMDS(Constants.IMDS_VERSION)];
31
+ case 2:
32
+ localIMDSVersionResponse = _a.sent();
33
+ if (localIMDSVersionResponse.status === ResponseCodes.httpSuccess) {
34
+ autodetectedRegionName = localIMDSVersionResponse.body;
35
+ regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;
36
+ }
37
+ if (!(localIMDSVersionResponse.status === ResponseCodes.httpBadRequest)) return [3 /*break*/, 5];
38
+ return [4 /*yield*/, this.getCurrentVersion()];
39
+ case 3:
40
+ currentIMDSVersion = _a.sent();
41
+ if (!currentIMDSVersion) {
42
+ regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;
43
+ return [2 /*return*/, null];
44
+ }
45
+ return [4 /*yield*/, this.getRegionFromIMDS(currentIMDSVersion)];
46
+ case 4:
47
+ currentIMDSVersionResponse = _a.sent();
48
+ if (currentIMDSVersionResponse.status === ResponseCodes.httpSuccess) {
49
+ autodetectedRegionName = currentIMDSVersionResponse.body;
50
+ regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;
51
+ }
52
+ _a.label = 5;
53
+ case 5: return [3 /*break*/, 7];
54
+ case 6:
55
+ _a.sent();
56
+ regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;
57
+ return [2 /*return*/, null];
58
+ case 7: return [3 /*break*/, 9];
59
+ case 8:
60
+ regionDiscoveryMetadata.region_source = RegionDiscoverySources.ENVIRONMENT_VARIABLE;
61
+ _a.label = 9;
62
+ case 9:
63
+ // If no region was auto detected from the environment or from the IMDS endpoint, mark the attempt as a FAILED_AUTO_DETECTION
64
+ if (!autodetectedRegionName) {
65
+ regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;
66
+ }
67
+ return [2 /*return*/, autodetectedRegionName || null];
68
+ }
69
+ });
70
+ });
71
+ };
72
+ /**
73
+ * Make the call to the IMDS endpoint
74
+ *
75
+ * @param imdsEndpointUrl
76
+ * @returns Promise<NetworkResponse<string>>
77
+ */
78
+ RegionDiscovery.prototype.getRegionFromIMDS = function (version) {
79
+ return __awaiter(this, void 0, void 0, function () {
80
+ return __generator(this, function (_a) {
81
+ return [2 /*return*/, this.networkInterface.sendGetRequestAsync(Constants.IMDS_ENDPOINT + "?api-version=" + version + "&format=text", RegionDiscovery.IMDS_OPTIONS, Constants.IMDS_TIMEOUT)];
82
+ });
83
+ });
84
+ };
85
+ /**
86
+ * Get the most recent version of the IMDS endpoint available
87
+ *
88
+ * @returns Promise<string | null>
89
+ */
90
+ RegionDiscovery.prototype.getCurrentVersion = function () {
91
+ return __awaiter(this, void 0, void 0, function () {
92
+ var response;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ _a.trys.push([0, 2, , 3]);
97
+ return [4 /*yield*/, this.networkInterface.sendGetRequestAsync(Constants.IMDS_ENDPOINT + "?format=json", RegionDiscovery.IMDS_OPTIONS)];
98
+ case 1:
99
+ response = _a.sent();
100
+ // When IMDS endpoint is called without the api version query param, bad request response comes back with latest version.
101
+ if (response.status === ResponseCodes.httpBadRequest && response.body && response.body["newest-versions"] && response.body["newest-versions"].length > 0) {
102
+ return [2 /*return*/, response.body["newest-versions"][0]];
103
+ }
104
+ return [2 /*return*/, null];
105
+ case 2:
106
+ _a.sent();
107
+ return [2 /*return*/, null];
108
+ case 3: return [2 /*return*/];
109
+ }
110
+ });
111
+ });
112
+ };
113
+ // Options for the IMDS endpoint request
114
+ RegionDiscovery.IMDS_OPTIONS = { headers: { "Metadata": "true" } };
115
+ return RegionDiscovery;
116
+ }());
117
+
118
+ export { RegionDiscovery };
119
+ //# sourceMappingURL=RegionDiscovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionDiscovery.js","sources":["../../src/authority/RegionDiscovery.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { NetworkResponse } from \"../network/NetworkManager\";\nimport { IMDSBadResponse } from \"../response/IMDSBadResponse\";\nimport { Constants, RegionDiscoverySources, ResponseCodes } from \"../utils/Constants\";\nimport { RegionDiscoveryMetadata } from \"./RegionDiscoveryMetadata\";\n\nexport class RegionDiscovery {\n // Network interface to make requests with.\n protected networkInterface: INetworkModule;\n // Options for the IMDS endpoint request\n protected static IMDS_OPTIONS = {headers: {\"Metadata\": \"true\"}};\n\n constructor(networkInterface: INetworkModule) {\n this.networkInterface = networkInterface;\n }\n\n /**\n * Detect the region from the application's environment.\n * \n * @returns Promise<string | null>\n */\n public async detectRegion(environmentRegion: string | undefined, regionDiscoveryMetadata: RegionDiscoveryMetadata): Promise<string | null> {\n // Initialize auto detected region with the region from the envrionment \n let autodetectedRegionName = environmentRegion;\n\n // Check if a region was detected from the environment, if not, attempt to get the region from IMDS \n if (!autodetectedRegionName) {\n try {\n const localIMDSVersionResponse = await this.getRegionFromIMDS(Constants.IMDS_VERSION);\n if (localIMDSVersionResponse.status === ResponseCodes.httpSuccess) {\n autodetectedRegionName = localIMDSVersionResponse.body;\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;\n } \n \n // If the response using the local IMDS version failed, try to fetch the current version of IMDS and retry. \n if (localIMDSVersionResponse.status === ResponseCodes.httpBadRequest) {\n const currentIMDSVersion = await this.getCurrentVersion();\n if (!currentIMDSVersion) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n return null;\n }\n\n const currentIMDSVersionResponse = await this.getRegionFromIMDS(currentIMDSVersion);\n if (currentIMDSVersionResponse.status === ResponseCodes.httpSuccess) {\n autodetectedRegionName = currentIMDSVersionResponse.body;\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;\n }\n }\n } catch(e) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n return null;\n } \n } else {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.ENVIRONMENT_VARIABLE;\n }\n\n // If no region was auto detected from the environment or from the IMDS endpoint, mark the attempt as a FAILED_AUTO_DETECTION\n if (!autodetectedRegionName) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n }\n\n return autodetectedRegionName || null;\n }\n\n /**\n * Make the call to the IMDS endpoint\n * \n * @param imdsEndpointUrl\n * @returns Promise<NetworkResponse<string>>\n */\n private async getRegionFromIMDS(version: string): Promise<NetworkResponse<string>> {\n return this.networkInterface.sendGetRequestAsync<string>(`${Constants.IMDS_ENDPOINT}?api-version=${version}&format=text`, RegionDiscovery.IMDS_OPTIONS, Constants.IMDS_TIMEOUT);\n }\n\n /**\n * Get the most recent version of the IMDS endpoint available\n * \n * @returns Promise<string | null>\n */\n private async getCurrentVersion(): Promise<string | null> {\n try {\n const response = await this.networkInterface.sendGetRequestAsync<IMDSBadResponse>(`${Constants.IMDS_ENDPOINT}?format=json`, RegionDiscovery.IMDS_OPTIONS);\n\n // When IMDS endpoint is called without the api version query param, bad request response comes back with latest version.\n if (response.status === ResponseCodes.httpBadRequest && response.body && response.body[\"newest-versions\"] && response.body[\"newest-versions\"].length > 0) {\n return response.body[\"newest-versions\"][0];\n }\n\n return null;\n } catch (e) {\n return null;\n }\n }\n}\n"],"names":[],"mappings":";;;;;AAAA;;;;;IAiBI,yBAAY,gBAAgC;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;KAC5C;;;;;;IAOY,sCAAY,GAAzB,UAA0B,iBAAqC,EAAE,uBAAgD;;;;;;wBAEzG,sBAAsB,GAAG,iBAAiB,CAAC;6BAG3C,CAAC,sBAAsB,EAAvB,wBAAuB;;;;wBAEc,qBAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,YAAY,CAAC,EAAA;;wBAA/E,wBAAwB,GAAG,SAAoD;wBACrF,IAAI,wBAAwB,CAAC,MAAM,KAAK,aAAa,CAAC,WAAW,EAAE;4BAC/D,sBAAsB,GAAG,wBAAwB,CAAC,IAAI,CAAC;4BACvD,uBAAuB,CAAC,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC;yBACvE;8BAGG,wBAAwB,CAAC,MAAM,KAAK,aAAa,CAAC,cAAc,CAAA,EAAhE,wBAAgE;wBACrC,qBAAM,IAAI,CAAC,iBAAiB,EAAE,EAAA;;wBAAnD,kBAAkB,GAAG,SAA8B;wBACzD,IAAI,CAAC,kBAAkB,EAAE;4BACrB,uBAAuB,CAAC,aAAa,GAAG,sBAAsB,CAAC,qBAAqB,CAAC;4BACrF,sBAAO,IAAI,EAAC;yBACf;wBAEkC,qBAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAA;;wBAA7E,0BAA0B,GAAG,SAAgD;wBACnF,IAAI,0BAA0B,CAAC,MAAM,KAAK,aAAa,CAAC,WAAW,EAAE;4BACjE,sBAAsB,GAAG,0BAA0B,CAAC,IAAI,CAAC;4BACzD,uBAAuB,CAAC,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC;yBACvE;;;;;wBAGL,uBAAuB,CAAC,aAAa,GAAG,sBAAsB,CAAC,qBAAqB,CAAC;wBACrF,sBAAO,IAAI,EAAC;;;wBAGhB,uBAAuB,CAAC,aAAa,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;;;;wBAIxF,IAAI,CAAC,sBAAsB,EAAE;4BACzB,uBAAuB,CAAC,aAAa,GAAG,sBAAsB,CAAC,qBAAqB,CAAC;yBACxF;wBAED,sBAAO,sBAAsB,IAAI,IAAI,EAAC;;;;KACzC;;;;;;;IAQa,2CAAiB,GAA/B,UAAgC,OAAe;;;gBAC3C,sBAAO,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAY,SAAS,CAAC,aAAa,qBAAgB,OAAO,iBAAc,EAAE,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,EAAC;;;KACnL;;;;;;IAOa,2CAAiB,GAA/B;;;;;;;wBAEyB,qBAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAqB,SAAS,CAAC,aAAa,iBAAc,EAAE,eAAe,CAAC,YAAY,CAAC,EAAA;;wBAAnJ,QAAQ,GAAG,SAAwI;;wBAGzJ,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,CAAC,cAAc,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACtJ,sBAAO,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAC;yBAC9C;wBAED,sBAAO,IAAI,EAAC;;;wBAEZ,sBAAO,IAAI,EAAC;;;;;KAEnB;;IAlFgB,4BAAY,GAAG,EAAC,OAAO,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,EAAC,CAAC;IAmFpE,sBAAC;CAvFD;;;;"}
@@ -0,0 +1,7 @@
1
+ import { RegionDiscoveryOutcomes, RegionDiscoverySources } from "../utils/Constants";
2
+ export declare type RegionDiscoveryMetadata = {
3
+ region_used?: string;
4
+ region_source?: RegionDiscoverySources;
5
+ region_outcome?: RegionDiscoveryOutcomes;
6
+ };
7
+ //# sourceMappingURL=RegionDiscoveryMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionDiscoveryMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/RegionDiscoveryMetadata.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,oBAAY,uBAAuB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC5C,CAAC"}