@azure/identity 4.5.1-alpha.20250115.7 → 4.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1054) hide show
  1. package/README.md +1 -5
  2. package/dist/index.js +4211 -0
  3. package/dist/index.js.map +1 -0
  4. package/{dist/esm → dist-esm/src}/client/identityClient.js +7 -7
  5. package/dist-esm/src/client/identityClient.js.map +1 -0
  6. package/{dist/esm → dist-esm/src}/constants.js +2 -10
  7. package/dist-esm/src/constants.js.map +1 -0
  8. package/{dist/browser/credentials/authorizationCodeCredential.js → dist-esm/src/credentials/authorizationCodeCredential.browser.js} +2 -2
  9. package/dist-esm/src/credentials/authorizationCodeCredential.browser.js.map +1 -0
  10. package/{dist/esm → dist-esm/src}/credentials/authorizationCodeCredential.js +6 -6
  11. package/dist-esm/src/credentials/authorizationCodeCredential.js.map +1 -0
  12. package/dist-esm/src/credentials/authorizationCodeCredentialOptions.js.map +1 -0
  13. package/{dist/browser/credentials/azureApplicationCredential.js → dist-esm/src/credentials/azureApplicationCredential.browser.js} +3 -3
  14. package/dist-esm/src/credentials/azureApplicationCredential.browser.js.map +1 -0
  15. package/{dist/esm → dist-esm/src}/credentials/azureApplicationCredential.js +2 -2
  16. package/dist-esm/src/credentials/azureApplicationCredential.js.map +1 -0
  17. package/dist-esm/src/credentials/azureApplicationCredentialOptions.js.map +1 -0
  18. package/{dist/browser/credentials/azureCliCredential.js → dist-esm/src/credentials/azureCliCredential.browser.js} +2 -2
  19. package/dist-esm/src/credentials/azureCliCredential.browser.js.map +1 -0
  20. package/{dist/esm → dist-esm/src}/credentials/azureCliCredential.js +10 -24
  21. package/dist-esm/src/credentials/azureCliCredential.js.map +1 -0
  22. package/dist-esm/src/credentials/azureCliCredentialOptions.js.map +1 -0
  23. package/{dist/browser/credentials/azureDeveloperCliCredential.js → dist-esm/src/credentials/azureDeveloperCliCredential.browser.js} +2 -2
  24. package/dist-esm/src/credentials/azureDeveloperCliCredential.browser.js.map +1 -0
  25. package/{dist/esm → dist-esm/src}/credentials/azureDeveloperCliCredential.js +8 -8
  26. package/dist-esm/src/credentials/azureDeveloperCliCredential.js.map +1 -0
  27. package/dist-esm/src/credentials/azureDeveloperCliCredentialOptions.js.map +1 -0
  28. package/{dist/browser/credentials/azurePipelinesCredential.js → dist-esm/src/credentials/azurePipelinesCredential.browser.js} +2 -2
  29. package/dist-esm/src/credentials/azurePipelinesCredential.browser.js.map +1 -0
  30. package/{dist/esm → dist-esm/src}/credentials/azurePipelinesCredential.js +5 -5
  31. package/dist-esm/src/credentials/azurePipelinesCredential.js.map +1 -0
  32. package/dist-esm/src/credentials/azurePipelinesCredentialOptions.js.map +1 -0
  33. package/{dist/browser/credentials/azurePowerShellCredential.js → dist-esm/src/credentials/azurePowerShellCredential.browser.js} +2 -2
  34. package/dist-esm/src/credentials/azurePowerShellCredential.browser.js.map +1 -0
  35. package/{dist/esm → dist-esm/src}/credentials/azurePowerShellCredential.js +6 -6
  36. package/dist-esm/src/credentials/azurePowerShellCredential.js.map +1 -0
  37. package/dist-esm/src/credentials/azurePowerShellCredentialOptions.js.map +1 -0
  38. package/dist-esm/src/credentials/brokerAuthOptions.js.map +1 -0
  39. package/{dist/esm → dist-esm/src}/credentials/chainedTokenCredential.js +5 -8
  40. package/dist-esm/src/credentials/chainedTokenCredential.js.map +1 -0
  41. package/{dist/browser/credentials/clientAssertionCredential.js → dist-esm/src/credentials/clientAssertionCredential.browser.js} +2 -2
  42. package/dist-esm/src/credentials/clientAssertionCredential.browser.js.map +1 -0
  43. package/{dist/esm → dist-esm/src}/credentials/clientAssertionCredential.js +5 -5
  44. package/dist-esm/src/credentials/clientAssertionCredential.js.map +1 -0
  45. package/dist-esm/src/credentials/clientAssertionCredentialOptions.js.map +1 -0
  46. package/{dist/browser/credentials/clientCertificateCredential.js → dist-esm/src/credentials/clientCertificateCredential.browser.js} +2 -2
  47. package/dist-esm/src/credentials/clientCertificateCredential.browser.js.map +1 -0
  48. package/{dist/esm → dist-esm/src}/credentials/clientCertificateCredential.js +9 -12
  49. package/dist-esm/src/credentials/clientCertificateCredential.js.map +1 -0
  50. package/dist-esm/src/credentials/clientCertificateCredentialOptions.js.map +1 -0
  51. package/{dist/browser/credentials/clientSecretCredential.js → dist-esm/src/credentials/clientSecretCredential.browser.js} +6 -6
  52. package/dist-esm/src/credentials/clientSecretCredential.browser.js.map +1 -0
  53. package/{dist/esm → dist-esm/src}/credentials/clientSecretCredential.js +6 -6
  54. package/dist-esm/src/credentials/clientSecretCredential.js.map +1 -0
  55. package/dist-esm/src/credentials/clientSecretCredentialOptions.js.map +1 -0
  56. package/dist-esm/src/credentials/credentialPersistenceOptions.js.map +1 -0
  57. package/{dist/browser/credentials/defaultAzureCredential.js → dist-esm/src/credentials/defaultAzureCredential.browser.js} +3 -3
  58. package/dist-esm/src/credentials/defaultAzureCredential.browser.js.map +1 -0
  59. package/{dist/esm → dist-esm/src}/credentials/defaultAzureCredential.js +10 -23
  60. package/dist-esm/src/credentials/defaultAzureCredential.js.map +1 -0
  61. package/dist-esm/src/credentials/defaultAzureCredentialOptions.js.map +1 -0
  62. package/{dist/browser/credentials/deviceCodeCredential.js → dist-esm/src/credentials/deviceCodeCredential.browser.js} +2 -2
  63. package/dist-esm/src/credentials/deviceCodeCredential.browser.js.map +1 -0
  64. package/{dist/esm → dist-esm/src}/credentials/deviceCodeCredential.js +6 -6
  65. package/dist-esm/src/credentials/deviceCodeCredential.js.map +1 -0
  66. package/dist-esm/src/credentials/deviceCodeCredentialOptions.js.map +1 -0
  67. package/{dist/browser/credentials/environmentCredential.js → dist-esm/src/credentials/environmentCredential.browser.js} +2 -2
  68. package/dist-esm/src/credentials/environmentCredential.browser.js.map +1 -0
  69. package/{dist/esm → dist-esm/src}/credentials/environmentCredential.js +7 -7
  70. package/dist-esm/src/credentials/environmentCredential.js.map +1 -0
  71. package/dist-esm/src/credentials/environmentCredentialOptions.js.map +1 -0
  72. package/{dist/browser/credentials/interactiveBrowserCredential.js → dist-esm/src/credentials/interactiveBrowserCredential.browser.js} +6 -6
  73. package/dist-esm/src/credentials/interactiveBrowserCredential.browser.js.map +1 -0
  74. package/{dist/esm → dist-esm/src}/credentials/interactiveBrowserCredential.js +6 -6
  75. package/{dist/commonjs → dist-esm/src}/credentials/interactiveBrowserCredential.js.map +1 -1
  76. package/dist-esm/src/credentials/interactiveBrowserCredentialOptions.js.map +1 -0
  77. package/dist-esm/src/credentials/interactiveCredentialOptions.js.map +1 -0
  78. package/dist-esm/src/credentials/managedIdentityCredential/appServiceMsi2017.js +71 -0
  79. package/dist-esm/src/credentials/managedIdentityCredential/appServiceMsi2017.js.map +1 -0
  80. package/dist-esm/src/credentials/managedIdentityCredential/appServiceMsi2019.js +71 -0
  81. package/dist-esm/src/credentials/managedIdentityCredential/appServiceMsi2019.js.map +1 -0
  82. package/dist-esm/src/credentials/managedIdentityCredential/arcMsi.js +140 -0
  83. package/dist-esm/src/credentials/managedIdentityCredential/arcMsi.js.map +1 -0
  84. package/dist-esm/src/credentials/managedIdentityCredential/cloudShellMsi.js +75 -0
  85. package/dist-esm/src/credentials/managedIdentityCredential/cloudShellMsi.js.map +1 -0
  86. package/dist-esm/src/credentials/managedIdentityCredential/constants.js +9 -0
  87. package/dist-esm/src/credentials/managedIdentityCredential/constants.js.map +1 -0
  88. package/dist-esm/src/credentials/managedIdentityCredential/fabricMsi.js +95 -0
  89. package/dist-esm/src/credentials/managedIdentityCredential/fabricMsi.js.map +1 -0
  90. package/{dist/esm → dist-esm/src}/credentials/managedIdentityCredential/imdsMsi.js +38 -16
  91. package/dist-esm/src/credentials/managedIdentityCredential/imdsMsi.js.map +1 -0
  92. package/dist-esm/src/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +1 -0
  93. package/{dist/browser/credentials/managedIdentityCredential/index.js → dist-esm/src/credentials/managedIdentityCredential/index.browser.js} +2 -2
  94. package/dist-esm/src/credentials/managedIdentityCredential/index.browser.js.map +1 -0
  95. package/dist-esm/src/credentials/managedIdentityCredential/index.js +37 -0
  96. package/dist-esm/src/credentials/managedIdentityCredential/index.js.map +1 -0
  97. package/dist-esm/src/credentials/managedIdentityCredential/legacyMsiProvider.js +309 -0
  98. package/dist-esm/src/credentials/managedIdentityCredential/legacyMsiProvider.js.map +1 -0
  99. package/dist-esm/src/credentials/managedIdentityCredential/models.js.map +1 -0
  100. package/{dist/esm/credentials/managedIdentityCredential/index.js → dist-esm/src/credentials/managedIdentityCredential/msalMsiProvider.js} +26 -31
  101. package/dist-esm/src/credentials/managedIdentityCredential/msalMsiProvider.js.map +1 -0
  102. package/{dist/browser → dist-esm/src}/credentials/managedIdentityCredential/tokenExchangeMsi.js +3 -6
  103. package/dist-esm/src/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -0
  104. package/{dist/browser → dist-esm/src}/credentials/managedIdentityCredential/utils.js +1 -1
  105. package/dist-esm/src/credentials/managedIdentityCredential/utils.js.map +1 -0
  106. package/dist-esm/src/credentials/multiTenantTokenCredentialOptions.js.map +1 -0
  107. package/{dist/browser/credentials/onBehalfOfCredential.js → dist-esm/src/credentials/onBehalfOfCredential.browser.js} +2 -2
  108. package/dist-esm/src/credentials/onBehalfOfCredential.browser.js.map +1 -0
  109. package/{dist/esm → dist-esm/src}/credentials/onBehalfOfCredential.js +6 -6
  110. package/dist-esm/src/credentials/onBehalfOfCredential.js.map +1 -0
  111. package/dist-esm/src/credentials/onBehalfOfCredentialOptions.js.map +1 -0
  112. package/{dist/browser/credentials/usernamePasswordCredential.js → dist-esm/src/credentials/usernamePasswordCredential.browser.js} +6 -6
  113. package/dist-esm/src/credentials/usernamePasswordCredential.browser.js.map +1 -0
  114. package/{dist/esm → dist-esm/src}/credentials/usernamePasswordCredential.js +6 -6
  115. package/dist-esm/src/credentials/usernamePasswordCredential.js.map +1 -0
  116. package/dist-esm/src/credentials/usernamePasswordCredentialOptions.js.map +1 -0
  117. package/{dist/browser/credentials/visualStudioCodeCredential.js → dist-esm/src/credentials/visualStudioCodeCredential.browser.js} +2 -2
  118. package/dist-esm/src/credentials/visualStudioCodeCredential.browser.js.map +1 -0
  119. package/{dist/esm → dist-esm/src}/credentials/visualStudioCodeCredential.js +9 -9
  120. package/dist-esm/src/credentials/visualStudioCodeCredential.js.map +1 -0
  121. package/dist-esm/src/credentials/visualStudioCodeCredentialOptions.js.map +1 -0
  122. package/{dist/browser/credentials/workloadIdentityCredential.js → dist-esm/src/credentials/workloadIdentityCredential.browser.js} +2 -2
  123. package/dist-esm/src/credentials/workloadIdentityCredential.browser.js.map +1 -0
  124. package/{dist/esm → dist-esm/src}/credentials/workloadIdentityCredential.js +5 -5
  125. package/dist-esm/src/credentials/workloadIdentityCredential.js.map +1 -0
  126. package/dist-esm/src/credentials/workloadIdentityCredentialOptions.js.map +1 -0
  127. package/dist-esm/src/errors.js.map +1 -0
  128. package/{dist/browser → dist-esm/src}/index.js +25 -25
  129. package/dist-esm/src/index.js.map +1 -0
  130. package/dist-esm/src/msal/browserFlows/flows.js.map +1 -0
  131. package/{dist/esm → dist-esm/src}/msal/browserFlows/msalAuthCode.js +3 -3
  132. package/dist-esm/src/msal/browserFlows/msalAuthCode.js.map +1 -0
  133. package/{dist/browser → dist-esm/src}/msal/browserFlows/msalBrowserCommon.js +5 -5
  134. package/dist-esm/src/msal/browserFlows/msalBrowserCommon.js.map +1 -0
  135. package/dist-esm/src/msal/credentials.js.map +1 -0
  136. package/{dist/browser/msal/msal.js → dist-esm/src/msal/msal.browser.js} +1 -1
  137. package/dist-esm/src/msal/msal.browser.js.map +1 -0
  138. package/{dist/browser → dist-esm/src}/msal/nodeFlows/msalClient.js +16 -9
  139. package/dist-esm/src/msal/nodeFlows/msalClient.js.map +1 -0
  140. package/{dist/browser → dist-esm/src}/msal/nodeFlows/msalPlugins.js +1 -1
  141. package/dist-esm/src/msal/nodeFlows/msalPlugins.js.map +1 -0
  142. package/{dist/browser → dist-esm/src}/msal/types.js.map +1 -1
  143. package/{dist/browser → dist-esm/src}/msal/utils.js +8 -14
  144. package/dist-esm/src/msal/utils.js.map +1 -0
  145. package/{dist/browser/plugins/consumer.js → dist-esm/src/plugins/consumer.browser.js} +1 -1
  146. package/dist-esm/src/plugins/consumer.browser.js.map +1 -0
  147. package/{dist/esm → dist-esm/src}/plugins/consumer.js +2 -2
  148. package/dist-esm/src/plugins/consumer.js.map +1 -0
  149. package/dist-esm/src/plugins/provider.js.map +1 -0
  150. package/dist-esm/src/tokenCredentialOptions.js.map +1 -0
  151. package/{dist/browser → dist-esm/src}/tokenProvider.js +0 -1
  152. package/dist-esm/src/tokenProvider.js.map +1 -0
  153. package/{dist/esm/util/authHostEnv-browser.mjs → dist-esm/src/util/authHostEnv.browser.js} +1 -1
  154. package/dist-esm/src/util/authHostEnv.browser.js.map +1 -0
  155. package/dist-esm/src/util/logging.js.map +1 -0
  156. package/{dist/browser/util/processMultiTenantRequest.js → dist-esm/src/util/processMultiTenantRequest.browser.js} +1 -1
  157. package/dist-esm/src/util/processMultiTenantRequest.browser.js.map +1 -0
  158. package/{dist/esm → dist-esm/src}/util/processMultiTenantRequest.js +2 -2
  159. package/{dist/commonjs → dist-esm/src}/util/processMultiTenantRequest.js.map +1 -1
  160. package/{dist/browser → dist-esm/src}/util/scopeUtils.js +1 -1
  161. package/dist-esm/src/util/scopeUtils.js.map +1 -0
  162. package/{dist/esm → dist-esm/src}/util/tenantIdUtils.js +3 -3
  163. package/dist-esm/src/util/tenantIdUtils.js.map +1 -0
  164. package/{dist/browser → dist-esm/src}/util/tracing.js +1 -1
  165. package/dist-esm/src/util/tracing.js.map +1 -0
  166. package/package.json +79 -65
  167. package/types/identity.d.ts +1853 -0
  168. package/dist/browser/client/identityClient.d.ts +0 -65
  169. package/dist/browser/client/identityClient.d.ts.map +0 -1
  170. package/dist/browser/client/identityClient.js +0 -248
  171. package/dist/browser/client/identityClient.js.map +0 -1
  172. package/dist/browser/constants.d.ts +0 -69
  173. package/dist/browser/constants.d.ts.map +0 -1
  174. package/dist/browser/constants.js +0 -75
  175. package/dist/browser/constants.js.map +0 -1
  176. package/dist/browser/credentials/authorityValidationOptions.d.ts +0 -16
  177. package/dist/browser/credentials/authorityValidationOptions.d.ts.map +0 -1
  178. package/dist/browser/credentials/authorizationCodeCredential-browser.d.mts.map +0 -1
  179. package/dist/browser/credentials/authorizationCodeCredential-browser.mjs.map +0 -1
  180. package/dist/browser/credentials/authorizationCodeCredential.d.ts +0 -11
  181. package/dist/browser/credentials/authorizationCodeCredentialOptions.d.ts +0 -8
  182. package/dist/browser/credentials/authorizationCodeCredentialOptions.d.ts.map +0 -1
  183. package/dist/browser/credentials/authorizationCodeCredentialOptions.js.map +0 -1
  184. package/dist/browser/credentials/azureApplicationCredential-browser.d.mts.map +0 -1
  185. package/dist/browser/credentials/azureApplicationCredential-browser.mjs.map +0 -1
  186. package/dist/browser/credentials/azureApplicationCredential.d.ts +0 -24
  187. package/dist/browser/credentials/azureApplicationCredentialOptions.d.ts +0 -13
  188. package/dist/browser/credentials/azureApplicationCredentialOptions.d.ts.map +0 -1
  189. package/dist/browser/credentials/azureApplicationCredentialOptions.js.map +0 -1
  190. package/dist/browser/credentials/azureCliCredential-browser.d.mts.map +0 -1
  191. package/dist/browser/credentials/azureCliCredential-browser.mjs.map +0 -1
  192. package/dist/browser/credentials/azureCliCredential.d.ts +0 -13
  193. package/dist/browser/credentials/azureCliCredentialOptions.d.ts +0 -20
  194. package/dist/browser/credentials/azureCliCredentialOptions.d.ts.map +0 -1
  195. package/dist/browser/credentials/azureCliCredentialOptions.js.map +0 -1
  196. package/dist/browser/credentials/azureDeveloperCliCredential-browser.d.mts.map +0 -1
  197. package/dist/browser/credentials/azureDeveloperCliCredential-browser.mjs.map +0 -1
  198. package/dist/browser/credentials/azureDeveloperCliCredential.d.ts +0 -13
  199. package/dist/browser/credentials/azureDeveloperCliCredentialOptions.d.ts +0 -15
  200. package/dist/browser/credentials/azureDeveloperCliCredentialOptions.d.ts.map +0 -1
  201. package/dist/browser/credentials/azureDeveloperCliCredentialOptions.js.map +0 -1
  202. package/dist/browser/credentials/azurePipelinesCredential-browser.d.mts.map +0 -1
  203. package/dist/browser/credentials/azurePipelinesCredential-browser.mjs.map +0 -1
  204. package/dist/browser/credentials/azurePipelinesCredential.d.ts +0 -13
  205. package/dist/browser/credentials/azurePipelinesCredentialOptions.d.ts +0 -9
  206. package/dist/browser/credentials/azurePipelinesCredentialOptions.d.ts.map +0 -1
  207. package/dist/browser/credentials/azurePipelinesCredentialOptions.js.map +0 -1
  208. package/dist/browser/credentials/azurePowerShellCredential-browser.d.mts.map +0 -1
  209. package/dist/browser/credentials/azurePowerShellCredential-browser.mjs.map +0 -1
  210. package/dist/browser/credentials/azurePowerShellCredential.d.ts +0 -12
  211. package/dist/browser/credentials/azurePowerShellCredentialOptions.d.ts +0 -15
  212. package/dist/browser/credentials/azurePowerShellCredentialOptions.d.ts.map +0 -1
  213. package/dist/browser/credentials/azurePowerShellCredentialOptions.js.map +0 -1
  214. package/dist/browser/credentials/brokerAuthOptions.d.ts +0 -13
  215. package/dist/browser/credentials/brokerAuthOptions.d.ts.map +0 -1
  216. package/dist/browser/credentials/brokerAuthOptions.js.map +0 -1
  217. package/dist/browser/credentials/browserCustomizationOptions.d.ts +0 -19
  218. package/dist/browser/credentials/browserCustomizationOptions.d.ts.map +0 -1
  219. package/dist/browser/credentials/chainedTokenCredential.d.ts +0 -51
  220. package/dist/browser/credentials/chainedTokenCredential.d.ts.map +0 -1
  221. package/dist/browser/credentials/chainedTokenCredential.js +0 -92
  222. package/dist/browser/credentials/chainedTokenCredential.js.map +0 -1
  223. package/dist/browser/credentials/clientAssertionCredential-browser.d.mts.map +0 -1
  224. package/dist/browser/credentials/clientAssertionCredential-browser.mjs.map +0 -1
  225. package/dist/browser/credentials/clientAssertionCredential.d.ts +0 -12
  226. package/dist/browser/credentials/clientAssertionCredentialOptions.d.ts +0 -9
  227. package/dist/browser/credentials/clientAssertionCredentialOptions.d.ts.map +0 -1
  228. package/dist/browser/credentials/clientAssertionCredentialOptions.js.map +0 -1
  229. package/dist/browser/credentials/clientCertificateCredential-browser.d.mts.map +0 -1
  230. package/dist/browser/credentials/clientCertificateCredential-browser.mjs.map +0 -1
  231. package/dist/browser/credentials/clientCertificateCredential.d.ts +0 -13
  232. package/dist/browser/credentials/clientCertificateCredentialModels.d.ts +0 -31
  233. package/dist/browser/credentials/clientCertificateCredentialModels.d.ts.map +0 -1
  234. package/dist/browser/credentials/clientCertificateCredentialModels.js +0 -4
  235. package/dist/browser/credentials/clientCertificateCredentialModels.js.map +0 -1
  236. package/dist/browser/credentials/clientCertificateCredentialOptions.d.ts +0 -14
  237. package/dist/browser/credentials/clientCertificateCredentialOptions.d.ts.map +0 -1
  238. package/dist/browser/credentials/clientCertificateCredentialOptions.js.map +0 -1
  239. package/dist/browser/credentials/clientSecretCredential-browser.d.mts.map +0 -1
  240. package/dist/browser/credentials/clientSecretCredential-browser.mjs.map +0 -1
  241. package/dist/browser/credentials/clientSecretCredential.d.ts +0 -40
  242. package/dist/browser/credentials/clientSecretCredentialOptions.d.ts +0 -9
  243. package/dist/browser/credentials/clientSecretCredentialOptions.d.ts.map +0 -1
  244. package/dist/browser/credentials/clientSecretCredentialOptions.js.map +0 -1
  245. package/dist/browser/credentials/credentialPersistenceOptions.d.ts +0 -30
  246. package/dist/browser/credentials/credentialPersistenceOptions.d.ts.map +0 -1
  247. package/dist/browser/credentials/credentialPersistenceOptions.js.map +0 -1
  248. package/dist/browser/credentials/defaultAzureCredential-browser.d.mts.map +0 -1
  249. package/dist/browser/credentials/defaultAzureCredential-browser.mjs.map +0 -1
  250. package/dist/browser/credentials/defaultAzureCredential.d.ts +0 -19
  251. package/dist/browser/credentials/defaultAzureCredentialOptions.d.ts +0 -49
  252. package/dist/browser/credentials/defaultAzureCredentialOptions.d.ts.map +0 -1
  253. package/dist/browser/credentials/defaultAzureCredentialOptions.js.map +0 -1
  254. package/dist/browser/credentials/deviceCodeCredential-browser.d.mts.map +0 -1
  255. package/dist/browser/credentials/deviceCodeCredential-browser.mjs.map +0 -1
  256. package/dist/browser/credentials/deviceCodeCredential.d.ts +0 -13
  257. package/dist/browser/credentials/deviceCodeCredentialOptions.d.ts +0 -53
  258. package/dist/browser/credentials/deviceCodeCredentialOptions.d.ts.map +0 -1
  259. package/dist/browser/credentials/deviceCodeCredentialOptions.js.map +0 -1
  260. package/dist/browser/credentials/environmentCredential-browser.d.mts.map +0 -1
  261. package/dist/browser/credentials/environmentCredential-browser.mjs.map +0 -1
  262. package/dist/browser/credentials/environmentCredential.d.ts +0 -13
  263. package/dist/browser/credentials/environmentCredentialOptions.d.ts +0 -9
  264. package/dist/browser/credentials/environmentCredentialOptions.d.ts.map +0 -1
  265. package/dist/browser/credentials/environmentCredentialOptions.js.map +0 -1
  266. package/dist/browser/credentials/interactiveBrowserCredential-browser.d.mts.map +0 -1
  267. package/dist/browser/credentials/interactiveBrowserCredential-browser.mjs.map +0 -1
  268. package/dist/browser/credentials/interactiveBrowserCredential.d.ts +0 -53
  269. package/dist/browser/credentials/interactiveBrowserCredentialOptions.d.ts +0 -77
  270. package/dist/browser/credentials/interactiveBrowserCredentialOptions.d.ts.map +0 -1
  271. package/dist/browser/credentials/interactiveBrowserCredentialOptions.js.map +0 -1
  272. package/dist/browser/credentials/interactiveCredentialOptions.d.ts +0 -25
  273. package/dist/browser/credentials/interactiveCredentialOptions.d.ts.map +0 -1
  274. package/dist/browser/credentials/interactiveCredentialOptions.js.map +0 -1
  275. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.d.ts +0 -18
  276. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.d.ts.map +0 -1
  277. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.js +0 -122
  278. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.js.map +0 -1
  279. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts +0 -12
  280. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts.map +0 -1
  281. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +0 -1
  282. package/dist/browser/credentials/managedIdentityCredential/index-browser.d.mts.map +0 -1
  283. package/dist/browser/credentials/managedIdentityCredential/index-browser.mjs.map +0 -1
  284. package/dist/browser/credentials/managedIdentityCredential/index.d.ts +0 -6
  285. package/dist/browser/credentials/managedIdentityCredential/models.d.ts +0 -24
  286. package/dist/browser/credentials/managedIdentityCredential/models.d.ts.map +0 -1
  287. package/dist/browser/credentials/managedIdentityCredential/models.js.map +0 -1
  288. package/dist/browser/credentials/managedIdentityCredential/options.d.ts +0 -37
  289. package/dist/browser/credentials/managedIdentityCredential/options.d.ts.map +0 -1
  290. package/dist/browser/credentials/managedIdentityCredential/options.js +0 -4
  291. package/dist/browser/credentials/managedIdentityCredential/options.js.map +0 -1
  292. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts +0 -14
  293. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts.map +0 -1
  294. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +0 -1
  295. package/dist/browser/credentials/managedIdentityCredential/utils.d.ts +0 -33
  296. package/dist/browser/credentials/managedIdentityCredential/utils.d.ts.map +0 -1
  297. package/dist/browser/credentials/managedIdentityCredential/utils.js.map +0 -1
  298. package/dist/browser/credentials/multiTenantTokenCredentialOptions.d.ts +0 -12
  299. package/dist/browser/credentials/multiTenantTokenCredentialOptions.d.ts.map +0 -1
  300. package/dist/browser/credentials/multiTenantTokenCredentialOptions.js.map +0 -1
  301. package/dist/browser/credentials/onBehalfOfCredential-browser.d.mts.map +0 -1
  302. package/dist/browser/credentials/onBehalfOfCredential-browser.mjs.map +0 -1
  303. package/dist/browser/credentials/onBehalfOfCredential.d.ts +0 -12
  304. package/dist/browser/credentials/onBehalfOfCredentialOptions.d.ts +0 -76
  305. package/dist/browser/credentials/onBehalfOfCredentialOptions.d.ts.map +0 -1
  306. package/dist/browser/credentials/onBehalfOfCredentialOptions.js.map +0 -1
  307. package/dist/browser/credentials/usernamePasswordCredential-browser.d.mts.map +0 -1
  308. package/dist/browser/credentials/usernamePasswordCredential-browser.mjs.map +0 -1
  309. package/dist/browser/credentials/usernamePasswordCredential.d.ts +0 -40
  310. package/dist/browser/credentials/usernamePasswordCredentialOptions.d.ts +0 -9
  311. package/dist/browser/credentials/usernamePasswordCredentialOptions.d.ts.map +0 -1
  312. package/dist/browser/credentials/usernamePasswordCredentialOptions.js.map +0 -1
  313. package/dist/browser/credentials/visualStudioCodeCredential-browser.d.mts.map +0 -1
  314. package/dist/browser/credentials/visualStudioCodeCredential-browser.mjs.map +0 -1
  315. package/dist/browser/credentials/visualStudioCodeCredential.d.ts +0 -15
  316. package/dist/browser/credentials/visualStudioCodeCredentialOptions.d.ts +0 -11
  317. package/dist/browser/credentials/visualStudioCodeCredentialOptions.d.ts.map +0 -1
  318. package/dist/browser/credentials/visualStudioCodeCredentialOptions.js.map +0 -1
  319. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -11
  320. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  321. package/dist/browser/credentials/workloadIdentityCredential-browser.d.mts.map +0 -1
  322. package/dist/browser/credentials/workloadIdentityCredential-browser.mjs.map +0 -1
  323. package/dist/browser/credentials/workloadIdentityCredential.d.ts +0 -17
  324. package/dist/browser/credentials/workloadIdentityCredentialOptions.d.ts +0 -20
  325. package/dist/browser/credentials/workloadIdentityCredentialOptions.d.ts.map +0 -1
  326. package/dist/browser/credentials/workloadIdentityCredentialOptions.js.map +0 -1
  327. package/dist/browser/errors.d.ts +0 -139
  328. package/dist/browser/errors.d.ts.map +0 -1
  329. package/dist/browser/errors.js.map +0 -1
  330. package/dist/browser/index.d.ts +0 -61
  331. package/dist/browser/index.d.ts.map +0 -1
  332. package/dist/browser/index.js.map +0 -1
  333. package/dist/browser/msal/browserFlows/flows.d.ts +0 -42
  334. package/dist/browser/msal/browserFlows/flows.d.ts.map +0 -1
  335. package/dist/browser/msal/browserFlows/flows.js.map +0 -1
  336. package/dist/browser/msal/browserFlows/msalAuthCode.d.ts +0 -48
  337. package/dist/browser/msal/browserFlows/msalAuthCode.d.ts.map +0 -1
  338. package/dist/browser/msal/browserFlows/msalAuthCode.js +0 -203
  339. package/dist/browser/msal/browserFlows/msalAuthCode.js.map +0 -1
  340. package/dist/browser/msal/browserFlows/msalBrowserCommon.d.ts +0 -106
  341. package/dist/browser/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  342. package/dist/browser/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  343. package/dist/browser/msal/credentials.d.ts +0 -52
  344. package/dist/browser/msal/credentials.d.ts.map +0 -1
  345. package/dist/browser/msal/credentials.js.map +0 -1
  346. package/dist/browser/msal/msal-browser.d.mts.map +0 -1
  347. package/dist/browser/msal/msal-browser.mjs.map +0 -1
  348. package/dist/browser/msal/msal.d.ts +0 -3
  349. package/dist/browser/msal/nodeFlows/brokerOptions.d.ts +0 -44
  350. package/dist/browser/msal/nodeFlows/brokerOptions.d.ts.map +0 -1
  351. package/dist/browser/msal/nodeFlows/msalClient.d.ts +0 -186
  352. package/dist/browser/msal/nodeFlows/msalClient.d.ts.map +0 -1
  353. package/dist/browser/msal/nodeFlows/msalClient.js.map +0 -1
  354. package/dist/browser/msal/nodeFlows/msalPlugins.d.ts +0 -91
  355. package/dist/browser/msal/nodeFlows/msalPlugins.d.ts.map +0 -1
  356. package/dist/browser/msal/nodeFlows/msalPlugins.js.map +0 -1
  357. package/dist/browser/msal/nodeFlows/tokenCachePersistenceOptions.d.ts +0 -24
  358. package/dist/browser/msal/nodeFlows/tokenCachePersistenceOptions.d.ts.map +0 -1
  359. package/dist/browser/msal/types.d.ts +0 -87
  360. package/dist/browser/msal/types.d.ts.map +0 -1
  361. package/dist/browser/msal/utils.d.ts +0 -95
  362. package/dist/browser/msal/utils.d.ts.map +0 -1
  363. package/dist/browser/msal/utils.js.map +0 -1
  364. package/dist/browser/package.json +0 -3
  365. package/dist/browser/plugins/consumer-browser.d.mts.map +0 -1
  366. package/dist/browser/plugins/consumer-browser.mjs.map +0 -1
  367. package/dist/browser/plugins/consumer.d.ts +0 -2
  368. package/dist/browser/plugins/provider.d.ts +0 -36
  369. package/dist/browser/plugins/provider.d.ts.map +0 -1
  370. package/dist/browser/plugins/provider.js.map +0 -1
  371. package/dist/browser/regionalAuthority.d.ts +0 -122
  372. package/dist/browser/regionalAuthority.d.ts.map +0 -1
  373. package/dist/browser/tokenCredentialOptions.d.ts +0 -28
  374. package/dist/browser/tokenCredentialOptions.d.ts.map +0 -1
  375. package/dist/browser/tokenCredentialOptions.js.map +0 -1
  376. package/dist/browser/tokenProvider.d.ts +0 -39
  377. package/dist/browser/tokenProvider.d.ts.map +0 -1
  378. package/dist/browser/tokenProvider.js.map +0 -1
  379. package/dist/browser/util/authHostEnv-browser.d.mts +0 -4
  380. package/dist/browser/util/authHostEnv-browser.d.mts.map +0 -1
  381. package/dist/browser/util/authHostEnv-browser.mjs +0 -7
  382. package/dist/browser/util/authHostEnv-browser.mjs.map +0 -1
  383. package/dist/browser/util/identityTokenEndpoint.d.ts +0 -2
  384. package/dist/browser/util/identityTokenEndpoint.d.ts.map +0 -1
  385. package/dist/browser/util/logging.d.ts +0 -70
  386. package/dist/browser/util/logging.d.ts.map +0 -1
  387. package/dist/browser/util/logging.js.map +0 -1
  388. package/dist/browser/util/processMultiTenantRequest-browser.d.mts.map +0 -1
  389. package/dist/browser/util/processMultiTenantRequest-browser.mjs.map +0 -1
  390. package/dist/browser/util/processMultiTenantRequest.d.ts +0 -9
  391. package/dist/browser/util/processUtils.d.ts +0 -13
  392. package/dist/browser/util/processUtils.d.ts.map +0 -1
  393. package/dist/browser/util/scopeUtils.d.ts +0 -17
  394. package/dist/browser/util/scopeUtils.d.ts.map +0 -1
  395. package/dist/browser/util/scopeUtils.js.map +0 -1
  396. package/dist/browser/util/subscriptionUtils.d.ts +0 -6
  397. package/dist/browser/util/subscriptionUtils.d.ts.map +0 -1
  398. package/dist/browser/util/subscriptionUtils.js +0 -14
  399. package/dist/browser/util/subscriptionUtils.js.map +0 -1
  400. package/dist/browser/util/tenantIdUtils.d.ts +0 -15
  401. package/dist/browser/util/tenantIdUtils.d.ts.map +0 -1
  402. package/dist/browser/util/tenantIdUtils.js +0 -44
  403. package/dist/browser/util/tenantIdUtils.js.map +0 -1
  404. package/dist/browser/util/tracing.d.ts +0 -6
  405. package/dist/browser/util/tracing.d.ts.map +0 -1
  406. package/dist/browser/util/tracing.js.map +0 -1
  407. package/dist/commonjs/client/identityClient.d.ts +0 -65
  408. package/dist/commonjs/client/identityClient.d.ts.map +0 -1
  409. package/dist/commonjs/client/identityClient.js +0 -253
  410. package/dist/commonjs/client/identityClient.js.map +0 -1
  411. package/dist/commonjs/constants.d.ts +0 -69
  412. package/dist/commonjs/constants.d.ts.map +0 -1
  413. package/dist/commonjs/constants.js +0 -78
  414. package/dist/commonjs/constants.js.map +0 -1
  415. package/dist/commonjs/credentials/authorityValidationOptions.d.ts +0 -16
  416. package/dist/commonjs/credentials/authorityValidationOptions.d.ts.map +0 -1
  417. package/dist/commonjs/credentials/authorityValidationOptions.js +0 -5
  418. package/dist/commonjs/credentials/authorityValidationOptions.js.map +0 -1
  419. package/dist/commonjs/credentials/authorizationCodeCredential.d.ts +0 -73
  420. package/dist/commonjs/credentials/authorizationCodeCredential.d.ts.map +0 -1
  421. package/dist/commonjs/credentials/authorizationCodeCredential.js +0 -64
  422. package/dist/commonjs/credentials/authorizationCodeCredential.js.map +0 -1
  423. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.d.ts +0 -8
  424. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.d.ts.map +0 -1
  425. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js +0 -5
  426. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js.map +0 -1
  427. package/dist/commonjs/credentials/azureApplicationCredential.d.ts +0 -24
  428. package/dist/commonjs/credentials/azureApplicationCredential.d.ts.map +0 -1
  429. package/dist/commonjs/credentials/azureApplicationCredential.js +0 -36
  430. package/dist/commonjs/credentials/azureApplicationCredential.js.map +0 -1
  431. package/dist/commonjs/credentials/azureApplicationCredentialOptions.d.ts +0 -13
  432. package/dist/commonjs/credentials/azureApplicationCredentialOptions.d.ts.map +0 -1
  433. package/dist/commonjs/credentials/azureApplicationCredentialOptions.js +0 -5
  434. package/dist/commonjs/credentials/azureApplicationCredentialOptions.js.map +0 -1
  435. package/dist/commonjs/credentials/azureCliCredential.d.ts +0 -64
  436. package/dist/commonjs/credentials/azureCliCredential.d.ts.map +0 -1
  437. package/dist/commonjs/credentials/azureCliCredential.js +0 -194
  438. package/dist/commonjs/credentials/azureCliCredential.js.map +0 -1
  439. package/dist/commonjs/credentials/azureCliCredentialOptions.d.ts +0 -20
  440. package/dist/commonjs/credentials/azureCliCredentialOptions.d.ts.map +0 -1
  441. package/dist/commonjs/credentials/azureCliCredentialOptions.js +0 -5
  442. package/dist/commonjs/credentials/azureCliCredentialOptions.js.map +0 -1
  443. package/dist/commonjs/credentials/azureDeveloperCliCredential.d.ts +0 -71
  444. package/dist/commonjs/credentials/azureDeveloperCliCredential.d.ts.map +0 -1
  445. package/dist/commonjs/credentials/azureDeveloperCliCredential.js +0 -176
  446. package/dist/commonjs/credentials/azureDeveloperCliCredential.js.map +0 -1
  447. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.d.ts +0 -15
  448. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.d.ts.map +0 -1
  449. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js +0 -5
  450. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js.map +0 -1
  451. package/dist/commonjs/credentials/azurePipelinesCredential.d.ts +0 -38
  452. package/dist/commonjs/credentials/azurePipelinesCredential.d.ts.map +0 -1
  453. package/dist/commonjs/credentials/azurePipelinesCredential.js +0 -146
  454. package/dist/commonjs/credentials/azurePipelinesCredential.js.map +0 -1
  455. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.d.ts +0 -9
  456. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.d.ts.map +0 -1
  457. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js +0 -5
  458. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js.map +0 -1
  459. package/dist/commonjs/credentials/azurePowerShellCredential.d.ts +0 -75
  460. package/dist/commonjs/credentials/azurePowerShellCredential.d.ts.map +0 -1
  461. package/dist/commonjs/credentials/azurePowerShellCredential.js +0 -235
  462. package/dist/commonjs/credentials/azurePowerShellCredential.js.map +0 -1
  463. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.d.ts +0 -15
  464. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.d.ts.map +0 -1
  465. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js +0 -5
  466. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js.map +0 -1
  467. package/dist/commonjs/credentials/brokerAuthOptions.d.ts +0 -13
  468. package/dist/commonjs/credentials/brokerAuthOptions.d.ts.map +0 -1
  469. package/dist/commonjs/credentials/brokerAuthOptions.js +0 -3
  470. package/dist/commonjs/credentials/brokerAuthOptions.js.map +0 -1
  471. package/dist/commonjs/credentials/browserCustomizationOptions.d.ts +0 -19
  472. package/dist/commonjs/credentials/browserCustomizationOptions.d.ts.map +0 -1
  473. package/dist/commonjs/credentials/browserCustomizationOptions.js +0 -5
  474. package/dist/commonjs/credentials/browserCustomizationOptions.js.map +0 -1
  475. package/dist/commonjs/credentials/chainedTokenCredential.d.ts +0 -51
  476. package/dist/commonjs/credentials/chainedTokenCredential.d.ts.map +0 -1
  477. package/dist/commonjs/credentials/chainedTokenCredential.js +0 -96
  478. package/dist/commonjs/credentials/chainedTokenCredential.js.map +0 -1
  479. package/dist/commonjs/credentials/clientAssertionCredential.d.ts +0 -33
  480. package/dist/commonjs/credentials/clientAssertionCredential.d.ts.map +0 -1
  481. package/dist/commonjs/credentials/clientAssertionCredential.js +0 -59
  482. package/dist/commonjs/credentials/clientAssertionCredential.js.map +0 -1
  483. package/dist/commonjs/credentials/clientAssertionCredentialOptions.d.ts +0 -9
  484. package/dist/commonjs/credentials/clientAssertionCredentialOptions.d.ts.map +0 -1
  485. package/dist/commonjs/credentials/clientAssertionCredentialOptions.js +0 -5
  486. package/dist/commonjs/credentials/clientAssertionCredentialOptions.js.map +0 -1
  487. package/dist/commonjs/credentials/clientCertificateCredential.d.ts +0 -72
  488. package/dist/commonjs/credentials/clientCertificateCredential.d.ts.map +0 -1
  489. package/dist/commonjs/credentials/clientCertificateCredential.js +0 -127
  490. package/dist/commonjs/credentials/clientCertificateCredential.js.map +0 -1
  491. package/dist/commonjs/credentials/clientCertificateCredentialModels.d.ts +0 -31
  492. package/dist/commonjs/credentials/clientCertificateCredentialModels.d.ts.map +0 -1
  493. package/dist/commonjs/credentials/clientCertificateCredentialModels.js +0 -5
  494. package/dist/commonjs/credentials/clientCertificateCredentialModels.js.map +0 -1
  495. package/dist/commonjs/credentials/clientCertificateCredentialOptions.d.ts +0 -14
  496. package/dist/commonjs/credentials/clientCertificateCredentialOptions.d.ts.map +0 -1
  497. package/dist/commonjs/credentials/clientCertificateCredentialOptions.js +0 -5
  498. package/dist/commonjs/credentials/clientCertificateCredentialOptions.js.map +0 -1
  499. package/dist/commonjs/credentials/clientSecretCredential.d.ts +0 -37
  500. package/dist/commonjs/credentials/clientSecretCredential.d.ts.map +0 -1
  501. package/dist/commonjs/credentials/clientSecretCredential.js +0 -64
  502. package/dist/commonjs/credentials/clientSecretCredential.js.map +0 -1
  503. package/dist/commonjs/credentials/clientSecretCredentialOptions.d.ts +0 -9
  504. package/dist/commonjs/credentials/clientSecretCredentialOptions.d.ts.map +0 -1
  505. package/dist/commonjs/credentials/clientSecretCredentialOptions.js +0 -5
  506. package/dist/commonjs/credentials/clientSecretCredentialOptions.js.map +0 -1
  507. package/dist/commonjs/credentials/credentialPersistenceOptions.d.ts +0 -30
  508. package/dist/commonjs/credentials/credentialPersistenceOptions.d.ts.map +0 -1
  509. package/dist/commonjs/credentials/credentialPersistenceOptions.js +0 -5
  510. package/dist/commonjs/credentials/credentialPersistenceOptions.js.map +0 -1
  511. package/dist/commonjs/credentials/defaultAzureCredential.d.ts +0 -65
  512. package/dist/commonjs/credentials/defaultAzureCredential.d.ts.map +0 -1
  513. package/dist/commonjs/credentials/defaultAzureCredential.js +0 -171
  514. package/dist/commonjs/credentials/defaultAzureCredential.js.map +0 -1
  515. package/dist/commonjs/credentials/defaultAzureCredentialOptions.d.ts +0 -49
  516. package/dist/commonjs/credentials/defaultAzureCredentialOptions.d.ts.map +0 -1
  517. package/dist/commonjs/credentials/defaultAzureCredentialOptions.js +0 -5
  518. package/dist/commonjs/credentials/defaultAzureCredentialOptions.js.map +0 -1
  519. package/dist/commonjs/credentials/deviceCodeCredential.d.ts +0 -67
  520. package/dist/commonjs/credentials/deviceCodeCredential.d.ts.map +0 -1
  521. package/dist/commonjs/credentials/deviceCodeCredential.js +0 -96
  522. package/dist/commonjs/credentials/deviceCodeCredential.js.map +0 -1
  523. package/dist/commonjs/credentials/deviceCodeCredentialOptions.d.ts +0 -53
  524. package/dist/commonjs/credentials/deviceCodeCredentialOptions.d.ts.map +0 -1
  525. package/dist/commonjs/credentials/deviceCodeCredentialOptions.js +0 -5
  526. package/dist/commonjs/credentials/deviceCodeCredentialOptions.js.map +0 -1
  527. package/dist/commonjs/credentials/environmentCredential.d.ts +0 -52
  528. package/dist/commonjs/credentials/environmentCredential.d.ts.map +0 -1
  529. package/dist/commonjs/credentials/environmentCredential.js +0 -135
  530. package/dist/commonjs/credentials/environmentCredential.js.map +0 -1
  531. package/dist/commonjs/credentials/environmentCredentialOptions.d.ts +0 -9
  532. package/dist/commonjs/credentials/environmentCredentialOptions.d.ts.map +0 -1
  533. package/dist/commonjs/credentials/environmentCredentialOptions.js +0 -5
  534. package/dist/commonjs/credentials/environmentCredentialOptions.js.map +0 -1
  535. package/dist/commonjs/credentials/interactiveBrowserCredential.d.ts +0 -56
  536. package/dist/commonjs/credentials/interactiveBrowserCredential.d.ts.map +0 -1
  537. package/dist/commonjs/credentials/interactiveBrowserCredential.js +0 -95
  538. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.d.ts +0 -77
  539. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.d.ts.map +0 -1
  540. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js +0 -5
  541. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js.map +0 -1
  542. package/dist/commonjs/credentials/interactiveCredentialOptions.d.ts +0 -25
  543. package/dist/commonjs/credentials/interactiveCredentialOptions.d.ts.map +0 -1
  544. package/dist/commonjs/credentials/interactiveCredentialOptions.js +0 -5
  545. package/dist/commonjs/credentials/interactiveCredentialOptions.js.map +0 -1
  546. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.d.ts +0 -18
  547. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.d.ts.map +0 -1
  548. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js +0 -125
  549. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js.map +0 -1
  550. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts +0 -12
  551. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts.map +0 -1
  552. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js +0 -36
  553. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +0 -1
  554. package/dist/commonjs/credentials/managedIdentityCredential/index.d.ts +0 -61
  555. package/dist/commonjs/credentials/managedIdentityCredential/index.d.ts.map +0 -1
  556. package/dist/commonjs/credentials/managedIdentityCredential/index.js +0 -221
  557. package/dist/commonjs/credentials/managedIdentityCredential/index.js.map +0 -1
  558. package/dist/commonjs/credentials/managedIdentityCredential/models.d.ts +0 -24
  559. package/dist/commonjs/credentials/managedIdentityCredential/models.d.ts.map +0 -1
  560. package/dist/commonjs/credentials/managedIdentityCredential/models.js +0 -5
  561. package/dist/commonjs/credentials/managedIdentityCredential/models.js.map +0 -1
  562. package/dist/commonjs/credentials/managedIdentityCredential/options.d.ts +0 -37
  563. package/dist/commonjs/credentials/managedIdentityCredential/options.d.ts.map +0 -1
  564. package/dist/commonjs/credentials/managedIdentityCredential/options.js +0 -5
  565. package/dist/commonjs/credentials/managedIdentityCredential/options.js.map +0 -1
  566. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts +0 -14
  567. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts.map +0 -1
  568. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js +0 -35
  569. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +0 -1
  570. package/dist/commonjs/credentials/managedIdentityCredential/utils.d.ts +0 -33
  571. package/dist/commonjs/credentials/managedIdentityCredential/utils.d.ts.map +0 -1
  572. package/dist/commonjs/credentials/managedIdentityCredential/utils.js +0 -82
  573. package/dist/commonjs/credentials/managedIdentityCredential/utils.js.map +0 -1
  574. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.d.ts +0 -12
  575. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.d.ts.map +0 -1
  576. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js +0 -5
  577. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js.map +0 -1
  578. package/dist/commonjs/credentials/onBehalfOfCredential.d.ts +0 -105
  579. package/dist/commonjs/credentials/onBehalfOfCredential.d.ts.map +0 -1
  580. package/dist/commonjs/credentials/onBehalfOfCredential.js +0 -116
  581. package/dist/commonjs/credentials/onBehalfOfCredential.js.map +0 -1
  582. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.d.ts +0 -76
  583. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.d.ts.map +0 -1
  584. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js +0 -5
  585. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js.map +0 -1
  586. package/dist/commonjs/credentials/usernamePasswordCredential.d.ts +0 -41
  587. package/dist/commonjs/credentials/usernamePasswordCredential.d.ts.map +0 -1
  588. package/dist/commonjs/credentials/usernamePasswordCredential.js +0 -71
  589. package/dist/commonjs/credentials/usernamePasswordCredential.js.map +0 -1
  590. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.d.ts +0 -9
  591. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.d.ts.map +0 -1
  592. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js +0 -5
  593. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js.map +0 -1
  594. package/dist/commonjs/credentials/visualStudioCodeCredential.d.ts +0 -60
  595. package/dist/commonjs/credentials/visualStudioCodeCredential.d.ts.map +0 -1
  596. package/dist/commonjs/credentials/visualStudioCodeCredential.js +0 -196
  597. package/dist/commonjs/credentials/visualStudioCodeCredential.js.map +0 -1
  598. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.d.ts +0 -11
  599. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.d.ts.map +0 -1
  600. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js +0 -5
  601. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js.map +0 -1
  602. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -11
  603. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  604. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js +0 -5
  605. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  606. package/dist/commonjs/credentials/workloadIdentityCredential.d.ts +0 -47
  607. package/dist/commonjs/credentials/workloadIdentityCredential.d.ts.map +0 -1
  608. package/dist/commonjs/credentials/workloadIdentityCredential.js +0 -118
  609. package/dist/commonjs/credentials/workloadIdentityCredential.js.map +0 -1
  610. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.d.ts +0 -20
  611. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.d.ts.map +0 -1
  612. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js +0 -5
  613. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js.map +0 -1
  614. package/dist/commonjs/errors.d.ts +0 -139
  615. package/dist/commonjs/errors.d.ts.map +0 -1
  616. package/dist/commonjs/errors.js +0 -130
  617. package/dist/commonjs/errors.js.map +0 -1
  618. package/dist/commonjs/index.d.ts +0 -61
  619. package/dist/commonjs/index.d.ts.map +0 -1
  620. package/dist/commonjs/index.js +0 -69
  621. package/dist/commonjs/index.js.map +0 -1
  622. package/dist/commonjs/msal/browserFlows/flows.d.ts +0 -42
  623. package/dist/commonjs/msal/browserFlows/flows.d.ts.map +0 -1
  624. package/dist/commonjs/msal/browserFlows/flows.js +0 -5
  625. package/dist/commonjs/msal/browserFlows/flows.js.map +0 -1
  626. package/dist/commonjs/msal/browserFlows/msalAuthCode.d.ts +0 -48
  627. package/dist/commonjs/msal/browserFlows/msalAuthCode.d.ts.map +0 -1
  628. package/dist/commonjs/msal/browserFlows/msalAuthCode.js +0 -208
  629. package/dist/commonjs/msal/browserFlows/msalAuthCode.js.map +0 -1
  630. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts +0 -106
  631. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  632. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js +0 -121
  633. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  634. package/dist/commonjs/msal/credentials.d.ts +0 -52
  635. package/dist/commonjs/msal/credentials.d.ts.map +0 -1
  636. package/dist/commonjs/msal/credentials.js +0 -5
  637. package/dist/commonjs/msal/credentials.js.map +0 -1
  638. package/dist/commonjs/msal/msal.d.ts +0 -3
  639. package/dist/commonjs/msal/msal.d.ts.map +0 -1
  640. package/dist/commonjs/msal/msal.js +0 -9
  641. package/dist/commonjs/msal/msal.js.map +0 -1
  642. package/dist/commonjs/msal/nodeFlows/brokerOptions.d.ts +0 -44
  643. package/dist/commonjs/msal/nodeFlows/brokerOptions.d.ts.map +0 -1
  644. package/dist/commonjs/msal/nodeFlows/brokerOptions.js +0 -3
  645. package/dist/commonjs/msal/nodeFlows/brokerOptions.js.map +0 -1
  646. package/dist/commonjs/msal/nodeFlows/msalClient.d.ts +0 -186
  647. package/dist/commonjs/msal/nodeFlows/msalClient.d.ts.map +0 -1
  648. package/dist/commonjs/msal/nodeFlows/msalClient.js +0 -482
  649. package/dist/commonjs/msal/nodeFlows/msalClient.js.map +0 -1
  650. package/dist/commonjs/msal/nodeFlows/msalPlugins.d.ts +0 -91
  651. package/dist/commonjs/msal/nodeFlows/msalPlugins.d.ts.map +0 -1
  652. package/dist/commonjs/msal/nodeFlows/msalPlugins.js +0 -91
  653. package/dist/commonjs/msal/nodeFlows/msalPlugins.js.map +0 -1
  654. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.d.ts +0 -24
  655. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.d.ts.map +0 -1
  656. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js +0 -5
  657. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js.map +0 -1
  658. package/dist/commonjs/msal/types.d.ts +0 -87
  659. package/dist/commonjs/msal/types.d.ts.map +0 -1
  660. package/dist/commonjs/msal/types.js +0 -5
  661. package/dist/commonjs/msal/types.js.map +0 -1
  662. package/dist/commonjs/msal/utils.d.ts +0 -95
  663. package/dist/commonjs/msal/utils.d.ts.map +0 -1
  664. package/dist/commonjs/msal/utils.js +0 -253
  665. package/dist/commonjs/msal/utils.js.map +0 -1
  666. package/dist/commonjs/package.json +0 -3
  667. package/dist/commonjs/plugins/consumer.d.ts +0 -28
  668. package/dist/commonjs/plugins/consumer.d.ts.map +0 -1
  669. package/dist/commonjs/plugins/consumer.js +0 -46
  670. package/dist/commonjs/plugins/consumer.js.map +0 -1
  671. package/dist/commonjs/plugins/provider.d.ts +0 -36
  672. package/dist/commonjs/plugins/provider.d.ts.map +0 -1
  673. package/dist/commonjs/plugins/provider.js +0 -5
  674. package/dist/commonjs/plugins/provider.js.map +0 -1
  675. package/dist/commonjs/regionalAuthority.d.ts +0 -122
  676. package/dist/commonjs/regionalAuthority.d.ts.map +0 -1
  677. package/dist/commonjs/regionalAuthority.js +0 -144
  678. package/dist/commonjs/regionalAuthority.js.map +0 -1
  679. package/dist/commonjs/tokenCredentialOptions.d.ts +0 -28
  680. package/dist/commonjs/tokenCredentialOptions.d.ts.map +0 -1
  681. package/dist/commonjs/tokenCredentialOptions.js +0 -5
  682. package/dist/commonjs/tokenCredentialOptions.js.map +0 -1
  683. package/dist/commonjs/tokenProvider.d.ts +0 -39
  684. package/dist/commonjs/tokenProvider.d.ts.map +0 -1
  685. package/dist/commonjs/tokenProvider.js +0 -56
  686. package/dist/commonjs/tokenProvider.js.map +0 -1
  687. package/dist/commonjs/tsdoc-metadata.json +0 -11
  688. package/dist/commonjs/util/identityTokenEndpoint.d.ts +0 -2
  689. package/dist/commonjs/util/identityTokenEndpoint.d.ts.map +0 -1
  690. package/dist/commonjs/util/identityTokenEndpoint.js +0 -14
  691. package/dist/commonjs/util/identityTokenEndpoint.js.map +0 -1
  692. package/dist/commonjs/util/logging.d.ts +0 -70
  693. package/dist/commonjs/util/logging.d.ts.map +0 -1
  694. package/dist/commonjs/util/logging.js +0 -103
  695. package/dist/commonjs/util/logging.js.map +0 -1
  696. package/dist/commonjs/util/processMultiTenantRequest.d.ts +0 -10
  697. package/dist/commonjs/util/processMultiTenantRequest.d.ts.map +0 -1
  698. package/dist/commonjs/util/processMultiTenantRequest.js +0 -38
  699. package/dist/commonjs/util/processUtils.d.ts +0 -13
  700. package/dist/commonjs/util/processUtils.d.ts.map +0 -1
  701. package/dist/commonjs/util/processUtils.js +0 -36
  702. package/dist/commonjs/util/processUtils.js.map +0 -1
  703. package/dist/commonjs/util/scopeUtils.d.ts +0 -17
  704. package/dist/commonjs/util/scopeUtils.d.ts.map +0 -1
  705. package/dist/commonjs/util/scopeUtils.js +0 -34
  706. package/dist/commonjs/util/scopeUtils.js.map +0 -1
  707. package/dist/commonjs/util/subscriptionUtils.d.ts +0 -6
  708. package/dist/commonjs/util/subscriptionUtils.d.ts.map +0 -1
  709. package/dist/commonjs/util/subscriptionUtils.js +0 -17
  710. package/dist/commonjs/util/subscriptionUtils.js.map +0 -1
  711. package/dist/commonjs/util/tenantIdUtils.d.ts +0 -15
  712. package/dist/commonjs/util/tenantIdUtils.d.ts.map +0 -1
  713. package/dist/commonjs/util/tenantIdUtils.js +0 -51
  714. package/dist/commonjs/util/tenantIdUtils.js.map +0 -1
  715. package/dist/commonjs/util/tracing.d.ts +0 -6
  716. package/dist/commonjs/util/tracing.d.ts.map +0 -1
  717. package/dist/commonjs/util/tracing.js +0 -17
  718. package/dist/commonjs/util/tracing.js.map +0 -1
  719. package/dist/esm/client/identityClient.d.ts +0 -65
  720. package/dist/esm/client/identityClient.d.ts.map +0 -1
  721. package/dist/esm/client/identityClient.js.map +0 -1
  722. package/dist/esm/constants.d.ts +0 -69
  723. package/dist/esm/constants.d.ts.map +0 -1
  724. package/dist/esm/constants.js.map +0 -1
  725. package/dist/esm/credentials/authorityValidationOptions.d.ts +0 -16
  726. package/dist/esm/credentials/authorityValidationOptions.d.ts.map +0 -1
  727. package/dist/esm/credentials/authorityValidationOptions.js +0 -4
  728. package/dist/esm/credentials/authorityValidationOptions.js.map +0 -1
  729. package/dist/esm/credentials/authorizationCodeCredential.d.ts +0 -73
  730. package/dist/esm/credentials/authorizationCodeCredential.d.ts.map +0 -1
  731. package/dist/esm/credentials/authorizationCodeCredential.js.map +0 -1
  732. package/dist/esm/credentials/authorizationCodeCredentialOptions.d.ts +0 -8
  733. package/dist/esm/credentials/authorizationCodeCredentialOptions.d.ts.map +0 -1
  734. package/dist/esm/credentials/authorizationCodeCredentialOptions.js +0 -4
  735. package/dist/esm/credentials/authorizationCodeCredentialOptions.js.map +0 -1
  736. package/dist/esm/credentials/azureApplicationCredential.d.ts +0 -24
  737. package/dist/esm/credentials/azureApplicationCredential.d.ts.map +0 -1
  738. package/dist/esm/credentials/azureApplicationCredential.js.map +0 -1
  739. package/dist/esm/credentials/azureApplicationCredentialOptions.d.ts +0 -13
  740. package/dist/esm/credentials/azureApplicationCredentialOptions.d.ts.map +0 -1
  741. package/dist/esm/credentials/azureApplicationCredentialOptions.js +0 -4
  742. package/dist/esm/credentials/azureApplicationCredentialOptions.js.map +0 -1
  743. package/dist/esm/credentials/azureCliCredential.d.ts +0 -64
  744. package/dist/esm/credentials/azureCliCredential.d.ts.map +0 -1
  745. package/dist/esm/credentials/azureCliCredential.js.map +0 -1
  746. package/dist/esm/credentials/azureCliCredentialOptions.d.ts +0 -20
  747. package/dist/esm/credentials/azureCliCredentialOptions.d.ts.map +0 -1
  748. package/dist/esm/credentials/azureCliCredentialOptions.js +0 -4
  749. package/dist/esm/credentials/azureCliCredentialOptions.js.map +0 -1
  750. package/dist/esm/credentials/azureDeveloperCliCredential.d.ts +0 -71
  751. package/dist/esm/credentials/azureDeveloperCliCredential.d.ts.map +0 -1
  752. package/dist/esm/credentials/azureDeveloperCliCredential.js.map +0 -1
  753. package/dist/esm/credentials/azureDeveloperCliCredentialOptions.d.ts +0 -15
  754. package/dist/esm/credentials/azureDeveloperCliCredentialOptions.d.ts.map +0 -1
  755. package/dist/esm/credentials/azureDeveloperCliCredentialOptions.js +0 -4
  756. package/dist/esm/credentials/azureDeveloperCliCredentialOptions.js.map +0 -1
  757. package/dist/esm/credentials/azurePipelinesCredential.d.ts +0 -38
  758. package/dist/esm/credentials/azurePipelinesCredential.d.ts.map +0 -1
  759. package/dist/esm/credentials/azurePipelinesCredential.js.map +0 -1
  760. package/dist/esm/credentials/azurePipelinesCredentialOptions.d.ts +0 -9
  761. package/dist/esm/credentials/azurePipelinesCredentialOptions.d.ts.map +0 -1
  762. package/dist/esm/credentials/azurePipelinesCredentialOptions.js +0 -4
  763. package/dist/esm/credentials/azurePipelinesCredentialOptions.js.map +0 -1
  764. package/dist/esm/credentials/azurePowerShellCredential.d.ts +0 -75
  765. package/dist/esm/credentials/azurePowerShellCredential.d.ts.map +0 -1
  766. package/dist/esm/credentials/azurePowerShellCredential.js.map +0 -1
  767. package/dist/esm/credentials/azurePowerShellCredentialOptions.d.ts +0 -15
  768. package/dist/esm/credentials/azurePowerShellCredentialOptions.d.ts.map +0 -1
  769. package/dist/esm/credentials/azurePowerShellCredentialOptions.js +0 -4
  770. package/dist/esm/credentials/azurePowerShellCredentialOptions.js.map +0 -1
  771. package/dist/esm/credentials/brokerAuthOptions.d.ts +0 -13
  772. package/dist/esm/credentials/brokerAuthOptions.d.ts.map +0 -1
  773. package/dist/esm/credentials/brokerAuthOptions.js +0 -2
  774. package/dist/esm/credentials/brokerAuthOptions.js.map +0 -1
  775. package/dist/esm/credentials/browserCustomizationOptions.d.ts +0 -19
  776. package/dist/esm/credentials/browserCustomizationOptions.d.ts.map +0 -1
  777. package/dist/esm/credentials/browserCustomizationOptions.js +0 -4
  778. package/dist/esm/credentials/browserCustomizationOptions.js.map +0 -1
  779. package/dist/esm/credentials/chainedTokenCredential.d.ts +0 -51
  780. package/dist/esm/credentials/chainedTokenCredential.d.ts.map +0 -1
  781. package/dist/esm/credentials/chainedTokenCredential.js.map +0 -1
  782. package/dist/esm/credentials/clientAssertionCredential.d.ts +0 -33
  783. package/dist/esm/credentials/clientAssertionCredential.d.ts.map +0 -1
  784. package/dist/esm/credentials/clientAssertionCredential.js.map +0 -1
  785. package/dist/esm/credentials/clientAssertionCredentialOptions.d.ts +0 -9
  786. package/dist/esm/credentials/clientAssertionCredentialOptions.d.ts.map +0 -1
  787. package/dist/esm/credentials/clientAssertionCredentialOptions.js +0 -4
  788. package/dist/esm/credentials/clientAssertionCredentialOptions.js.map +0 -1
  789. package/dist/esm/credentials/clientCertificateCredential.d.ts +0 -72
  790. package/dist/esm/credentials/clientCertificateCredential.d.ts.map +0 -1
  791. package/dist/esm/credentials/clientCertificateCredential.js.map +0 -1
  792. package/dist/esm/credentials/clientCertificateCredentialModels.d.ts +0 -31
  793. package/dist/esm/credentials/clientCertificateCredentialModels.d.ts.map +0 -1
  794. package/dist/esm/credentials/clientCertificateCredentialModels.js +0 -4
  795. package/dist/esm/credentials/clientCertificateCredentialModels.js.map +0 -1
  796. package/dist/esm/credentials/clientCertificateCredentialOptions.d.ts +0 -14
  797. package/dist/esm/credentials/clientCertificateCredentialOptions.d.ts.map +0 -1
  798. package/dist/esm/credentials/clientCertificateCredentialOptions.js +0 -4
  799. package/dist/esm/credentials/clientCertificateCredentialOptions.js.map +0 -1
  800. package/dist/esm/credentials/clientSecretCredential.d.ts +0 -37
  801. package/dist/esm/credentials/clientSecretCredential.d.ts.map +0 -1
  802. package/dist/esm/credentials/clientSecretCredential.js.map +0 -1
  803. package/dist/esm/credentials/clientSecretCredentialOptions.d.ts +0 -9
  804. package/dist/esm/credentials/clientSecretCredentialOptions.d.ts.map +0 -1
  805. package/dist/esm/credentials/clientSecretCredentialOptions.js +0 -4
  806. package/dist/esm/credentials/clientSecretCredentialOptions.js.map +0 -1
  807. package/dist/esm/credentials/credentialPersistenceOptions.d.ts +0 -30
  808. package/dist/esm/credentials/credentialPersistenceOptions.d.ts.map +0 -1
  809. package/dist/esm/credentials/credentialPersistenceOptions.js +0 -4
  810. package/dist/esm/credentials/credentialPersistenceOptions.js.map +0 -1
  811. package/dist/esm/credentials/defaultAzureCredential.d.ts +0 -65
  812. package/dist/esm/credentials/defaultAzureCredential.d.ts.map +0 -1
  813. package/dist/esm/credentials/defaultAzureCredential.js.map +0 -1
  814. package/dist/esm/credentials/defaultAzureCredentialOptions.d.ts +0 -49
  815. package/dist/esm/credentials/defaultAzureCredentialOptions.d.ts.map +0 -1
  816. package/dist/esm/credentials/defaultAzureCredentialOptions.js +0 -4
  817. package/dist/esm/credentials/defaultAzureCredentialOptions.js.map +0 -1
  818. package/dist/esm/credentials/deviceCodeCredential.d.ts +0 -67
  819. package/dist/esm/credentials/deviceCodeCredential.d.ts.map +0 -1
  820. package/dist/esm/credentials/deviceCodeCredential.js.map +0 -1
  821. package/dist/esm/credentials/deviceCodeCredentialOptions.d.ts +0 -53
  822. package/dist/esm/credentials/deviceCodeCredentialOptions.d.ts.map +0 -1
  823. package/dist/esm/credentials/deviceCodeCredentialOptions.js +0 -4
  824. package/dist/esm/credentials/deviceCodeCredentialOptions.js.map +0 -1
  825. package/dist/esm/credentials/environmentCredential.d.ts +0 -52
  826. package/dist/esm/credentials/environmentCredential.d.ts.map +0 -1
  827. package/dist/esm/credentials/environmentCredential.js.map +0 -1
  828. package/dist/esm/credentials/environmentCredentialOptions.d.ts +0 -9
  829. package/dist/esm/credentials/environmentCredentialOptions.d.ts.map +0 -1
  830. package/dist/esm/credentials/environmentCredentialOptions.js +0 -4
  831. package/dist/esm/credentials/environmentCredentialOptions.js.map +0 -1
  832. package/dist/esm/credentials/interactiveBrowserCredential.d.ts +0 -56
  833. package/dist/esm/credentials/interactiveBrowserCredential.d.ts.map +0 -1
  834. package/dist/esm/credentials/interactiveBrowserCredential.js.map +0 -1
  835. package/dist/esm/credentials/interactiveBrowserCredentialOptions.d.ts +0 -77
  836. package/dist/esm/credentials/interactiveBrowserCredentialOptions.d.ts.map +0 -1
  837. package/dist/esm/credentials/interactiveBrowserCredentialOptions.js +0 -4
  838. package/dist/esm/credentials/interactiveBrowserCredentialOptions.js.map +0 -1
  839. package/dist/esm/credentials/interactiveCredentialOptions.d.ts +0 -25
  840. package/dist/esm/credentials/interactiveCredentialOptions.d.ts.map +0 -1
  841. package/dist/esm/credentials/interactiveCredentialOptions.js +0 -4
  842. package/dist/esm/credentials/interactiveCredentialOptions.js.map +0 -1
  843. package/dist/esm/credentials/managedIdentityCredential/imdsMsi.d.ts +0 -18
  844. package/dist/esm/credentials/managedIdentityCredential/imdsMsi.d.ts.map +0 -1
  845. package/dist/esm/credentials/managedIdentityCredential/imdsMsi.js.map +0 -1
  846. package/dist/esm/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts +0 -12
  847. package/dist/esm/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts.map +0 -1
  848. package/dist/esm/credentials/managedIdentityCredential/imdsRetryPolicy.js +0 -33
  849. package/dist/esm/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +0 -1
  850. package/dist/esm/credentials/managedIdentityCredential/index.d.ts +0 -61
  851. package/dist/esm/credentials/managedIdentityCredential/index.d.ts.map +0 -1
  852. package/dist/esm/credentials/managedIdentityCredential/index.js.map +0 -1
  853. package/dist/esm/credentials/managedIdentityCredential/models.d.ts +0 -24
  854. package/dist/esm/credentials/managedIdentityCredential/models.d.ts.map +0 -1
  855. package/dist/esm/credentials/managedIdentityCredential/models.js +0 -4
  856. package/dist/esm/credentials/managedIdentityCredential/models.js.map +0 -1
  857. package/dist/esm/credentials/managedIdentityCredential/options.d.ts +0 -37
  858. package/dist/esm/credentials/managedIdentityCredential/options.d.ts.map +0 -1
  859. package/dist/esm/credentials/managedIdentityCredential/options.js +0 -4
  860. package/dist/esm/credentials/managedIdentityCredential/options.js.map +0 -1
  861. package/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts +0 -14
  862. package/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts.map +0 -1
  863. package/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.js +0 -32
  864. package/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +0 -1
  865. package/dist/esm/credentials/managedIdentityCredential/utils.d.ts +0 -33
  866. package/dist/esm/credentials/managedIdentityCredential/utils.d.ts.map +0 -1
  867. package/dist/esm/credentials/managedIdentityCredential/utils.js +0 -77
  868. package/dist/esm/credentials/managedIdentityCredential/utils.js.map +0 -1
  869. package/dist/esm/credentials/multiTenantTokenCredentialOptions.d.ts +0 -12
  870. package/dist/esm/credentials/multiTenantTokenCredentialOptions.d.ts.map +0 -1
  871. package/dist/esm/credentials/multiTenantTokenCredentialOptions.js +0 -4
  872. package/dist/esm/credentials/multiTenantTokenCredentialOptions.js.map +0 -1
  873. package/dist/esm/credentials/onBehalfOfCredential.d.ts +0 -105
  874. package/dist/esm/credentials/onBehalfOfCredential.d.ts.map +0 -1
  875. package/dist/esm/credentials/onBehalfOfCredential.js.map +0 -1
  876. package/dist/esm/credentials/onBehalfOfCredentialOptions.d.ts +0 -76
  877. package/dist/esm/credentials/onBehalfOfCredentialOptions.d.ts.map +0 -1
  878. package/dist/esm/credentials/onBehalfOfCredentialOptions.js +0 -4
  879. package/dist/esm/credentials/onBehalfOfCredentialOptions.js.map +0 -1
  880. package/dist/esm/credentials/usernamePasswordCredential.d.ts +0 -41
  881. package/dist/esm/credentials/usernamePasswordCredential.d.ts.map +0 -1
  882. package/dist/esm/credentials/usernamePasswordCredential.js.map +0 -1
  883. package/dist/esm/credentials/usernamePasswordCredentialOptions.d.ts +0 -9
  884. package/dist/esm/credentials/usernamePasswordCredentialOptions.d.ts.map +0 -1
  885. package/dist/esm/credentials/usernamePasswordCredentialOptions.js +0 -4
  886. package/dist/esm/credentials/usernamePasswordCredentialOptions.js.map +0 -1
  887. package/dist/esm/credentials/visualStudioCodeCredential.d.ts +0 -60
  888. package/dist/esm/credentials/visualStudioCodeCredential.d.ts.map +0 -1
  889. package/dist/esm/credentials/visualStudioCodeCredential.js.map +0 -1
  890. package/dist/esm/credentials/visualStudioCodeCredentialOptions.d.ts +0 -11
  891. package/dist/esm/credentials/visualStudioCodeCredentialOptions.d.ts.map +0 -1
  892. package/dist/esm/credentials/visualStudioCodeCredentialOptions.js +0 -4
  893. package/dist/esm/credentials/visualStudioCodeCredentialOptions.js.map +0 -1
  894. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -11
  895. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  896. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.js +0 -4
  897. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  898. package/dist/esm/credentials/workloadIdentityCredential.d.ts +0 -47
  899. package/dist/esm/credentials/workloadIdentityCredential.d.ts.map +0 -1
  900. package/dist/esm/credentials/workloadIdentityCredential.js.map +0 -1
  901. package/dist/esm/credentials/workloadIdentityCredentialOptions.d.ts +0 -20
  902. package/dist/esm/credentials/workloadIdentityCredentialOptions.d.ts.map +0 -1
  903. package/dist/esm/credentials/workloadIdentityCredentialOptions.js +0 -4
  904. package/dist/esm/credentials/workloadIdentityCredentialOptions.js.map +0 -1
  905. package/dist/esm/errors.d.ts +0 -139
  906. package/dist/esm/errors.d.ts.map +0 -1
  907. package/dist/esm/errors.js +0 -123
  908. package/dist/esm/errors.js.map +0 -1
  909. package/dist/esm/index.d.ts +0 -61
  910. package/dist/esm/index.d.ts.map +0 -1
  911. package/dist/esm/index.js +0 -34
  912. package/dist/esm/index.js.map +0 -1
  913. package/dist/esm/msal/browserFlows/flows.d.ts +0 -42
  914. package/dist/esm/msal/browserFlows/flows.d.ts.map +0 -1
  915. package/dist/esm/msal/browserFlows/flows.js +0 -4
  916. package/dist/esm/msal/browserFlows/flows.js.map +0 -1
  917. package/dist/esm/msal/browserFlows/msalAuthCode.d.ts +0 -48
  918. package/dist/esm/msal/browserFlows/msalAuthCode.d.ts.map +0 -1
  919. package/dist/esm/msal/browserFlows/msalAuthCode.js.map +0 -1
  920. package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts +0 -106
  921. package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  922. package/dist/esm/msal/browserFlows/msalBrowserCommon.js +0 -116
  923. package/dist/esm/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  924. package/dist/esm/msal/credentials.d.ts +0 -52
  925. package/dist/esm/msal/credentials.d.ts.map +0 -1
  926. package/dist/esm/msal/credentials.js +0 -4
  927. package/dist/esm/msal/credentials.js.map +0 -1
  928. package/dist/esm/msal/msal.d.ts +0 -3
  929. package/dist/esm/msal/msal.d.ts.map +0 -1
  930. package/dist/esm/msal/nodeFlows/brokerOptions.d.ts +0 -44
  931. package/dist/esm/msal/nodeFlows/brokerOptions.d.ts.map +0 -1
  932. package/dist/esm/msal/nodeFlows/brokerOptions.js +0 -2
  933. package/dist/esm/msal/nodeFlows/brokerOptions.js.map +0 -1
  934. package/dist/esm/msal/nodeFlows/msalClient.d.ts +0 -186
  935. package/dist/esm/msal/nodeFlows/msalClient.d.ts.map +0 -1
  936. package/dist/esm/msal/nodeFlows/msalClient.js +0 -477
  937. package/dist/esm/msal/nodeFlows/msalClient.js.map +0 -1
  938. package/dist/esm/msal/nodeFlows/msalPlugins.d.ts +0 -91
  939. package/dist/esm/msal/nodeFlows/msalPlugins.d.ts.map +0 -1
  940. package/dist/esm/msal/nodeFlows/msalPlugins.js +0 -87
  941. package/dist/esm/msal/nodeFlows/msalPlugins.js.map +0 -1
  942. package/dist/esm/msal/nodeFlows/tokenCachePersistenceOptions.d.ts +0 -24
  943. package/dist/esm/msal/nodeFlows/tokenCachePersistenceOptions.d.ts.map +0 -1
  944. package/dist/esm/msal/nodeFlows/tokenCachePersistenceOptions.js +0 -4
  945. package/dist/esm/msal/nodeFlows/tokenCachePersistenceOptions.js.map +0 -1
  946. package/dist/esm/msal/types.d.ts +0 -87
  947. package/dist/esm/msal/types.d.ts.map +0 -1
  948. package/dist/esm/msal/types.js +0 -4
  949. package/dist/esm/msal/types.js.map +0 -1
  950. package/dist/esm/msal/utils.d.ts +0 -95
  951. package/dist/esm/msal/utils.d.ts.map +0 -1
  952. package/dist/esm/msal/utils.js +0 -238
  953. package/dist/esm/msal/utils.js.map +0 -1
  954. package/dist/esm/package.json +0 -3
  955. package/dist/esm/plugins/consumer.d.ts +0 -28
  956. package/dist/esm/plugins/consumer.d.ts.map +0 -1
  957. package/dist/esm/plugins/consumer.js.map +0 -1
  958. package/dist/esm/plugins/provider.d.ts +0 -36
  959. package/dist/esm/plugins/provider.d.ts.map +0 -1
  960. package/dist/esm/plugins/provider.js +0 -4
  961. package/dist/esm/plugins/provider.js.map +0 -1
  962. package/dist/esm/regionalAuthority.d.ts +0 -122
  963. package/dist/esm/regionalAuthority.d.ts.map +0 -1
  964. package/dist/esm/regionalAuthority.js +0 -140
  965. package/dist/esm/regionalAuthority.js.map +0 -1
  966. package/dist/esm/tokenCredentialOptions.d.ts +0 -28
  967. package/dist/esm/tokenCredentialOptions.d.ts.map +0 -1
  968. package/dist/esm/tokenCredentialOptions.js +0 -4
  969. package/dist/esm/tokenCredentialOptions.js.map +0 -1
  970. package/dist/esm/tokenProvider.d.ts +0 -39
  971. package/dist/esm/tokenProvider.d.ts.map +0 -1
  972. package/dist/esm/tokenProvider.js +0 -53
  973. package/dist/esm/tokenProvider.js.map +0 -1
  974. package/dist/esm/util/authHostEnv-browser.d.mts +0 -4
  975. package/dist/esm/util/authHostEnv-browser.d.mts.map +0 -1
  976. package/dist/esm/util/authHostEnv-browser.mjs.map +0 -1
  977. package/dist/esm/util/identityTokenEndpoint.d.ts +0 -2
  978. package/dist/esm/util/identityTokenEndpoint.d.ts.map +0 -1
  979. package/dist/esm/util/identityTokenEndpoint.js +0 -11
  980. package/dist/esm/util/identityTokenEndpoint.js.map +0 -1
  981. package/dist/esm/util/logging.d.ts +0 -70
  982. package/dist/esm/util/logging.d.ts.map +0 -1
  983. package/dist/esm/util/logging.js +0 -94
  984. package/dist/esm/util/logging.js.map +0 -1
  985. package/dist/esm/util/processMultiTenantRequest.d.ts +0 -10
  986. package/dist/esm/util/processMultiTenantRequest.d.ts.map +0 -1
  987. package/dist/esm/util/processMultiTenantRequest.js.map +0 -1
  988. package/dist/esm/util/processUtils.d.ts +0 -13
  989. package/dist/esm/util/processUtils.d.ts.map +0 -1
  990. package/dist/esm/util/processUtils.js +0 -32
  991. package/dist/esm/util/processUtils.js.map +0 -1
  992. package/dist/esm/util/scopeUtils.d.ts +0 -17
  993. package/dist/esm/util/scopeUtils.d.ts.map +0 -1
  994. package/dist/esm/util/scopeUtils.js +0 -29
  995. package/dist/esm/util/scopeUtils.js.map +0 -1
  996. package/dist/esm/util/subscriptionUtils.d.ts +0 -6
  997. package/dist/esm/util/subscriptionUtils.d.ts.map +0 -1
  998. package/dist/esm/util/subscriptionUtils.js +0 -14
  999. package/dist/esm/util/subscriptionUtils.js.map +0 -1
  1000. package/dist/esm/util/tenantIdUtils.d.ts +0 -15
  1001. package/dist/esm/util/tenantIdUtils.d.ts.map +0 -1
  1002. package/dist/esm/util/tenantIdUtils.js.map +0 -1
  1003. package/dist/esm/util/tracing.d.ts +0 -6
  1004. package/dist/esm/util/tracing.d.ts.map +0 -1
  1005. package/dist/esm/util/tracing.js +0 -14
  1006. package/dist/esm/util/tracing.js.map +0 -1
  1007. /package/{dist/browser → dist-esm/src}/credentials/authorityValidationOptions.js +0 -0
  1008. /package/{dist/browser → dist-esm/src}/credentials/authorityValidationOptions.js.map +0 -0
  1009. /package/{dist/browser → dist-esm/src}/credentials/authorizationCodeCredentialOptions.js +0 -0
  1010. /package/{dist/browser → dist-esm/src}/credentials/azureApplicationCredentialOptions.js +0 -0
  1011. /package/{dist/browser → dist-esm/src}/credentials/azureCliCredentialOptions.js +0 -0
  1012. /package/{dist/browser → dist-esm/src}/credentials/azureDeveloperCliCredentialOptions.js +0 -0
  1013. /package/{dist/browser → dist-esm/src}/credentials/azurePipelinesCredentialOptions.js +0 -0
  1014. /package/{dist/browser → dist-esm/src}/credentials/azurePowerShellCredentialOptions.js +0 -0
  1015. /package/{dist/browser → dist-esm/src}/credentials/brokerAuthOptions.js +0 -0
  1016. /package/{dist/browser → dist-esm/src}/credentials/browserCustomizationOptions.js +0 -0
  1017. /package/{dist/browser → dist-esm/src}/credentials/browserCustomizationOptions.js.map +0 -0
  1018. /package/{dist/browser → dist-esm/src}/credentials/clientAssertionCredentialOptions.js +0 -0
  1019. /package/{dist/browser → dist-esm/src}/credentials/clientCertificateCredentialOptions.js +0 -0
  1020. /package/{dist/browser → dist-esm/src}/credentials/clientSecretCredentialOptions.js +0 -0
  1021. /package/{dist/browser → dist-esm/src}/credentials/credentialPersistenceOptions.js +0 -0
  1022. /package/{dist/browser → dist-esm/src}/credentials/defaultAzureCredentialOptions.js +0 -0
  1023. /package/{dist/browser → dist-esm/src}/credentials/deviceCodeCredentialOptions.js +0 -0
  1024. /package/{dist/browser → dist-esm/src}/credentials/environmentCredentialOptions.js +0 -0
  1025. /package/{dist/browser → dist-esm/src}/credentials/interactiveBrowserCredentialOptions.js +0 -0
  1026. /package/{dist/browser → dist-esm/src}/credentials/interactiveCredentialOptions.js +0 -0
  1027. /package/{dist/browser → dist-esm/src}/credentials/managedIdentityCredential/imdsRetryPolicy.js +0 -0
  1028. /package/{dist/browser → dist-esm/src}/credentials/managedIdentityCredential/models.js +0 -0
  1029. /package/{dist/browser → dist-esm/src}/credentials/multiTenantTokenCredentialOptions.js +0 -0
  1030. /package/{dist/browser → dist-esm/src}/credentials/onBehalfOfCredentialOptions.js +0 -0
  1031. /package/{dist/browser → dist-esm/src}/credentials/usernamePasswordCredentialOptions.js +0 -0
  1032. /package/{dist/browser → dist-esm/src}/credentials/visualStudioCodeCredentialOptions.js +0 -0
  1033. /package/{dist/browser → dist-esm/src}/credentials/visualStudioCodeCredentialPlugin.js +0 -0
  1034. /package/{dist/browser → dist-esm/src}/credentials/visualStudioCodeCredentialPlugin.js.map +0 -0
  1035. /package/{dist/browser → dist-esm/src}/credentials/workloadIdentityCredentialOptions.js +0 -0
  1036. /package/{dist/browser → dist-esm/src}/errors.js +0 -0
  1037. /package/{dist/browser → dist-esm/src}/msal/browserFlows/flows.js +0 -0
  1038. /package/{dist/browser → dist-esm/src}/msal/credentials.js +0 -0
  1039. /package/{dist/esm → dist-esm/src}/msal/msal.js +0 -0
  1040. /package/{dist/esm → dist-esm/src}/msal/msal.js.map +0 -0
  1041. /package/{dist/browser → dist-esm/src}/msal/nodeFlows/brokerOptions.js +0 -0
  1042. /package/{dist/browser → dist-esm/src}/msal/nodeFlows/brokerOptions.js.map +0 -0
  1043. /package/{dist/browser → dist-esm/src}/msal/nodeFlows/tokenCachePersistenceOptions.js +0 -0
  1044. /package/{dist/browser → dist-esm/src}/msal/nodeFlows/tokenCachePersistenceOptions.js.map +0 -0
  1045. /package/{dist/browser → dist-esm/src}/msal/types.js +0 -0
  1046. /package/{dist/browser → dist-esm/src}/plugins/provider.js +0 -0
  1047. /package/{dist/browser → dist-esm/src}/regionalAuthority.js +0 -0
  1048. /package/{dist/browser → dist-esm/src}/regionalAuthority.js.map +0 -0
  1049. /package/{dist/browser → dist-esm/src}/tokenCredentialOptions.js +0 -0
  1050. /package/{dist/browser → dist-esm/src}/util/identityTokenEndpoint.js +0 -0
  1051. /package/{dist/browser → dist-esm/src}/util/identityTokenEndpoint.js.map +0 -0
  1052. /package/{dist/browser → dist-esm/src}/util/logging.js +0 -0
  1053. /package/{dist/browser → dist-esm/src}/util/processUtils.js +0 -0
  1054. /package/{dist/browser → dist-esm/src}/util/processUtils.js.map +0 -0
@@ -1,12 +1,12 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { AuthenticationError, CredentialUnavailableError } from "../errors.js";
4
- import { credentialLogger, formatError, formatSuccess, processEnvVars } from "../util/logging.js";
5
- import { ClientCertificateCredential } from "./clientCertificateCredential.js";
6
- import { ClientSecretCredential } from "./clientSecretCredential.js";
7
- import { UsernamePasswordCredential } from "./usernamePasswordCredential.js";
8
- import { checkTenantId } from "../util/tenantIdUtils.js";
9
- import { tracingClient } from "../util/tracing.js";
3
+ import { AuthenticationError, CredentialUnavailableError } from "../errors";
4
+ import { credentialLogger, formatError, formatSuccess, processEnvVars } from "../util/logging";
5
+ import { ClientCertificateCredential } from "./clientCertificateCredential";
6
+ import { ClientSecretCredential } from "./clientSecretCredential";
7
+ import { UsernamePasswordCredential } from "./usernamePasswordCredential";
8
+ import { checkTenantId } from "../util/tenantIdUtils";
9
+ import { tracingClient } from "../util/tracing";
10
10
  /**
11
11
  * Contains the list of all supported environment variable names so that an
12
12
  * appropriate error message can be generated when no credentials can be
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentCredential.js","sourceRoot":"","sources":["../../../src/credentials/environmentCredential.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport { AuthenticationError, CredentialUnavailableError } from \"../errors\";\nimport { credentialLogger, formatError, formatSuccess, processEnvVars } from \"../util/logging\";\n\nimport { ClientCertificateCredential } from \"./clientCertificateCredential\";\nimport { ClientSecretCredential } from \"./clientSecretCredential\";\nimport { EnvironmentCredentialOptions } from \"./environmentCredentialOptions\";\nimport { UsernamePasswordCredential } from \"./usernamePasswordCredential\";\nimport { checkTenantId } from \"../util/tenantIdUtils\";\nimport { tracingClient } from \"../util/tracing\";\n\n/**\n * Contains the list of all supported environment variable names so that an\n * appropriate error message can be generated when no credentials can be\n * configured.\n *\n * @internal\n */\nexport const AllSupportedEnvironmentVariables = [\n \"AZURE_TENANT_ID\",\n \"AZURE_CLIENT_ID\",\n \"AZURE_CLIENT_SECRET\",\n \"AZURE_CLIENT_CERTIFICATE_PATH\",\n \"AZURE_CLIENT_CERTIFICATE_PASSWORD\",\n \"AZURE_USERNAME\",\n \"AZURE_PASSWORD\",\n \"AZURE_ADDITIONALLY_ALLOWED_TENANTS\",\n \"AZURE_CLIENT_SEND_CERTIFICATE_CHAIN\",\n];\n\nfunction getAdditionallyAllowedTenants(): string[] {\n const additionallyAllowedValues = process.env.AZURE_ADDITIONALLY_ALLOWED_TENANTS ?? \"\";\n return additionallyAllowedValues.split(\";\");\n}\n\nconst credentialName = \"EnvironmentCredential\";\nconst logger = credentialLogger(credentialName);\n\nexport function getSendCertificateChain(): boolean {\n const sendCertificateChain = (\n process.env.AZURE_CLIENT_SEND_CERTIFICATE_CHAIN ?? \"\"\n ).toLowerCase();\n const result = sendCertificateChain === \"true\" || sendCertificateChain === \"1\";\n logger.verbose(\n `AZURE_CLIENT_SEND_CERTIFICATE_CHAIN: ${process.env.AZURE_CLIENT_SEND_CERTIFICATE_CHAIN}; sendCertificateChain: ${result}`,\n );\n return result;\n}\n\n/**\n * Enables authentication to Microsoft Entra ID using a client secret or certificate, or as a user\n * with a username and password.\n */\nexport class EnvironmentCredential implements TokenCredential {\n private _credential?:\n | ClientSecretCredential\n | ClientCertificateCredential\n | UsernamePasswordCredential = undefined;\n /**\n * Creates an instance of the EnvironmentCredential class and decides what credential to use depending on the available environment variables.\n *\n * Required environment variables:\n * - `AZURE_TENANT_ID`: The Microsoft Entra tenant (directory) ID.\n * - `AZURE_CLIENT_ID`: The client (application) ID of an App Registration in the tenant.\n *\n * If setting the AZURE_TENANT_ID, then you can also set the additionally allowed tenants\n * - `AZURE_ADDITIONALLY_ALLOWED_TENANTS`: For multi-tenant applications, specifies additional tenants for which the credential may acquire tokens with a single semicolon delimited string. Use * to allow all tenants.\n *\n * Environment variables used for client credential authentication:\n * - `AZURE_CLIENT_SECRET`: A client secret that was generated for the App Registration.\n * - `AZURE_CLIENT_CERTIFICATE_PATH`: The path to a PEM certificate to use during the authentication, instead of the client secret.\n * - `AZURE_CLIENT_CERTIFICATE_PASSWORD`: (optional) password for the certificate file.\n * - `AZURE_CLIENT_SEND_CERTIFICATE_CHAIN`: (optional) indicates that the certificate chain should be set in x5c header to support subject name / issuer based authentication.\n *\n * Alternatively, users can provide environment variables for username and password authentication:\n * - `AZURE_USERNAME`: Username to authenticate with.\n * - `AZURE_PASSWORD`: Password to authenticate with.\n *\n * If the environment variables required to perform the authentication are missing, a {@link CredentialUnavailableError} will be thrown.\n * If the authentication fails, or if there's an unknown error, an {@link AuthenticationError} will be thrown.\n *\n * @param options - Options for configuring the client which makes the authentication request.\n */\n constructor(options?: EnvironmentCredentialOptions) {\n // Keep track of any missing environment variables for error details\n\n const assigned = processEnvVars(AllSupportedEnvironmentVariables).assigned.join(\", \");\n logger.info(`Found the following environment variables: ${assigned}`);\n\n const tenantId = process.env.AZURE_TENANT_ID,\n clientId = process.env.AZURE_CLIENT_ID,\n clientSecret = process.env.AZURE_CLIENT_SECRET;\n\n const additionallyAllowedTenantIds = getAdditionallyAllowedTenants();\n const sendCertificateChain = getSendCertificateChain();\n const newOptions = { ...options, additionallyAllowedTenantIds, sendCertificateChain };\n\n if (tenantId) {\n checkTenantId(logger, tenantId);\n }\n\n if (tenantId && clientId && clientSecret) {\n logger.info(\n `Invoking ClientSecretCredential with tenant ID: ${tenantId}, clientId: ${clientId} and clientSecret: [REDACTED]`,\n );\n this._credential = new ClientSecretCredential(tenantId, clientId, clientSecret, newOptions);\n return;\n }\n\n const certificatePath = process.env.AZURE_CLIENT_CERTIFICATE_PATH;\n const certificatePassword = process.env.AZURE_CLIENT_CERTIFICATE_PASSWORD;\n if (tenantId && clientId && certificatePath) {\n logger.info(\n `Invoking ClientCertificateCredential with tenant ID: ${tenantId}, clientId: ${clientId} and certificatePath: ${certificatePath}`,\n );\n this._credential = new ClientCertificateCredential(\n tenantId,\n clientId,\n { certificatePath, certificatePassword },\n newOptions,\n );\n return;\n }\n\n const username = process.env.AZURE_USERNAME;\n const password = process.env.AZURE_PASSWORD;\n if (tenantId && clientId && username && password) {\n logger.info(\n `Invoking UsernamePasswordCredential with tenant ID: ${tenantId}, clientId: ${clientId} and username: ${username}`,\n );\n this._credential = new UsernamePasswordCredential(\n tenantId,\n clientId,\n username,\n password,\n newOptions,\n );\n }\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - Optional parameters. See {@link GetTokenOptions}.\n */\n async getToken(scopes: string | string[], options: GetTokenOptions = {}): Promise<AccessToken> {\n return tracingClient.withSpan(`${credentialName}.getToken`, options, async (newOptions) => {\n if (this._credential) {\n try {\n const result = await this._credential.getToken(scopes, newOptions);\n logger.getToken.info(formatSuccess(scopes));\n return result;\n } catch (err: any) {\n const authenticationError = new AuthenticationError(400, {\n error: `${credentialName} authentication failed. To troubleshoot, visit https://aka.ms/azsdk/js/identity/environmentcredential/troubleshoot.`,\n error_description: err.message.toString().split(\"More details:\").join(\"\"),\n });\n logger.getToken.info(formatError(scopes, authenticationError));\n throw authenticationError;\n }\n }\n throw new CredentialUnavailableError(\n `${credentialName} is unavailable. No underlying credential could be used. To troubleshoot, visit https://aka.ms/azsdk/js/identity/environmentcredential/troubleshoot.`,\n );\n });\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentCredentialOptions.js","sourceRoot":"","sources":["../../../src/credentials/environmentCredentialOptions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AuthorityValidationOptions } from \"./authorityValidationOptions\";\nimport { MultiTenantTokenCredentialOptions } from \"./multiTenantTokenCredentialOptions\";\n\n/**\n * Enables authentication to Microsoft Entra ID depending on the available environment variables.\n * Defines options for the EnvironmentCredential class.\n */\nexport interface EnvironmentCredentialOptions\n extends MultiTenantTokenCredentialOptions,\n AuthorityValidationOptions {}\n"]}
@@ -1,10 +1,10 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { credentialLogger, formatError } from "../util/logging.js";
4
- import { processMultiTenantRequest, resolveAdditionallyAllowedTenantIds, } from "../util/tenantIdUtils.js";
5
- import { MSALAuthCode } from "../msal/browserFlows/msalAuthCode.js";
6
- import { ensureScopes } from "../util/scopeUtils.js";
7
- import { tracingClient } from "../util/tracing.js";
3
+ import { credentialLogger, formatError } from "../util/logging";
4
+ import { processMultiTenantRequest, resolveAdditionallyAllowedTenantIds, } from "../util/tenantIdUtils";
5
+ import { MSALAuthCode } from "../msal/browserFlows/msalAuthCode";
6
+ import { ensureScopes } from "../util/scopeUtils";
7
+ import { tracingClient } from "../util/tracing";
8
8
  const logger = credentialLogger("InteractiveBrowserCredential");
9
9
  /**
10
10
  * Enables authentication to Microsoft Entra ID inside of the web browser
@@ -83,4 +83,4 @@ export class InteractiveBrowserCredential {
83
83
  });
84
84
  }
85
85
  }
86
- //# sourceMappingURL=interactiveBrowserCredential-browser.mjs.map
86
+ //# sourceMappingURL=interactiveBrowserCredential.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactiveBrowserCredential.browser.js","sourceRoot":"","sources":["../../../src/credentials/interactiveBrowserCredential.browser.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport {\n InteractiveBrowserCredentialInBrowserOptions,\n InteractiveBrowserCredentialNodeOptions,\n} from \"./interactiveBrowserCredentialOptions\";\nimport { credentialLogger, formatError } from \"../util/logging\";\nimport {\n processMultiTenantRequest,\n resolveAdditionallyAllowedTenantIds,\n} from \"../util/tenantIdUtils\";\n\nimport { AuthenticationRecord } from \"../msal/types\";\nimport { MSALAuthCode } from \"../msal/browserFlows/msalAuthCode\";\nimport { MsalBrowserFlowOptions } from \"../msal/browserFlows/msalBrowserCommon\";\nimport { MsalFlow } from \"../msal/browserFlows/flows\";\nimport { ensureScopes } from \"../util/scopeUtils\";\nimport { tracingClient } from \"../util/tracing\";\n\nconst logger = credentialLogger(\"InteractiveBrowserCredential\");\n\n/**\n * Enables authentication to Microsoft Entra ID inside of the web browser\n * using the interactive login flow.\n */\nexport class InteractiveBrowserCredential implements TokenCredential {\n private tenantId?: string;\n private additionallyAllowedTenantIds: string[];\n private msalFlow: MsalFlow;\n private disableAutomaticAuthentication?: boolean;\n\n /**\n * Creates an instance of the InteractiveBrowserCredential with the\n * details needed to authenticate against Microsoft Entra ID with\n * a user identity.\n *\n * This credential uses the [Authorization Code Flow](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow).\n * On Node.js, it will open a browser window while it listens for a redirect response from the authentication service.\n * On browsers, it authenticates via popups. The `loginStyle` optional parameter can be set to `redirect` to authenticate by redirecting the user to an Azure secure login page, which then will redirect the user back to the web application where the authentication started.\n *\n * It's recommended that the Microsoft Entra Applications used are configured to authenticate using Single Page Applications.\n * More information here: [link](https://learn.microsoft.com/en-us/azure/active-directory/develop/scenario-spa-app-registration#redirect-uri-msaljs-20-with-auth-code-flow).\n *\n * @param options - Options for configuring the client which makes the authentication request.\n */\n constructor(\n options: InteractiveBrowserCredentialInBrowserOptions | InteractiveBrowserCredentialNodeOptions,\n ) {\n if (!options?.clientId) {\n const error = new Error(\n \"The parameter `clientId` cannot be left undefined for the `InteractiveBrowserCredential`\",\n );\n logger.info(formatError(\"\", error));\n throw error;\n }\n\n this.tenantId = options?.tenantId;\n this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(\n options?.additionallyAllowedTenants,\n );\n\n const browserOptions = options as InteractiveBrowserCredentialInBrowserOptions;\n const loginStyle = browserOptions.loginStyle || \"popup\";\n const loginStyles = [\"redirect\", \"popup\"];\n\n if (loginStyles.indexOf(loginStyle) === -1) {\n const error = new Error(\n `Invalid loginStyle: ${\n browserOptions.loginStyle\n }. Should be any of the following: ${loginStyles.join(\", \")}.`,\n );\n logger.info(formatError(\"\", error));\n throw error;\n }\n\n const msalOptions: MsalBrowserFlowOptions = {\n ...options,\n tokenCredentialOptions: options,\n logger,\n loginStyle: loginStyle,\n redirectUri:\n typeof options.redirectUri === \"function\" ? options.redirectUri() : options.redirectUri,\n };\n\n this.msalFlow = new MSALAuthCode(msalOptions);\n this.disableAutomaticAuthentication = options?.disableAutomaticAuthentication;\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * If the user provided the option `disableAutomaticAuthentication`,\n * once the token can't be retrieved silently,\n * this method won't attempt to request user interaction to retrieve the token.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n async getToken(scopes: string | string[], options: GetTokenOptions = {}): Promise<AccessToken> {\n return tracingClient.withSpan(\n `${this.constructor.name}.getToken`,\n options,\n async (newOptions) => {\n const tenantId = processMultiTenantRequest(\n this.tenantId,\n newOptions,\n this.additionallyAllowedTenantIds,\n );\n newOptions.tenantId = tenantId;\n\n const arrayScopes = ensureScopes(scopes);\n return this.msalFlow.getToken(arrayScopes, {\n ...newOptions,\n disableAutomaticAuthentication: this.disableAutomaticAuthentication,\n });\n },\n );\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * If the token can't be retrieved silently, this method will require user interaction to retrieve the token.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n async authenticate(\n scopes: string | string[],\n options: GetTokenOptions = {},\n ): Promise<AuthenticationRecord | undefined> {\n return tracingClient.withSpan(\n `${this.constructor.name}.authenticate`,\n options,\n async (newOptions) => {\n const arrayScopes = Array.isArray(scopes) ? scopes : [scopes];\n await this.msalFlow.getToken(arrayScopes, newOptions);\n return this.msalFlow.getActiveAccount();\n },\n );\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { processMultiTenantRequest, resolveAdditionallyAllowedTenantIds, resolveTenantId, } from "../util/tenantIdUtils.js";
4
- import { credentialLogger } from "../util/logging.js";
5
- import { ensureScopes } from "../util/scopeUtils.js";
6
- import { tracingClient } from "../util/tracing.js";
7
- import { createMsalClient } from "../msal/nodeFlows/msalClient.js";
8
- import { DeveloperSignOnClientId } from "../constants.js";
3
+ import { processMultiTenantRequest, resolveAdditionallyAllowedTenantIds, resolveTenantId, } from "../util/tenantIdUtils";
4
+ import { credentialLogger } from "../util/logging";
5
+ import { ensureScopes } from "../util/scopeUtils";
6
+ import { tracingClient } from "../util/tracing";
7
+ import { createMsalClient } from "../msal/nodeFlows/msalClient";
8
+ import { DeveloperSignOnClientId } from "../constants";
9
9
  const logger = credentialLogger("InteractiveBrowserCredential");
10
10
  /**
11
11
  * Enables authentication to Microsoft Entra ID inside of the web browser
@@ -1 +1 @@
1
- {"version":3,"file":"interactiveBrowserCredential.js","sourceRoot":"","sources":["../../../src/credentials/interactiveBrowserCredential.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport type {\n InteractiveBrowserCredentialInBrowserOptions,\n InteractiveBrowserCredentialNodeOptions,\n} from \"./interactiveBrowserCredentialOptions.js\";\nimport {\n processMultiTenantRequest,\n resolveAdditionallyAllowedTenantIds,\n resolveTenantId,\n} from \"../util/tenantIdUtils.js\";\n\nimport type { AuthenticationRecord } from \"../msal/types.js\";\nimport { credentialLogger } from \"../util/logging.js\";\nimport { ensureScopes } from \"../util/scopeUtils.js\";\nimport { tracingClient } from \"../util/tracing.js\";\nimport type { MsalClient, MsalClientOptions } from \"../msal/nodeFlows/msalClient.js\";\nimport { createMsalClient } from \"../msal/nodeFlows/msalClient.js\";\nimport { DeveloperSignOnClientId } from \"../constants.js\";\n\nconst logger = credentialLogger(\"InteractiveBrowserCredential\");\n\n/**\n * Enables authentication to Microsoft Entra ID inside of the web browser\n * using the interactive login flow.\n */\nexport class InteractiveBrowserCredential implements TokenCredential {\n private tenantId?: string;\n private additionallyAllowedTenantIds: string[];\n private msalClient: MsalClient;\n private disableAutomaticAuthentication?: boolean;\n private browserCustomizationOptions: InteractiveBrowserCredentialNodeOptions[\"browserCustomizationOptions\"];\n private loginHint?: string;\n\n /**\n * Creates an instance of InteractiveBrowserCredential with the details needed.\n *\n * This credential uses the [Authorization Code Flow](https://learn.microsoft.com/entra/identity-platform/v2-oauth2-auth-code-flow).\n * On Node.js, it will open a browser window while it listens for a redirect response from the authentication service.\n * On browsers, it authenticates via popups. The `loginStyle` optional parameter can be set to `redirect` to authenticate by redirecting the user to an Azure secure login page, which then will redirect the user back to the web application where the authentication started.\n *\n * For Node.js, if a `clientId` is provided, the Microsoft Entra application will need to be configured to have a \"Mobile and desktop applications\" redirect endpoint.\n * Follow our guide on [setting up Redirect URIs for Desktop apps that calls to web APIs](https://learn.microsoft.com/entra/identity-platform/scenario-desktop-app-registration#redirect-uris).\n *\n * @param options - Options for configuring the client which makes the authentication requests.\n */\n constructor(\n options: InteractiveBrowserCredentialNodeOptions | InteractiveBrowserCredentialInBrowserOptions,\n ) {\n this.tenantId = resolveTenantId(logger, options.tenantId, options.clientId);\n this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(\n options?.additionallyAllowedTenants,\n );\n\n const msalClientOptions: MsalClientOptions = {\n ...options,\n tokenCredentialOptions: options,\n logger,\n };\n const ibcNodeOptions = options as InteractiveBrowserCredentialNodeOptions;\n this.browserCustomizationOptions = ibcNodeOptions.browserCustomizationOptions;\n this.loginHint = ibcNodeOptions.loginHint;\n if (ibcNodeOptions?.brokerOptions?.enabled) {\n if (!ibcNodeOptions?.brokerOptions?.parentWindowHandle) {\n throw new Error(\n \"In order to do WAM authentication, `parentWindowHandle` under `brokerOptions` is a required parameter\",\n );\n } else {\n msalClientOptions.brokerOptions = {\n enabled: true,\n parentWindowHandle: ibcNodeOptions.brokerOptions.parentWindowHandle,\n legacyEnableMsaPassthrough: ibcNodeOptions.brokerOptions?.legacyEnableMsaPassthrough,\n useDefaultBrokerAccount: ibcNodeOptions.brokerOptions?.useDefaultBrokerAccount,\n };\n }\n }\n this.msalClient = createMsalClient(\n options.clientId ?? DeveloperSignOnClientId,\n this.tenantId,\n msalClientOptions,\n );\n this.disableAutomaticAuthentication = options?.disableAutomaticAuthentication;\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * If the user provided the option `disableAutomaticAuthentication`,\n * once the token can't be retrieved silently,\n * this method won't attempt to request user interaction to retrieve the token.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n async getToken(scopes: string | string[], options: GetTokenOptions = {}): Promise<AccessToken> {\n return tracingClient.withSpan(\n `${this.constructor.name}.getToken`,\n options,\n async (newOptions) => {\n newOptions.tenantId = processMultiTenantRequest(\n this.tenantId,\n newOptions,\n this.additionallyAllowedTenantIds,\n logger,\n );\n\n const arrayScopes = ensureScopes(scopes);\n return this.msalClient.getTokenByInteractiveRequest(arrayScopes, {\n ...newOptions,\n disableAutomaticAuthentication: this.disableAutomaticAuthentication,\n browserCustomizationOptions: this.browserCustomizationOptions,\n loginHint: this.loginHint,\n });\n },\n );\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * If the token can't be retrieved silently, this method will always generate a challenge for the user.\n *\n * On Node.js, this credential has [Proof Key for Code Exchange (PKCE)](https://datatracker.ietf.org/doc/html/rfc7636) enabled by default.\n * PKCE is a security feature that mitigates authentication code interception attacks.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n async authenticate(\n scopes: string | string[],\n options: GetTokenOptions = {},\n ): Promise<AuthenticationRecord | undefined> {\n return tracingClient.withSpan(\n `${this.constructor.name}.authenticate`,\n options,\n async (newOptions) => {\n const arrayScopes = ensureScopes(scopes);\n await this.msalClient.getTokenByInteractiveRequest(arrayScopes, {\n ...newOptions,\n disableAutomaticAuthentication: false, // this method should always allow user interaction\n browserCustomizationOptions: this.browserCustomizationOptions,\n loginHint: this.loginHint,\n });\n return this.msalClient.getActiveAccount();\n },\n );\n }\n}\n"]}
1
+ {"version":3,"file":"interactiveBrowserCredential.js","sourceRoot":"","sources":["../../../src/credentials/interactiveBrowserCredential.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport {\n InteractiveBrowserCredentialInBrowserOptions,\n InteractiveBrowserCredentialNodeOptions,\n} from \"./interactiveBrowserCredentialOptions\";\nimport {\n processMultiTenantRequest,\n resolveAdditionallyAllowedTenantIds,\n resolveTenantId,\n} from \"../util/tenantIdUtils\";\n\nimport { AuthenticationRecord } from \"../msal/types\";\nimport { credentialLogger } from \"../util/logging\";\nimport { ensureScopes } from \"../util/scopeUtils\";\nimport { tracingClient } from \"../util/tracing\";\nimport { MsalClient, MsalClientOptions, createMsalClient } from \"../msal/nodeFlows/msalClient\";\nimport { DeveloperSignOnClientId } from \"../constants\";\n\nconst logger = credentialLogger(\"InteractiveBrowserCredential\");\n\n/**\n * Enables authentication to Microsoft Entra ID inside of the web browser\n * using the interactive login flow.\n */\nexport class InteractiveBrowserCredential implements TokenCredential {\n private tenantId?: string;\n private additionallyAllowedTenantIds: string[];\n private msalClient: MsalClient;\n private disableAutomaticAuthentication?: boolean;\n private browserCustomizationOptions: InteractiveBrowserCredentialNodeOptions[\"browserCustomizationOptions\"];\n private loginHint?: string;\n\n /**\n * Creates an instance of InteractiveBrowserCredential with the details needed.\n *\n * This credential uses the [Authorization Code Flow](https://learn.microsoft.com/entra/identity-platform/v2-oauth2-auth-code-flow).\n * On Node.js, it will open a browser window while it listens for a redirect response from the authentication service.\n * On browsers, it authenticates via popups. The `loginStyle` optional parameter can be set to `redirect` to authenticate by redirecting the user to an Azure secure login page, which then will redirect the user back to the web application where the authentication started.\n *\n * For Node.js, if a `clientId` is provided, the Microsoft Entra application will need to be configured to have a \"Mobile and desktop applications\" redirect endpoint.\n * Follow our guide on [setting up Redirect URIs for Desktop apps that calls to web APIs](https://learn.microsoft.com/entra/identity-platform/scenario-desktop-app-registration#redirect-uris).\n *\n * @param options - Options for configuring the client which makes the authentication requests.\n */\n constructor(\n options: InteractiveBrowserCredentialNodeOptions | InteractiveBrowserCredentialInBrowserOptions,\n ) {\n this.tenantId = resolveTenantId(logger, options.tenantId, options.clientId);\n this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(\n options?.additionallyAllowedTenants,\n );\n\n const msalClientOptions: MsalClientOptions = {\n ...options,\n tokenCredentialOptions: options,\n logger,\n };\n const ibcNodeOptions = options as InteractiveBrowserCredentialNodeOptions;\n this.browserCustomizationOptions = ibcNodeOptions.browserCustomizationOptions;\n this.loginHint = ibcNodeOptions.loginHint;\n if (ibcNodeOptions?.brokerOptions?.enabled) {\n if (!ibcNodeOptions?.brokerOptions?.parentWindowHandle) {\n throw new Error(\n \"In order to do WAM authentication, `parentWindowHandle` under `brokerOptions` is a required parameter\",\n );\n } else {\n msalClientOptions.brokerOptions = {\n enabled: true,\n parentWindowHandle: ibcNodeOptions.brokerOptions.parentWindowHandle,\n legacyEnableMsaPassthrough: ibcNodeOptions.brokerOptions?.legacyEnableMsaPassthrough,\n useDefaultBrokerAccount: ibcNodeOptions.brokerOptions?.useDefaultBrokerAccount,\n };\n }\n }\n this.msalClient = createMsalClient(\n options.clientId ?? DeveloperSignOnClientId,\n this.tenantId,\n msalClientOptions,\n );\n this.disableAutomaticAuthentication = options?.disableAutomaticAuthentication;\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * If the user provided the option `disableAutomaticAuthentication`,\n * once the token can't be retrieved silently,\n * this method won't attempt to request user interaction to retrieve the token.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n async getToken(scopes: string | string[], options: GetTokenOptions = {}): Promise<AccessToken> {\n return tracingClient.withSpan(\n `${this.constructor.name}.getToken`,\n options,\n async (newOptions) => {\n newOptions.tenantId = processMultiTenantRequest(\n this.tenantId,\n newOptions,\n this.additionallyAllowedTenantIds,\n logger,\n );\n\n const arrayScopes = ensureScopes(scopes);\n return this.msalClient.getTokenByInteractiveRequest(arrayScopes, {\n ...newOptions,\n disableAutomaticAuthentication: this.disableAutomaticAuthentication,\n browserCustomizationOptions: this.browserCustomizationOptions,\n loginHint: this.loginHint,\n });\n },\n );\n }\n\n /**\n * Authenticates with Microsoft Entra ID and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * If the token can't be retrieved silently, this method will always generate a challenge for the user.\n *\n * On Node.js, this credential has [Proof Key for Code Exchange (PKCE)](https://datatracker.ietf.org/doc/html/rfc7636) enabled by default.\n * PKCE is a security feature that mitigates authentication code interception attacks.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure any requests this\n * TokenCredential implementation might make.\n */\n async authenticate(\n scopes: string | string[],\n options: GetTokenOptions = {},\n ): Promise<AuthenticationRecord | undefined> {\n return tracingClient.withSpan(\n `${this.constructor.name}.authenticate`,\n options,\n async (newOptions) => {\n const arrayScopes = ensureScopes(scopes);\n await this.msalClient.getTokenByInteractiveRequest(arrayScopes, {\n ...newOptions,\n disableAutomaticAuthentication: false, // this method should always allow user interaction\n browserCustomizationOptions: this.browserCustomizationOptions,\n loginHint: this.loginHint,\n });\n return this.msalClient.getActiveAccount();\n },\n );\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactiveBrowserCredentialOptions.js","sourceRoot":"","sources":["../../../src/credentials/interactiveBrowserCredentialOptions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { BrowserCustomizationOptions } from \"./browserCustomizationOptions\";\nimport { BrokerAuthOptions } from \"./brokerAuthOptions\";\nimport { CredentialPersistenceOptions } from \"./credentialPersistenceOptions\";\nimport { InteractiveCredentialOptions } from \"./interactiveCredentialOptions\";\n\n/**\n * (Browser-only feature)\n * The \"login style\" to use in the authentication flow:\n * - \"redirect\" redirects the user to the authentication page and then\n * redirects them back to the page once authentication is completed.\n * - \"popup\" opens a new browser window through with the redirect flow\n * is initiated. The user's existing browser window does not leave\n * the current page\n */\nexport type BrowserLoginStyle = \"redirect\" | \"popup\";\n\n/**\n * Defines the common options for the InteractiveBrowserCredential class.\n */\nexport interface InteractiveBrowserCredentialNodeOptions\n extends InteractiveCredentialOptions,\n CredentialPersistenceOptions,\n BrowserCustomizationOptions,\n BrokerAuthOptions {\n /**\n * Gets the redirect URI of the application. This should be same as the value\n * in the application registration portal. Defaults to `window.location.href`.\n * This field is no longer required for Node.js.\n */\n redirectUri?: string | (() => string);\n\n /**\n * The Microsoft Entra tenant (directory) ID.\n */\n tenantId?: string;\n\n /**\n * The Client ID of the Microsoft Entra application that users will sign into.\n * It is recommended that developers register their applications and assign appropriate roles.\n * For more information, visit https://aka.ms/identity/AppRegistrationAndRoleAssignment.\n * If not specified, users will authenticate to an Azure development application,\n * which is not recommended for production scenarios.\n */\n clientId?: string;\n\n /**\n * loginHint allows a user name to be pre-selected for interactive logins.\n * Setting this option skips the account selection prompt and immediately attempts to login with the specified account.\n */\n loginHint?: string;\n}\n\n/**\n * Defines the common options for the InteractiveBrowserCredential class.\n */\nexport interface InteractiveBrowserCredentialInBrowserOptions extends InteractiveCredentialOptions {\n /**\n * Gets the redirect URI of the application. This should be same as the value\n * in the application registration portal. Defaults to `window.location.href`.\n * This field is no longer required for Node.js.\n */\n redirectUri?: string | (() => string);\n\n /**\n * The Microsoft Entra tenant (directory) ID.\n */\n tenantId?: string;\n\n /**\n * The Client ID of the Microsoft Entra application that users will sign into.\n * This parameter is required on the browser.\n * Developers need to register their applications and assign appropriate roles.\n * For more information, visit https://aka.ms/identity/AppRegistrationAndRoleAssignment.\n */\n clientId: string;\n\n /**\n * Specifies whether a redirect or a popup window should be used to\n * initiate the user authentication flow. Possible values are \"redirect\"\n * or \"popup\" (default) for browser and \"popup\" (default) for node.\n *\n */\n loginStyle?: BrowserLoginStyle;\n\n /**\n * loginHint allows a user name to be pre-selected for interactive logins.\n * Setting this option skips the account selection prompt and immediately attempts to login with the specified account.\n */\n loginHint?: string;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactiveCredentialOptions.js","sourceRoot":"","sources":["../../../src/credentials/interactiveCredentialOptions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AuthenticationRecord } from \"../msal/types\";\nimport { AuthorityValidationOptions } from \"./authorityValidationOptions\";\nimport { MultiTenantTokenCredentialOptions } from \"./multiTenantTokenCredentialOptions\";\n\n/**\n * Common constructor options for the Identity credentials that requires user interaction.\n */\nexport interface InteractiveCredentialOptions\n extends MultiTenantTokenCredentialOptions,\n AuthorityValidationOptions {\n /**\n * Result of a previous authentication that can be used to retrieve the cached credentials of each individual account.\n * This is necessary to provide in case the application wants to work with more than one account per\n * Client ID and Tenant ID pair.\n *\n * This record can be retrieved by calling to the credential's `authenticate()` method, as follows:\n *\n * const authenticationRecord = await credential.authenticate();\n *\n */\n authenticationRecord?: AuthenticationRecord;\n\n /**\n * Makes getToken throw if a manual authentication is necessary.\n * Developers will need to call to `authenticate()` to control when to manually authenticate.\n */\n disableAutomaticAuthentication?: boolean;\n}\n"]}
@@ -0,0 +1,71 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { createHttpHeaders, createPipelineRequest, } from "@azure/core-rest-pipeline";
4
+ import { credentialLogger } from "../../util/logging";
5
+ import { mapScopesToResource } from "./utils";
6
+ const msiName = "ManagedIdentityCredential - AppServiceMSI 2017";
7
+ const logger = credentialLogger(msiName);
8
+ /**
9
+ * Generates the options used on the request for an access token.
10
+ */
11
+ function prepareRequestOptions(scopes, clientId) {
12
+ const resource = mapScopesToResource(scopes);
13
+ if (!resource) {
14
+ throw new Error(`${msiName}: Multiple scopes are not supported.`);
15
+ }
16
+ const queryParameters = {
17
+ resource,
18
+ "api-version": "2017-09-01",
19
+ };
20
+ if (clientId) {
21
+ queryParameters.clientid = clientId;
22
+ }
23
+ const query = new URLSearchParams(queryParameters);
24
+ // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below.
25
+ if (!process.env.MSI_ENDPOINT) {
26
+ throw new Error(`${msiName}: Missing environment variable: MSI_ENDPOINT`);
27
+ }
28
+ if (!process.env.MSI_SECRET) {
29
+ throw new Error(`${msiName}: Missing environment variable: MSI_SECRET`);
30
+ }
31
+ return {
32
+ url: `${process.env.MSI_ENDPOINT}?${query.toString()}`,
33
+ method: "GET",
34
+ headers: createHttpHeaders({
35
+ Accept: "application/json",
36
+ secret: process.env.MSI_SECRET,
37
+ }),
38
+ };
39
+ }
40
+ /**
41
+ * Defines how to determine whether the Azure App Service MSI is available, and also how to retrieve a token from the Azure App Service MSI.
42
+ */
43
+ export const appServiceMsi2017 = {
44
+ name: "appServiceMsi2017",
45
+ async isAvailable({ scopes }) {
46
+ const resource = mapScopesToResource(scopes);
47
+ if (!resource) {
48
+ logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);
49
+ return false;
50
+ }
51
+ const env = process.env;
52
+ const result = Boolean(env.MSI_ENDPOINT && env.MSI_SECRET);
53
+ if (!result) {
54
+ logger.info(`${msiName}: Unavailable. The environment variables needed are: MSI_ENDPOINT and MSI_SECRET.`);
55
+ }
56
+ return result;
57
+ },
58
+ async getToken(configuration, getTokenOptions = {}) {
59
+ const { identityClient, scopes, clientId, resourceId } = configuration;
60
+ if (resourceId) {
61
+ logger.warning(`${msiName}: managed Identity by resource Id is not supported. Argument resourceId might be ignored by the service.`);
62
+ }
63
+ logger.info(`${msiName}: Using the endpoint and the secret coming form the environment variables: MSI_ENDPOINT=${process.env.MSI_ENDPOINT} and MSI_SECRET=[REDACTED].`);
64
+ const request = createPipelineRequest(Object.assign(Object.assign({ abortSignal: getTokenOptions.abortSignal }, prepareRequestOptions(scopes, clientId)), {
65
+ // Generally, MSI endpoints use the HTTP protocol, without transport layer security (TLS).
66
+ allowInsecureConnection: true }));
67
+ const tokenResponse = await identityClient.sendTokenRequest(request);
68
+ return (tokenResponse && tokenResponse.accessToken) || null;
69
+ },
70
+ };
71
+ //# sourceMappingURL=appServiceMsi2017.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appServiceMsi2017.js","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/appServiceMsi2017.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n PipelineRequestOptions,\n createHttpHeaders,\n createPipelineRequest,\n} from \"@azure/core-rest-pipeline\";\nimport { GetTokenOptions } from \"@azure/core-auth\";\nimport { credentialLogger } from \"../../util/logging\";\nimport { MSI, MSIConfiguration, MSIToken } from \"./models\";\nimport { mapScopesToResource } from \"./utils\";\n\nconst msiName = \"ManagedIdentityCredential - AppServiceMSI 2017\";\nconst logger = credentialLogger(msiName);\n\n/**\n * Generates the options used on the request for an access token.\n */\nfunction prepareRequestOptions(\n scopes: string | string[],\n clientId?: string,\n): PipelineRequestOptions {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n throw new Error(`${msiName}: Multiple scopes are not supported.`);\n }\n\n const queryParameters: Record<string, string> = {\n resource,\n \"api-version\": \"2017-09-01\",\n };\n\n if (clientId) {\n queryParameters.clientid = clientId;\n }\n\n const query = new URLSearchParams(queryParameters);\n\n // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below.\n if (!process.env.MSI_ENDPOINT) {\n throw new Error(`${msiName}: Missing environment variable: MSI_ENDPOINT`);\n }\n if (!process.env.MSI_SECRET) {\n throw new Error(`${msiName}: Missing environment variable: MSI_SECRET`);\n }\n\n return {\n url: `${process.env.MSI_ENDPOINT}?${query.toString()}`,\n method: \"GET\",\n headers: createHttpHeaders({\n Accept: \"application/json\",\n secret: process.env.MSI_SECRET,\n }),\n };\n}\n\n/**\n * Defines how to determine whether the Azure App Service MSI is available, and also how to retrieve a token from the Azure App Service MSI.\n */\nexport const appServiceMsi2017: MSI = {\n name: \"appServiceMsi2017\",\n async isAvailable({ scopes }): Promise<boolean> {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);\n return false;\n }\n const env = process.env;\n const result = Boolean(env.MSI_ENDPOINT && env.MSI_SECRET);\n if (!result) {\n logger.info(\n `${msiName}: Unavailable. The environment variables needed are: MSI_ENDPOINT and MSI_SECRET.`,\n );\n }\n return result;\n },\n async getToken(\n configuration: MSIConfiguration,\n getTokenOptions: GetTokenOptions = {},\n ): Promise<MSIToken | null> {\n const { identityClient, scopes, clientId, resourceId } = configuration;\n\n if (resourceId) {\n logger.warning(\n `${msiName}: managed Identity by resource Id is not supported. Argument resourceId might be ignored by the service.`,\n );\n }\n\n logger.info(\n `${msiName}: Using the endpoint and the secret coming form the environment variables: MSI_ENDPOINT=${process.env.MSI_ENDPOINT} and MSI_SECRET=[REDACTED].`,\n );\n\n const request = createPipelineRequest({\n abortSignal: getTokenOptions.abortSignal,\n ...prepareRequestOptions(scopes, clientId),\n // Generally, MSI endpoints use the HTTP protocol, without transport layer security (TLS).\n allowInsecureConnection: true,\n });\n const tokenResponse = await identityClient.sendTokenRequest(request);\n return (tokenResponse && tokenResponse.accessToken) || null;\n },\n};\n"]}
@@ -0,0 +1,71 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { createHttpHeaders, createPipelineRequest, } from "@azure/core-rest-pipeline";
4
+ import { credentialLogger } from "../../util/logging";
5
+ import { mapScopesToResource } from "./utils";
6
+ const msiName = "ManagedIdentityCredential - AppServiceMSI 2019";
7
+ const logger = credentialLogger(msiName);
8
+ /**
9
+ * Generates the options used on the request for an access token.
10
+ */
11
+ function prepareRequestOptions(scopes, clientId, resourceId) {
12
+ const resource = mapScopesToResource(scopes);
13
+ if (!resource) {
14
+ throw new Error(`${msiName}: Multiple scopes are not supported.`);
15
+ }
16
+ const queryParameters = {
17
+ resource,
18
+ "api-version": "2019-08-01",
19
+ };
20
+ if (clientId) {
21
+ queryParameters.client_id = clientId;
22
+ }
23
+ if (resourceId) {
24
+ queryParameters.mi_res_id = resourceId;
25
+ }
26
+ const query = new URLSearchParams(queryParameters);
27
+ // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below.
28
+ if (!process.env.IDENTITY_ENDPOINT) {
29
+ throw new Error(`${msiName}: Missing environment variable: IDENTITY_ENDPOINT`);
30
+ }
31
+ if (!process.env.IDENTITY_HEADER) {
32
+ throw new Error(`${msiName}: Missing environment variable: IDENTITY_HEADER`);
33
+ }
34
+ return {
35
+ url: `${process.env.IDENTITY_ENDPOINT}?${query.toString()}`,
36
+ method: "GET",
37
+ headers: createHttpHeaders({
38
+ Accept: "application/json",
39
+ "X-IDENTITY-HEADER": process.env.IDENTITY_HEADER,
40
+ }),
41
+ };
42
+ }
43
+ /**
44
+ * Defines how to determine whether the Azure App Service MSI is available, and also how to retrieve a token from the Azure App Service MSI.
45
+ */
46
+ export const appServiceMsi2019 = {
47
+ name: "appServiceMsi2019",
48
+ async isAvailable({ scopes }) {
49
+ const resource = mapScopesToResource(scopes);
50
+ if (!resource) {
51
+ logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);
52
+ return false;
53
+ }
54
+ const env = process.env;
55
+ const result = Boolean(env.IDENTITY_ENDPOINT && env.IDENTITY_HEADER);
56
+ if (!result) {
57
+ logger.info(`${msiName}: Unavailable. The environment variables needed are: IDENTITY_ENDPOINT and IDENTITY_HEADER.`);
58
+ }
59
+ return result;
60
+ },
61
+ async getToken(configuration, getTokenOptions = {}) {
62
+ const { identityClient, scopes, clientId, resourceId } = configuration;
63
+ logger.info(`${msiName}: Using the endpoint and the secret coming form the environment variables: IDENTITY_ENDPOINT=${process.env.IDENTITY_ENDPOINT} and IDENTITY_HEADER=[REDACTED].`);
64
+ const request = createPipelineRequest(Object.assign(Object.assign({ abortSignal: getTokenOptions.abortSignal }, prepareRequestOptions(scopes, clientId, resourceId)), {
65
+ // Generally, MSI endpoints use the HTTP protocol, without transport layer security (TLS).
66
+ allowInsecureConnection: true }));
67
+ const tokenResponse = await identityClient.sendTokenRequest(request);
68
+ return (tokenResponse && tokenResponse.accessToken) || null;
69
+ },
70
+ };
71
+ //# sourceMappingURL=appServiceMsi2019.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appServiceMsi2019.js","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/appServiceMsi2019.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n PipelineRequestOptions,\n createHttpHeaders,\n createPipelineRequest,\n} from \"@azure/core-rest-pipeline\";\nimport { GetTokenOptions } from \"@azure/core-auth\";\nimport { credentialLogger } from \"../../util/logging\";\nimport { MSI, MSIConfiguration, MSIToken } from \"./models\";\nimport { mapScopesToResource } from \"./utils\";\n\nconst msiName = \"ManagedIdentityCredential - AppServiceMSI 2019\";\nconst logger = credentialLogger(msiName);\n\n/**\n * Generates the options used on the request for an access token.\n */\nfunction prepareRequestOptions(\n scopes: string | string[],\n clientId?: string,\n resourceId?: string,\n): PipelineRequestOptions {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n throw new Error(`${msiName}: Multiple scopes are not supported.`);\n }\n\n const queryParameters: Record<string, string> = {\n resource,\n \"api-version\": \"2019-08-01\",\n };\n\n if (clientId) {\n queryParameters.client_id = clientId;\n }\n\n if (resourceId) {\n queryParameters.mi_res_id = resourceId;\n }\n const query = new URLSearchParams(queryParameters);\n\n // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below.\n if (!process.env.IDENTITY_ENDPOINT) {\n throw new Error(`${msiName}: Missing environment variable: IDENTITY_ENDPOINT`);\n }\n if (!process.env.IDENTITY_HEADER) {\n throw new Error(`${msiName}: Missing environment variable: IDENTITY_HEADER`);\n }\n\n return {\n url: `${process.env.IDENTITY_ENDPOINT}?${query.toString()}`,\n method: \"GET\",\n headers: createHttpHeaders({\n Accept: \"application/json\",\n \"X-IDENTITY-HEADER\": process.env.IDENTITY_HEADER,\n }),\n };\n}\n\n/**\n * Defines how to determine whether the Azure App Service MSI is available, and also how to retrieve a token from the Azure App Service MSI.\n */\nexport const appServiceMsi2019: MSI = {\n name: \"appServiceMsi2019\",\n async isAvailable({ scopes }): Promise<boolean> {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);\n return false;\n }\n const env = process.env;\n const result = Boolean(env.IDENTITY_ENDPOINT && env.IDENTITY_HEADER);\n if (!result) {\n logger.info(\n `${msiName}: Unavailable. The environment variables needed are: IDENTITY_ENDPOINT and IDENTITY_HEADER.`,\n );\n }\n return result;\n },\n async getToken(\n configuration: MSIConfiguration,\n getTokenOptions: GetTokenOptions = {},\n ): Promise<MSIToken | null> {\n const { identityClient, scopes, clientId, resourceId } = configuration;\n\n logger.info(\n `${msiName}: Using the endpoint and the secret coming form the environment variables: IDENTITY_ENDPOINT=${process.env.IDENTITY_ENDPOINT} and IDENTITY_HEADER=[REDACTED].`,\n );\n\n const request = createPipelineRequest({\n abortSignal: getTokenOptions.abortSignal,\n ...prepareRequestOptions(scopes, clientId, resourceId),\n // Generally, MSI endpoints use the HTTP protocol, without transport layer security (TLS).\n allowInsecureConnection: true,\n });\n const tokenResponse = await identityClient.sendTokenRequest(request);\n return (tokenResponse && tokenResponse.accessToken) || null;\n },\n};\n"]}
@@ -0,0 +1,140 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { createHttpHeaders, createPipelineRequest, } from "@azure/core-rest-pipeline";
4
+ import { AuthenticationError } from "../../errors";
5
+ import { azureArcAPIVersion } from "./constants";
6
+ import { credentialLogger } from "../../util/logging";
7
+ import fs from "node:fs";
8
+ import { mapScopesToResource } from "./utils";
9
+ const msiName = "ManagedIdentityCredential - Azure Arc MSI";
10
+ const logger = credentialLogger(msiName);
11
+ /**
12
+ * Generates the options used on the request for an access token.
13
+ */
14
+ function prepareRequestOptions(scopes, clientId, resourceId) {
15
+ const resource = mapScopesToResource(scopes);
16
+ if (!resource) {
17
+ throw new Error(`${msiName}: Multiple scopes are not supported.`);
18
+ }
19
+ const queryParameters = {
20
+ resource,
21
+ "api-version": azureArcAPIVersion,
22
+ };
23
+ if (clientId) {
24
+ queryParameters.client_id = clientId;
25
+ }
26
+ if (resourceId) {
27
+ queryParameters.msi_res_id = resourceId;
28
+ }
29
+ // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below.
30
+ if (!process.env.IDENTITY_ENDPOINT) {
31
+ throw new Error(`${msiName}: Missing environment variable: IDENTITY_ENDPOINT`);
32
+ }
33
+ const query = new URLSearchParams(queryParameters);
34
+ return createPipelineRequest({
35
+ // Should be similar to: http://localhost:40342/metadata/identity/oauth2/token
36
+ url: `${process.env.IDENTITY_ENDPOINT}?${query.toString()}`,
37
+ method: "GET",
38
+ headers: createHttpHeaders({
39
+ Accept: "application/json",
40
+ Metadata: "true",
41
+ }),
42
+ });
43
+ }
44
+ /**
45
+ * Does a request to the authentication provider that results in a file path.
46
+ */
47
+ async function filePathRequest(identityClient, requestPrepareOptions) {
48
+ const response = await identityClient.sendRequest(createPipelineRequest(requestPrepareOptions));
49
+ if (response.status !== 401) {
50
+ let message = "";
51
+ if (response.bodyAsText) {
52
+ message = ` Response: ${response.bodyAsText}`;
53
+ }
54
+ throw new AuthenticationError(response.status, `${msiName}: To authenticate with Azure Arc MSI, status code 401 is expected on the first request. ${message}`);
55
+ }
56
+ const authHeader = response.headers.get("www-authenticate") || "";
57
+ try {
58
+ return authHeader.split("=").slice(1)[0];
59
+ }
60
+ catch (e) {
61
+ throw Error(`Invalid www-authenticate header format: ${authHeader}`);
62
+ }
63
+ }
64
+ export function platformToFilePath() {
65
+ switch (process.platform) {
66
+ case "win32":
67
+ if (!process.env.PROGRAMDATA) {
68
+ throw new Error(`${msiName}: PROGRAMDATA environment variable has no value.`);
69
+ }
70
+ return `${process.env.PROGRAMDATA}\\AzureConnectedMachineAgent\\Tokens`;
71
+ case "linux":
72
+ return "/var/opt/azcmagent/tokens";
73
+ default:
74
+ throw new Error(`${msiName}: Unsupported platform ${process.platform}.`);
75
+ }
76
+ }
77
+ /**
78
+ * Validates that a given Azure Arc MSI file path is valid for use.
79
+ *
80
+ * A valid file will:
81
+ * 1. Be in the expected path for the current platform.
82
+ * 2. Have a `.key` extension.
83
+ * 3. Be at most 4096 bytes in size.
84
+ */
85
+ export function validateKeyFile(filePath) {
86
+ if (!filePath) {
87
+ throw new Error(`${msiName}: Failed to find the token file.`);
88
+ }
89
+ if (!filePath.endsWith(".key")) {
90
+ throw new Error(`${msiName}: unexpected file path from HIMDS service: ${filePath}.`);
91
+ }
92
+ const expectedPath = platformToFilePath();
93
+ if (!filePath.startsWith(expectedPath)) {
94
+ throw new Error(`${msiName}: unexpected file path from HIMDS service: ${filePath}.`);
95
+ }
96
+ const stats = fs.statSync(filePath);
97
+ if (stats.size > 4096) {
98
+ throw new Error(`${msiName}: The file at ${filePath} is larger than expected at ${stats.size} bytes.`);
99
+ }
100
+ }
101
+ /**
102
+ * Defines how to determine whether the Azure Arc MSI is available, and also how to retrieve a token from the Azure Arc MSI.
103
+ */
104
+ export const arcMsi = {
105
+ name: "arc",
106
+ async isAvailable({ scopes }) {
107
+ const resource = mapScopesToResource(scopes);
108
+ if (!resource) {
109
+ logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);
110
+ return false;
111
+ }
112
+ const result = Boolean(process.env.IMDS_ENDPOINT && process.env.IDENTITY_ENDPOINT);
113
+ if (!result) {
114
+ logger.info(`${msiName}: The environment variables needed are: IMDS_ENDPOINT and IDENTITY_ENDPOINT`);
115
+ }
116
+ return result;
117
+ },
118
+ async getToken(configuration, getTokenOptions = {}) {
119
+ var _a;
120
+ const { identityClient, scopes, clientId, resourceId } = configuration;
121
+ if (clientId) {
122
+ logger.warning(`${msiName}: user-assigned identities not supported. The argument clientId might be ignored by the service.`);
123
+ }
124
+ if (resourceId) {
125
+ logger.warning(`${msiName}: user defined managed Identity by resource Id is not supported. Argument resourceId will be ignored.`);
126
+ }
127
+ logger.info(`${msiName}: Authenticating.`);
128
+ const requestOptions = Object.assign(Object.assign({ disableJsonStringifyOnBody: true, deserializationMapper: undefined, abortSignal: getTokenOptions.abortSignal }, prepareRequestOptions(scopes, clientId, resourceId)), { allowInsecureConnection: true });
129
+ const filePath = await filePathRequest(identityClient, requestOptions);
130
+ validateKeyFile(filePath);
131
+ const key = await fs.promises.readFile(filePath, { encoding: "utf-8" });
132
+ (_a = requestOptions.headers) === null || _a === void 0 ? void 0 : _a.set("Authorization", `Basic ${key}`);
133
+ const request = createPipelineRequest(Object.assign(Object.assign({}, requestOptions), {
134
+ // Generally, MSI endpoints use the HTTP protocol, without transport layer security (TLS).
135
+ allowInsecureConnection: true }));
136
+ const tokenResponse = await identityClient.sendTokenRequest(request);
137
+ return (tokenResponse && tokenResponse.accessToken) || null;
138
+ },
139
+ };
140
+ //# sourceMappingURL=arcMsi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arcMsi.js","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/arcMsi.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MSI, MSIConfiguration, MSIToken } from \"./models\";\nimport {\n PipelineRequestOptions,\n createHttpHeaders,\n createPipelineRequest,\n} from \"@azure/core-rest-pipeline\";\n\nimport { AuthenticationError } from \"../../errors\";\nimport { GetTokenOptions } from \"@azure/core-auth\";\nimport { IdentityClient } from \"../../client/identityClient\";\nimport { azureArcAPIVersion } from \"./constants\";\nimport { credentialLogger } from \"../../util/logging\";\nimport fs from \"node:fs\";\nimport { mapScopesToResource } from \"./utils\";\n\nconst msiName = \"ManagedIdentityCredential - Azure Arc MSI\";\nconst logger = credentialLogger(msiName);\n\n/**\n * Generates the options used on the request for an access token.\n */\nfunction prepareRequestOptions(\n scopes: string | string[],\n clientId?: string,\n resourceId?: string,\n): PipelineRequestOptions {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n throw new Error(`${msiName}: Multiple scopes are not supported.`);\n }\n const queryParameters: Record<string, string> = {\n resource,\n \"api-version\": azureArcAPIVersion,\n };\n\n if (clientId) {\n queryParameters.client_id = clientId;\n }\n if (resourceId) {\n queryParameters.msi_res_id = resourceId;\n }\n\n // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below.\n if (!process.env.IDENTITY_ENDPOINT) {\n throw new Error(`${msiName}: Missing environment variable: IDENTITY_ENDPOINT`);\n }\n\n const query = new URLSearchParams(queryParameters);\n\n return createPipelineRequest({\n // Should be similar to: http://localhost:40342/metadata/identity/oauth2/token\n url: `${process.env.IDENTITY_ENDPOINT}?${query.toString()}`,\n method: \"GET\",\n headers: createHttpHeaders({\n Accept: \"application/json\",\n Metadata: \"true\",\n }),\n });\n}\n\n/**\n * Does a request to the authentication provider that results in a file path.\n */\nasync function filePathRequest(\n identityClient: IdentityClient,\n requestPrepareOptions: PipelineRequestOptions,\n): Promise<string | undefined> {\n const response = await identityClient.sendRequest(createPipelineRequest(requestPrepareOptions));\n\n if (response.status !== 401) {\n let message = \"\";\n if (response.bodyAsText) {\n message = ` Response: ${response.bodyAsText}`;\n }\n throw new AuthenticationError(\n response.status,\n `${msiName}: To authenticate with Azure Arc MSI, status code 401 is expected on the first request. ${message}`,\n );\n }\n\n const authHeader = response.headers.get(\"www-authenticate\") || \"\";\n try {\n return authHeader.split(\"=\").slice(1)[0];\n } catch (e: any) {\n throw Error(`Invalid www-authenticate header format: ${authHeader}`);\n }\n}\n\nexport function platformToFilePath(): string {\n switch (process.platform) {\n case \"win32\":\n if (!process.env.PROGRAMDATA) {\n throw new Error(`${msiName}: PROGRAMDATA environment variable has no value.`);\n }\n return `${process.env.PROGRAMDATA}\\\\AzureConnectedMachineAgent\\\\Tokens`;\n case \"linux\":\n return \"/var/opt/azcmagent/tokens\";\n default:\n throw new Error(`${msiName}: Unsupported platform ${process.platform}.`);\n }\n}\n\n/**\n * Validates that a given Azure Arc MSI file path is valid for use.\n *\n * A valid file will:\n * 1. Be in the expected path for the current platform.\n * 2. Have a `.key` extension.\n * 3. Be at most 4096 bytes in size.\n */\nexport function validateKeyFile(filePath?: string): asserts filePath is string {\n if (!filePath) {\n throw new Error(`${msiName}: Failed to find the token file.`);\n }\n\n if (!filePath.endsWith(\".key\")) {\n throw new Error(`${msiName}: unexpected file path from HIMDS service: ${filePath}.`);\n }\n\n const expectedPath = platformToFilePath();\n if (!filePath.startsWith(expectedPath)) {\n throw new Error(`${msiName}: unexpected file path from HIMDS service: ${filePath}.`);\n }\n\n const stats = fs.statSync(filePath);\n if (stats.size > 4096) {\n throw new Error(\n `${msiName}: The file at ${filePath} is larger than expected at ${stats.size} bytes.`,\n );\n }\n}\n\n/**\n * Defines how to determine whether the Azure Arc MSI is available, and also how to retrieve a token from the Azure Arc MSI.\n */\nexport const arcMsi: MSI = {\n name: \"arc\",\n async isAvailable({ scopes }): Promise<boolean> {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);\n return false;\n }\n const result = Boolean(process.env.IMDS_ENDPOINT && process.env.IDENTITY_ENDPOINT);\n if (!result) {\n logger.info(\n `${msiName}: The environment variables needed are: IMDS_ENDPOINT and IDENTITY_ENDPOINT`,\n );\n }\n return result;\n },\n async getToken(\n configuration: MSIConfiguration,\n getTokenOptions: GetTokenOptions = {},\n ): Promise<MSIToken | null> {\n const { identityClient, scopes, clientId, resourceId } = configuration;\n\n if (clientId) {\n logger.warning(\n `${msiName}: user-assigned identities not supported. The argument clientId might be ignored by the service.`,\n );\n }\n if (resourceId) {\n logger.warning(\n `${msiName}: user defined managed Identity by resource Id is not supported. Argument resourceId will be ignored.`,\n );\n }\n\n logger.info(`${msiName}: Authenticating.`);\n\n const requestOptions = {\n disableJsonStringifyOnBody: true,\n deserializationMapper: undefined,\n abortSignal: getTokenOptions.abortSignal,\n ...prepareRequestOptions(scopes, clientId, resourceId),\n allowInsecureConnection: true,\n };\n\n const filePath = await filePathRequest(identityClient, requestOptions);\n validateKeyFile(filePath);\n\n const key = await fs.promises.readFile(filePath, { encoding: \"utf-8\" });\n requestOptions.headers?.set(\"Authorization\", `Basic ${key}`);\n\n const request = createPipelineRequest({\n ...requestOptions,\n // Generally, MSI endpoints use the HTTP protocol, without transport layer security (TLS).\n allowInsecureConnection: true,\n });\n const tokenResponse = await identityClient.sendTokenRequest(request);\n return (tokenResponse && tokenResponse.accessToken) || null;\n },\n};\n"]}
@@ -0,0 +1,75 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { createHttpHeaders, createPipelineRequest, } from "@azure/core-rest-pipeline";
4
+ import { credentialLogger } from "../../util/logging";
5
+ import { mapScopesToResource } from "./utils";
6
+ const msiName = "ManagedIdentityCredential - CloudShellMSI";
7
+ export const logger = credentialLogger(msiName);
8
+ /**
9
+ * Generates the options used on the request for an access token.
10
+ */
11
+ function prepareRequestOptions(scopes, clientId, resourceId) {
12
+ const resource = mapScopesToResource(scopes);
13
+ if (!resource) {
14
+ throw new Error(`${msiName}: Multiple scopes are not supported.`);
15
+ }
16
+ const body = {
17
+ resource,
18
+ };
19
+ if (clientId) {
20
+ body.client_id = clientId;
21
+ }
22
+ if (resourceId) {
23
+ body.msi_res_id = resourceId;
24
+ }
25
+ // This error should not bubble up, since we verify that this environment variable is defined in the isAvailable() method defined below.
26
+ if (!process.env.MSI_ENDPOINT) {
27
+ throw new Error(`${msiName}: Missing environment variable: MSI_ENDPOINT`);
28
+ }
29
+ const params = new URLSearchParams(body);
30
+ return {
31
+ url: process.env.MSI_ENDPOINT,
32
+ method: "POST",
33
+ body: params.toString(),
34
+ headers: createHttpHeaders({
35
+ Accept: "application/json",
36
+ Metadata: "true",
37
+ "Content-Type": "application/x-www-form-urlencoded",
38
+ }),
39
+ };
40
+ }
41
+ /**
42
+ * Defines how to determine whether the Azure Cloud Shell MSI is available, and also how to retrieve a token from the Azure Cloud Shell MSI.
43
+ * Since Azure Managed Identities aren't available in the Azure Cloud Shell, we log a warning for users that try to access cloud shell using user assigned identity.
44
+ */
45
+ export const cloudShellMsi = {
46
+ name: "cloudShellMsi",
47
+ async isAvailable({ scopes }) {
48
+ const resource = mapScopesToResource(scopes);
49
+ if (!resource) {
50
+ logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);
51
+ return false;
52
+ }
53
+ const result = Boolean(process.env.MSI_ENDPOINT);
54
+ if (!result) {
55
+ logger.info(`${msiName}: Unavailable. The environment variable MSI_ENDPOINT is needed.`);
56
+ }
57
+ return result;
58
+ },
59
+ async getToken(configuration, getTokenOptions = {}) {
60
+ const { identityClient, scopes, clientId, resourceId } = configuration;
61
+ if (clientId) {
62
+ logger.warning(`${msiName}: user-assigned identities not supported. The argument clientId might be ignored by the service.`);
63
+ }
64
+ if (resourceId) {
65
+ logger.warning(`${msiName}: user defined managed Identity by resource Id not supported. The argument resourceId might be ignored by the service.`);
66
+ }
67
+ logger.info(`${msiName}: Using the endpoint coming form the environment variable MSI_ENDPOINT = ${process.env.MSI_ENDPOINT}.`);
68
+ const request = createPipelineRequest(Object.assign(Object.assign({ abortSignal: getTokenOptions.abortSignal }, prepareRequestOptions(scopes, clientId, resourceId)), {
69
+ // Generally, MSI endpoints use the HTTP protocol, without transport layer security (TLS).
70
+ allowInsecureConnection: true }));
71
+ const tokenResponse = await identityClient.sendTokenRequest(request);
72
+ return (tokenResponse && tokenResponse.accessToken) || null;
73
+ },
74
+ };
75
+ //# sourceMappingURL=cloudShellMsi.js.map