@azure/identity 4.14.0-beta.1 → 4.14.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/README.md +4 -40
  2. package/dist/browser/client/identityClient.d.ts +5 -4
  3. package/dist/browser/client/identityClient.d.ts.map +1 -1
  4. package/dist/browser/client/identityClient.js +56 -18
  5. package/dist/browser/client/identityClient.js.map +1 -1
  6. package/dist/browser/constants.d.ts +1 -1
  7. package/dist/browser/constants.js +1 -1
  8. package/dist/browser/constants.js.map +1 -1
  9. package/dist/browser/credentials/authorizationCodeCredential.d.ts +3 -3
  10. package/dist/browser/credentials/authorizationCodeCredential.d.ts.map +1 -0
  11. package/dist/browser/credentials/authorizationCodeCredential.js +2 -2
  12. package/dist/browser/credentials/authorizationCodeCredential.js.map +1 -0
  13. package/dist/browser/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
  14. package/dist/browser/credentials/authorizationCodeCredentialOptions.js.map +1 -1
  15. package/dist/browser/credentials/azureCliCredential.d.ts +5 -4
  16. package/dist/browser/credentials/azureCliCredential.d.ts.map +1 -0
  17. package/dist/browser/credentials/azureCliCredential.js +3 -3
  18. package/dist/browser/credentials/azureCliCredential.js.map +1 -0
  19. package/dist/browser/credentials/azureDeveloperCliCredential.d.ts +5 -4
  20. package/dist/browser/credentials/azureDeveloperCliCredential.d.ts.map +1 -0
  21. package/dist/browser/credentials/azureDeveloperCliCredential.js +3 -3
  22. package/dist/browser/credentials/azureDeveloperCliCredential.js.map +1 -0
  23. package/dist/browser/credentials/azurePipelinesCredential.d.ts +5 -4
  24. package/dist/browser/credentials/azurePipelinesCredential.d.ts.map +1 -0
  25. package/dist/browser/credentials/azurePipelinesCredential.js +3 -3
  26. package/dist/browser/credentials/azurePipelinesCredential.js.map +1 -0
  27. package/dist/browser/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
  28. package/dist/browser/credentials/azurePipelinesCredentialOptions.js.map +1 -1
  29. package/dist/browser/credentials/azurePowerShellCredential.d.ts +5 -4
  30. package/dist/browser/credentials/azurePowerShellCredential.d.ts.map +1 -0
  31. package/dist/browser/credentials/azurePowerShellCredential.js +3 -3
  32. package/dist/browser/credentials/azurePowerShellCredential.js.map +1 -0
  33. package/dist/browser/credentials/brokerCredential.d.ts +2 -2
  34. package/dist/browser/credentials/brokerCredential.d.ts.map +1 -1
  35. package/dist/browser/credentials/brokerCredential.js +0 -1
  36. package/dist/browser/credentials/brokerCredential.js.map +1 -1
  37. package/dist/browser/credentials/clientAssertionCredential.d.ts +5 -4
  38. package/dist/browser/credentials/clientAssertionCredential.d.ts.map +1 -0
  39. package/dist/browser/credentials/clientAssertionCredential.js +3 -3
  40. package/dist/browser/credentials/clientAssertionCredential.js.map +1 -0
  41. package/dist/browser/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
  42. package/dist/browser/credentials/clientAssertionCredentialOptions.js.map +1 -1
  43. package/dist/browser/credentials/clientCertificateCredential.d.ts +6 -4
  44. package/dist/browser/credentials/clientCertificateCredential.d.ts.map +1 -0
  45. package/dist/browser/credentials/clientCertificateCredential.js +3 -3
  46. package/dist/browser/credentials/clientCertificateCredential.js.map +1 -0
  47. package/dist/browser/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
  48. package/dist/browser/credentials/clientCertificateCredentialOptions.js.map +1 -1
  49. package/dist/browser/credentials/clientSecretCredential.d.ts +1 -1
  50. package/dist/browser/credentials/clientSecretCredential.d.ts.map +1 -0
  51. package/dist/browser/credentials/clientSecretCredential.js +1 -1
  52. package/dist/browser/credentials/clientSecretCredential.js.map +1 -0
  53. package/dist/browser/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
  54. package/dist/browser/credentials/clientSecretCredentialOptions.js.map +1 -1
  55. package/dist/browser/credentials/defaultAzureCredential.d.ts +3 -3
  56. package/dist/browser/credentials/defaultAzureCredential.d.ts.map +1 -0
  57. package/dist/browser/credentials/defaultAzureCredential.js +2 -2
  58. package/dist/browser/credentials/defaultAzureCredential.js.map +1 -0
  59. package/dist/browser/credentials/defaultAzureCredentialOptions.d.ts +2 -2
  60. package/dist/browser/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
  61. package/dist/browser/credentials/defaultAzureCredentialOptions.js.map +1 -1
  62. package/dist/browser/credentials/deviceCodeCredential.d.ts +5 -4
  63. package/dist/browser/credentials/deviceCodeCredential.d.ts.map +1 -0
  64. package/dist/browser/credentials/deviceCodeCredential.js +3 -3
  65. package/dist/browser/credentials/deviceCodeCredential.js.map +1 -0
  66. package/dist/browser/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
  67. package/dist/browser/credentials/deviceCodeCredentialOptions.js.map +1 -1
  68. package/dist/browser/credentials/environmentCredential.d.ts +5 -4
  69. package/dist/browser/credentials/environmentCredential.d.ts.map +1 -0
  70. package/dist/browser/credentials/environmentCredential.js +3 -3
  71. package/dist/browser/credentials/environmentCredential.js.map +1 -0
  72. package/dist/browser/credentials/environmentCredentialOptions.d.ts.map +1 -1
  73. package/dist/browser/credentials/environmentCredentialOptions.js.map +1 -1
  74. package/dist/browser/credentials/interactiveBrowserCredential.d.ts +1 -1
  75. package/dist/browser/credentials/interactiveBrowserCredential.d.ts.map +1 -0
  76. package/dist/browser/credentials/interactiveBrowserCredential.js +1 -1
  77. package/dist/browser/credentials/interactiveBrowserCredential.js.map +1 -0
  78. package/dist/browser/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
  79. package/dist/browser/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
  80. package/dist/browser/credentials/interactiveCredentialOptions.d.ts.map +1 -1
  81. package/dist/browser/credentials/interactiveCredentialOptions.js.map +1 -1
  82. package/dist/browser/credentials/managedIdentityCredential/index.d.ts +9 -4
  83. package/dist/browser/credentials/managedIdentityCredential/index.d.ts.map +1 -0
  84. package/dist/browser/credentials/managedIdentityCredential/index.js +3 -3
  85. package/dist/browser/credentials/managedIdentityCredential/index.js.map +1 -0
  86. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
  87. package/dist/browser/credentials/onBehalfOfCredential.d.ts +5 -4
  88. package/dist/browser/credentials/onBehalfOfCredential.d.ts.map +1 -0
  89. package/dist/browser/credentials/onBehalfOfCredential.js +3 -3
  90. package/dist/browser/credentials/onBehalfOfCredential.js.map +1 -0
  91. package/dist/browser/credentials/usernamePasswordCredential.d.ts +1 -1
  92. package/dist/browser/credentials/usernamePasswordCredential.d.ts.map +1 -0
  93. package/dist/browser/credentials/usernamePasswordCredential.js +1 -1
  94. package/dist/browser/credentials/usernamePasswordCredential.js.map +1 -0
  95. package/dist/browser/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
  96. package/dist/browser/credentials/usernamePasswordCredentialOptions.js.map +1 -1
  97. package/dist/browser/credentials/visualStudioCodeCredential.d.ts +5 -4
  98. package/dist/browser/credentials/visualStudioCodeCredential.d.ts.map +1 -0
  99. package/dist/browser/credentials/visualStudioCodeCredential.js +3 -3
  100. package/dist/browser/credentials/visualStudioCodeCredential.js.map +1 -0
  101. package/dist/browser/credentials/workloadIdentityCredential.d.ts +5 -4
  102. package/dist/browser/credentials/workloadIdentityCredential.d.ts.map +1 -0
  103. package/dist/browser/credentials/workloadIdentityCredential.js +3 -3
  104. package/dist/browser/credentials/workloadIdentityCredential.js.map +1 -0
  105. package/dist/browser/credentials/workloadIdentityCredentialOptions.d.ts +2 -2
  106. package/dist/browser/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
  107. package/dist/browser/credentials/workloadIdentityCredentialOptions.js.map +1 -1
  108. package/dist/browser/index.d.ts +33 -33
  109. package/dist/browser/index.d.ts.map +1 -1
  110. package/dist/browser/index.js.map +1 -1
  111. package/dist/browser/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
  112. package/dist/browser/msal/browserFlows/msalBrowserCommon.js +2 -3
  113. package/dist/browser/msal/browserFlows/msalBrowserCommon.js.map +1 -1
  114. package/dist/browser/msal/msal.d.ts +2 -3
  115. package/dist/browser/msal/msal.d.ts.map +1 -0
  116. package/dist/browser/msal/msal.js +2 -3
  117. package/dist/browser/msal/msal.js.map +1 -0
  118. package/dist/browser/msal/nodeFlows/msalClient.d.ts +14 -8
  119. package/dist/browser/msal/nodeFlows/msalClient.d.ts.map +1 -1
  120. package/dist/browser/msal/nodeFlows/msalClient.js +6 -6
  121. package/dist/browser/msal/nodeFlows/msalClient.js.map +1 -1
  122. package/dist/browser/msal/utils.d.ts +5 -13
  123. package/dist/browser/msal/utils.d.ts.map +1 -1
  124. package/dist/browser/msal/utils.js +12 -25
  125. package/dist/browser/msal/utils.js.map +1 -1
  126. package/dist/browser/plugins/consumer.d.ts +1 -1
  127. package/dist/browser/plugins/consumer.d.ts.map +1 -0
  128. package/dist/browser/plugins/consumer.js +1 -1
  129. package/dist/browser/plugins/consumer.js.map +1 -0
  130. package/dist/browser/util/authorityHost.d.ts +10 -0
  131. package/dist/browser/util/authorityHost.d.ts.map +1 -0
  132. package/dist/browser/util/authorityHost.js +18 -0
  133. package/dist/browser/util/authorityHost.js.map +1 -0
  134. package/dist/browser/util/processMultiTenantRequest.d.ts +3 -2
  135. package/dist/browser/util/processMultiTenantRequest.d.ts.map +1 -0
  136. package/dist/browser/util/processMultiTenantRequest.js +2 -2
  137. package/dist/browser/util/processMultiTenantRequest.js.map +1 -0
  138. package/dist/commonjs/client/identityClient.d.ts +5 -4
  139. package/dist/commonjs/client/identityClient.d.ts.map +1 -1
  140. package/dist/commonjs/client/identityClient.js +295 -252
  141. package/dist/commonjs/client/identityClient.js.map +7 -1
  142. package/dist/commonjs/constants.d.ts +1 -1
  143. package/dist/commonjs/constants.js +61 -78
  144. package/dist/commonjs/constants.js.map +7 -1
  145. package/dist/commonjs/credentials/authorityValidationOptions.js +16 -5
  146. package/dist/commonjs/credentials/authorityValidationOptions.js.map +7 -1
  147. package/dist/commonjs/credentials/authorizationCodeCredential.d.ts.map +1 -1
  148. package/dist/commonjs/credentials/authorizationCodeCredential.js +98 -75
  149. package/dist/commonjs/credentials/authorizationCodeCredential.js.map +7 -1
  150. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
  151. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js +16 -5
  152. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js.map +7 -1
  153. package/dist/commonjs/credentials/azureCliCredential.js +245 -214
  154. package/dist/commonjs/credentials/azureCliCredential.js.map +7 -1
  155. package/dist/commonjs/credentials/azureCliCredentialOptions.js +16 -5
  156. package/dist/commonjs/credentials/azureCliCredentialOptions.js.map +7 -1
  157. package/dist/commonjs/credentials/azureDeveloperCliCredential.d.ts +10 -0
  158. package/dist/commonjs/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  159. package/dist/commonjs/credentials/azureDeveloperCliCredential.js +237 -202
  160. package/dist/commonjs/credentials/azureDeveloperCliCredential.js.map +7 -1
  161. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js +16 -5
  162. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js.map +7 -1
  163. package/dist/commonjs/credentials/azurePipelinesCredential.js +173 -135
  164. package/dist/commonjs/credentials/azurePipelinesCredential.js.map +7 -1
  165. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
  166. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js +16 -5
  167. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js.map +7 -1
  168. package/dist/commonjs/credentials/azurePowerShellCredential.js +201 -205
  169. package/dist/commonjs/credentials/azurePowerShellCredential.js.map +7 -1
  170. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js +16 -5
  171. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js.map +7 -1
  172. package/dist/commonjs/credentials/brokerAuthOptions.js +16 -3
  173. package/dist/commonjs/credentials/brokerAuthOptions.js.map +7 -1
  174. package/dist/commonjs/credentials/brokerCredential.d.ts +2 -2
  175. package/dist/commonjs/credentials/brokerCredential.d.ts.map +1 -1
  176. package/dist/commonjs/credentials/brokerCredential.js +103 -71
  177. package/dist/commonjs/credentials/brokerCredential.js.map +7 -1
  178. package/dist/commonjs/credentials/browserCustomizationOptions.js +16 -5
  179. package/dist/commonjs/credentials/browserCustomizationOptions.js.map +7 -1
  180. package/dist/commonjs/credentials/chainedTokenCredential.js +113 -93
  181. package/dist/commonjs/credentials/chainedTokenCredential.js.map +7 -1
  182. package/dist/commonjs/credentials/clientAssertionCredential.d.ts.map +1 -1
  183. package/dist/commonjs/credentials/clientAssertionCredential.js +101 -64
  184. package/dist/commonjs/credentials/clientAssertionCredential.js.map +7 -1
  185. package/dist/commonjs/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
  186. package/dist/commonjs/credentials/clientAssertionCredentialOptions.js +16 -5
  187. package/dist/commonjs/credentials/clientAssertionCredentialOptions.js.map +7 -1
  188. package/dist/commonjs/credentials/clientCertificateCredential.d.ts.map +1 -1
  189. package/dist/commonjs/credentials/clientCertificateCredential.js +129 -124
  190. package/dist/commonjs/credentials/clientCertificateCredential.js.map +7 -1
  191. package/dist/commonjs/credentials/clientCertificateCredentialModels.js +16 -5
  192. package/dist/commonjs/credentials/clientCertificateCredentialModels.js.map +7 -1
  193. package/dist/commonjs/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
  194. package/dist/commonjs/credentials/clientCertificateCredentialOptions.js +16 -5
  195. package/dist/commonjs/credentials/clientCertificateCredentialOptions.js.map +7 -1
  196. package/dist/commonjs/credentials/clientSecretCredential.d.ts.map +1 -1
  197. package/dist/commonjs/credentials/clientSecretCredential.js +96 -68
  198. package/dist/commonjs/credentials/clientSecretCredential.js.map +7 -1
  199. package/dist/commonjs/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
  200. package/dist/commonjs/credentials/clientSecretCredentialOptions.js +16 -5
  201. package/dist/commonjs/credentials/clientSecretCredentialOptions.js.map +7 -1
  202. package/dist/commonjs/credentials/credentialPersistenceOptions.js +16 -5
  203. package/dist/commonjs/credentials/credentialPersistenceOptions.js.map +7 -1
  204. package/dist/commonjs/credentials/defaultAzureCredential.js +121 -159
  205. package/dist/commonjs/credentials/defaultAzureCredential.js.map +7 -1
  206. package/dist/commonjs/credentials/defaultAzureCredentialFunctions.js +110 -140
  207. package/dist/commonjs/credentials/defaultAzureCredentialFunctions.js.map +7 -1
  208. package/dist/commonjs/credentials/defaultAzureCredentialOptions.d.ts +2 -2
  209. package/dist/commonjs/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
  210. package/dist/commonjs/credentials/defaultAzureCredentialOptions.js +16 -5
  211. package/dist/commonjs/credentials/defaultAzureCredentialOptions.js.map +7 -1
  212. package/dist/commonjs/credentials/deviceCodeCredential.d.ts.map +1 -1
  213. package/dist/commonjs/credentials/deviceCodeCredential.js +132 -104
  214. package/dist/commonjs/credentials/deviceCodeCredential.js.map +7 -1
  215. package/dist/commonjs/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
  216. package/dist/commonjs/credentials/deviceCodeCredentialOptions.js +16 -5
  217. package/dist/commonjs/credentials/deviceCodeCredentialOptions.js.map +7 -1
  218. package/dist/commonjs/credentials/environmentCredential.js +157 -123
  219. package/dist/commonjs/credentials/environmentCredential.js.map +7 -1
  220. package/dist/commonjs/credentials/environmentCredentialOptions.d.ts.map +1 -1
  221. package/dist/commonjs/credentials/environmentCredentialOptions.js +16 -5
  222. package/dist/commonjs/credentials/environmentCredentialOptions.js.map +7 -1
  223. package/dist/commonjs/credentials/interactiveBrowserCredential.d.ts.map +1 -1
  224. package/dist/commonjs/credentials/interactiveBrowserCredential.js +144 -108
  225. package/dist/commonjs/credentials/interactiveBrowserCredential.js.map +7 -1
  226. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
  227. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js +16 -5
  228. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js.map +7 -1
  229. package/dist/commonjs/credentials/interactiveCredentialOptions.d.ts.map +1 -1
  230. package/dist/commonjs/credentials/interactiveCredentialOptions.js +16 -5
  231. package/dist/commonjs/credentials/interactiveCredentialOptions.js.map +7 -1
  232. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js +92 -91
  233. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js.map +7 -1
  234. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js +51 -44
  235. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +7 -1
  236. package/dist/commonjs/credentials/managedIdentityCredential/index.js +256 -242
  237. package/dist/commonjs/credentials/managedIdentityCredential/index.js.map +7 -1
  238. package/dist/commonjs/credentials/managedIdentityCredential/models.js +16 -5
  239. package/dist/commonjs/credentials/managedIdentityCredential/models.js.map +7 -1
  240. package/dist/commonjs/credentials/managedIdentityCredential/options.js +16 -5
  241. package/dist/commonjs/credentials/managedIdentityCredential/options.js.map +7 -1
  242. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js +56 -39
  243. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +7 -1
  244. package/dist/commonjs/credentials/managedIdentityCredential/utils.js +79 -75
  245. package/dist/commonjs/credentials/managedIdentityCredential/utils.js.map +7 -1
  246. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js +16 -5
  247. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js.map +7 -1
  248. package/dist/commonjs/credentials/onBehalfOfCredential.d.ts.map +1 -1
  249. package/dist/commonjs/credentials/onBehalfOfCredential.js +168 -127
  250. package/dist/commonjs/credentials/onBehalfOfCredential.js.map +7 -1
  251. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js +16 -5
  252. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js.map +7 -1
  253. package/dist/commonjs/credentials/usernamePasswordCredential.d.ts.map +1 -1
  254. package/dist/commonjs/credentials/usernamePasswordCredential.js +112 -76
  255. package/dist/commonjs/credentials/usernamePasswordCredential.js.map +7 -1
  256. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
  257. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js +16 -5
  258. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js.map +7 -1
  259. package/dist/commonjs/credentials/visualStudioCodeCredential.js +144 -132
  260. package/dist/commonjs/credentials/visualStudioCodeCredential.js.map +7 -1
  261. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js +16 -5
  262. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js.map +7 -1
  263. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js +16 -5
  264. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js.map +7 -1
  265. package/dist/commonjs/credentials/workloadIdentityCredential.js +284 -274
  266. package/dist/commonjs/credentials/workloadIdentityCredential.js.map +7 -1
  267. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.d.ts +2 -2
  268. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
  269. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js +16 -5
  270. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js.map +7 -1
  271. package/dist/commonjs/errors.js +131 -132
  272. package/dist/commonjs/errors.js.map +7 -1
  273. package/dist/commonjs/index.d.ts +33 -33
  274. package/dist/commonjs/index.d.ts.map +1 -1
  275. package/dist/commonjs/index.js +115 -67
  276. package/dist/commonjs/index.js.map +7 -1
  277. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
  278. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js +226 -249
  279. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js.map +7 -1
  280. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js +16 -5
  281. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js.map +7 -1
  282. package/dist/commonjs/msal/credentials.js +16 -5
  283. package/dist/commonjs/msal/credentials.js.map +7 -1
  284. package/dist/commonjs/msal/msal.d.ts +1 -2
  285. package/dist/commonjs/msal/msal.d.ts.map +1 -1
  286. package/dist/commonjs/msal/msal.js +30 -9
  287. package/dist/commonjs/msal/msal.js.map +7 -1
  288. package/dist/commonjs/msal/nodeFlows/brokerOptions.js +16 -3
  289. package/dist/commonjs/msal/nodeFlows/brokerOptions.js.map +7 -1
  290. package/dist/commonjs/msal/nodeFlows/msalClient.d.ts +14 -8
  291. package/dist/commonjs/msal/nodeFlows/msalClient.d.ts.map +1 -1
  292. package/dist/commonjs/msal/nodeFlows/msalClient.js +450 -478
  293. package/dist/commonjs/msal/nodeFlows/msalClient.js.map +7 -1
  294. package/dist/commonjs/msal/nodeFlows/msalPlugins.js +140 -147
  295. package/dist/commonjs/msal/nodeFlows/msalPlugins.js.map +7 -1
  296. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js +16 -5
  297. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js.map +7 -1
  298. package/dist/commonjs/msal/types.js +16 -5
  299. package/dist/commonjs/msal/types.js.map +7 -1
  300. package/dist/commonjs/msal/utils.d.ts +5 -13
  301. package/dist/commonjs/msal/utils.d.ts.map +1 -1
  302. package/dist/commonjs/msal/utils.js +172 -226
  303. package/dist/commonjs/msal/utils.js.map +7 -1
  304. package/dist/commonjs/plugins/consumer.js +32 -40
  305. package/dist/commonjs/plugins/consumer.js.map +7 -1
  306. package/dist/commonjs/plugins/provider.js +16 -5
  307. package/dist/commonjs/plugins/provider.js.map +7 -1
  308. package/dist/commonjs/regionalAuthority.js +93 -141
  309. package/dist/commonjs/regionalAuthority.js.map +7 -1
  310. package/dist/commonjs/tokenCredentialOptions.js +16 -5
  311. package/dist/commonjs/tokenCredentialOptions.js.map +7 -1
  312. package/dist/commonjs/tokenProvider.js +52 -52
  313. package/dist/commonjs/tokenProvider.js.map +7 -1
  314. package/dist/commonjs/tsdoc-metadata.json +1 -1
  315. package/dist/commonjs/util/authorityHost.d.ts +10 -0
  316. package/dist/commonjs/util/authorityHost.d.ts.map +1 -0
  317. package/dist/commonjs/util/authorityHost.js +36 -0
  318. package/dist/commonjs/util/authorityHost.js.map +7 -0
  319. package/dist/commonjs/util/certificatesUtils.js +54 -45
  320. package/dist/commonjs/util/certificatesUtils.js.map +7 -1
  321. package/dist/commonjs/util/identityTokenEndpoint.js +32 -12
  322. package/dist/commonjs/util/identityTokenEndpoint.js.map +7 -1
  323. package/dist/commonjs/util/logging.js +91 -97
  324. package/dist/commonjs/util/logging.js.map +7 -1
  325. package/dist/commonjs/util/processMultiTenantRequest.js +43 -33
  326. package/dist/commonjs/util/processMultiTenantRequest.js.map +7 -1
  327. package/dist/commonjs/util/processUtils.js +60 -35
  328. package/dist/commonjs/util/processUtils.js.map +7 -1
  329. package/dist/commonjs/util/scopeUtils.js +39 -28
  330. package/dist/commonjs/util/scopeUtils.js.map +7 -1
  331. package/dist/commonjs/util/subscriptionUtils.js +35 -17
  332. package/dist/commonjs/util/subscriptionUtils.js.map +7 -1
  333. package/dist/commonjs/util/tenantIdUtils.js +61 -45
  334. package/dist/commonjs/util/tenantIdUtils.js.map +7 -1
  335. package/dist/commonjs/util/tracing.js +33 -16
  336. package/dist/commonjs/util/tracing.js.map +7 -1
  337. package/dist/esm/client/identityClient.d.ts +5 -4
  338. package/dist/esm/client/identityClient.d.ts.map +1 -1
  339. package/dist/esm/client/identityClient.js +56 -18
  340. package/dist/esm/client/identityClient.js.map +1 -1
  341. package/dist/esm/constants.d.ts +1 -1
  342. package/dist/esm/constants.js +1 -1
  343. package/dist/esm/constants.js.map +1 -1
  344. package/dist/esm/credentials/authorizationCodeCredential.d.ts.map +1 -1
  345. package/dist/esm/credentials/authorizationCodeCredential.js +0 -1
  346. package/dist/esm/credentials/authorizationCodeCredential.js.map +1 -1
  347. package/dist/esm/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
  348. package/dist/esm/credentials/authorizationCodeCredentialOptions.js.map +1 -1
  349. package/dist/esm/credentials/azureDeveloperCliCredential.d.ts +10 -0
  350. package/dist/esm/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  351. package/dist/esm/credentials/azureDeveloperCliCredential.js +24 -1
  352. package/dist/esm/credentials/azureDeveloperCliCredential.js.map +1 -1
  353. package/dist/esm/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
  354. package/dist/esm/credentials/azurePipelinesCredentialOptions.js.map +1 -1
  355. package/dist/esm/credentials/brokerCredential.d.ts +2 -2
  356. package/dist/esm/credentials/brokerCredential.d.ts.map +1 -1
  357. package/dist/esm/credentials/brokerCredential.js +0 -1
  358. package/dist/esm/credentials/brokerCredential.js.map +1 -1
  359. package/dist/esm/credentials/clientAssertionCredential.d.ts.map +1 -1
  360. package/dist/esm/credentials/clientAssertionCredential.js +1 -2
  361. package/dist/esm/credentials/clientAssertionCredential.js.map +1 -1
  362. package/dist/esm/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
  363. package/dist/esm/credentials/clientAssertionCredentialOptions.js.map +1 -1
  364. package/dist/esm/credentials/clientCertificateCredential.d.ts.map +1 -1
  365. package/dist/esm/credentials/clientCertificateCredential.js +0 -1
  366. package/dist/esm/credentials/clientCertificateCredential.js.map +1 -1
  367. package/dist/esm/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
  368. package/dist/esm/credentials/clientCertificateCredentialOptions.js.map +1 -1
  369. package/dist/esm/credentials/clientSecretCredential.d.ts.map +1 -1
  370. package/dist/esm/credentials/clientSecretCredential.js +0 -1
  371. package/dist/esm/credentials/clientSecretCredential.js.map +1 -1
  372. package/dist/esm/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
  373. package/dist/esm/credentials/clientSecretCredentialOptions.js.map +1 -1
  374. package/dist/esm/credentials/defaultAzureCredentialOptions.d.ts +2 -2
  375. package/dist/esm/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
  376. package/dist/esm/credentials/defaultAzureCredentialOptions.js.map +1 -1
  377. package/dist/esm/credentials/deviceCodeCredential.d.ts.map +1 -1
  378. package/dist/esm/credentials/deviceCodeCredential.js +0 -1
  379. package/dist/esm/credentials/deviceCodeCredential.js.map +1 -1
  380. package/dist/esm/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
  381. package/dist/esm/credentials/deviceCodeCredentialOptions.js.map +1 -1
  382. package/dist/esm/credentials/environmentCredentialOptions.d.ts.map +1 -1
  383. package/dist/esm/credentials/environmentCredentialOptions.js.map +1 -1
  384. package/dist/esm/credentials/interactiveBrowserCredential.d.ts.map +1 -1
  385. package/dist/esm/credentials/interactiveBrowserCredential.js +0 -1
  386. package/dist/esm/credentials/interactiveBrowserCredential.js.map +1 -1
  387. package/dist/esm/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
  388. package/dist/esm/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
  389. package/dist/esm/credentials/interactiveCredentialOptions.d.ts.map +1 -1
  390. package/dist/esm/credentials/interactiveCredentialOptions.js.map +1 -1
  391. package/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
  392. package/dist/esm/credentials/onBehalfOfCredential.d.ts.map +1 -1
  393. package/dist/esm/credentials/onBehalfOfCredential.js +0 -1
  394. package/dist/esm/credentials/onBehalfOfCredential.js.map +1 -1
  395. package/dist/esm/credentials/usernamePasswordCredential.d.ts.map +1 -1
  396. package/dist/esm/credentials/usernamePasswordCredential.js +0 -1
  397. package/dist/esm/credentials/usernamePasswordCredential.js.map +1 -1
  398. package/dist/esm/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
  399. package/dist/esm/credentials/usernamePasswordCredentialOptions.js.map +1 -1
  400. package/dist/esm/credentials/visualStudioCodeCredential.js.map +1 -1
  401. package/dist/esm/credentials/workloadIdentityCredential.js +3 -3
  402. package/dist/esm/credentials/workloadIdentityCredential.js.map +1 -1
  403. package/dist/esm/credentials/workloadIdentityCredentialOptions.d.ts +2 -2
  404. package/dist/esm/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
  405. package/dist/esm/credentials/workloadIdentityCredentialOptions.js.map +1 -1
  406. package/dist/esm/index.d.ts +33 -33
  407. package/dist/esm/index.d.ts.map +1 -1
  408. package/dist/esm/index.js.map +1 -1
  409. package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
  410. package/dist/esm/msal/browserFlows/msalBrowserCommon.js +2 -3
  411. package/dist/esm/msal/browserFlows/msalBrowserCommon.js.map +1 -1
  412. package/dist/esm/msal/msal.d.ts +1 -2
  413. package/dist/esm/msal/msal.d.ts.map +1 -1
  414. package/dist/esm/msal/msal.js +1 -2
  415. package/dist/esm/msal/msal.js.map +1 -1
  416. package/dist/esm/msal/nodeFlows/msalClient.d.ts +14 -8
  417. package/dist/esm/msal/nodeFlows/msalClient.d.ts.map +1 -1
  418. package/dist/esm/msal/nodeFlows/msalClient.js +6 -6
  419. package/dist/esm/msal/nodeFlows/msalClient.js.map +1 -1
  420. package/dist/esm/msal/utils.d.ts +5 -13
  421. package/dist/esm/msal/utils.d.ts.map +1 -1
  422. package/dist/esm/msal/utils.js +12 -25
  423. package/dist/esm/msal/utils.js.map +1 -1
  424. package/dist/esm/util/authorityHost.d.ts +10 -0
  425. package/dist/esm/util/authorityHost.d.ts.map +1 -0
  426. package/dist/esm/util/authorityHost.js +18 -0
  427. package/dist/esm/util/authorityHost.js.map +1 -0
  428. package/dist/workerd/client/identityClient.d.ts +5 -4
  429. package/dist/workerd/client/identityClient.d.ts.map +1 -1
  430. package/dist/workerd/client/identityClient.js +56 -18
  431. package/dist/workerd/client/identityClient.js.map +1 -1
  432. package/dist/workerd/constants.d.ts +1 -1
  433. package/dist/workerd/constants.js +1 -1
  434. package/dist/workerd/constants.js.map +1 -1
  435. package/dist/workerd/credentials/authorizationCodeCredential.d.ts.map +1 -1
  436. package/dist/workerd/credentials/authorizationCodeCredential.js +0 -1
  437. package/dist/workerd/credentials/authorizationCodeCredential.js.map +1 -1
  438. package/dist/workerd/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
  439. package/dist/workerd/credentials/authorizationCodeCredentialOptions.js.map +1 -1
  440. package/dist/workerd/credentials/azureDeveloperCliCredential.d.ts +10 -0
  441. package/dist/workerd/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  442. package/dist/workerd/credentials/azureDeveloperCliCredential.js +24 -1
  443. package/dist/workerd/credentials/azureDeveloperCliCredential.js.map +1 -1
  444. package/dist/workerd/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
  445. package/dist/workerd/credentials/azurePipelinesCredentialOptions.js.map +1 -1
  446. package/dist/workerd/credentials/brokerCredential.d.ts +2 -2
  447. package/dist/workerd/credentials/brokerCredential.d.ts.map +1 -1
  448. package/dist/workerd/credentials/brokerCredential.js +0 -1
  449. package/dist/workerd/credentials/brokerCredential.js.map +1 -1
  450. package/dist/workerd/credentials/clientAssertionCredential.d.ts.map +1 -1
  451. package/dist/workerd/credentials/clientAssertionCredential.js +1 -2
  452. package/dist/workerd/credentials/clientAssertionCredential.js.map +1 -1
  453. package/dist/workerd/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
  454. package/dist/workerd/credentials/clientAssertionCredentialOptions.js.map +1 -1
  455. package/dist/workerd/credentials/clientCertificateCredential.d.ts.map +1 -1
  456. package/dist/workerd/credentials/clientCertificateCredential.js +0 -1
  457. package/dist/workerd/credentials/clientCertificateCredential.js.map +1 -1
  458. package/dist/workerd/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
  459. package/dist/workerd/credentials/clientCertificateCredentialOptions.js.map +1 -1
  460. package/dist/workerd/credentials/clientSecretCredential.d.ts.map +1 -1
  461. package/dist/workerd/credentials/clientSecretCredential.js +0 -1
  462. package/dist/workerd/credentials/clientSecretCredential.js.map +1 -1
  463. package/dist/workerd/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
  464. package/dist/workerd/credentials/clientSecretCredentialOptions.js.map +1 -1
  465. package/dist/workerd/credentials/defaultAzureCredentialOptions.d.ts +2 -2
  466. package/dist/workerd/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
  467. package/dist/workerd/credentials/defaultAzureCredentialOptions.js.map +1 -1
  468. package/dist/workerd/credentials/deviceCodeCredential.d.ts.map +1 -1
  469. package/dist/workerd/credentials/deviceCodeCredential.js +0 -1
  470. package/dist/workerd/credentials/deviceCodeCredential.js.map +1 -1
  471. package/dist/workerd/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
  472. package/dist/workerd/credentials/deviceCodeCredentialOptions.js.map +1 -1
  473. package/dist/workerd/credentials/environmentCredentialOptions.d.ts.map +1 -1
  474. package/dist/workerd/credentials/environmentCredentialOptions.js.map +1 -1
  475. package/dist/workerd/credentials/interactiveBrowserCredential.d.ts.map +1 -1
  476. package/dist/workerd/credentials/interactiveBrowserCredential.js +0 -1
  477. package/dist/workerd/credentials/interactiveBrowserCredential.js.map +1 -1
  478. package/dist/workerd/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
  479. package/dist/workerd/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
  480. package/dist/workerd/credentials/interactiveCredentialOptions.d.ts.map +1 -1
  481. package/dist/workerd/credentials/interactiveCredentialOptions.js.map +1 -1
  482. package/dist/workerd/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
  483. package/dist/workerd/credentials/onBehalfOfCredential.d.ts.map +1 -1
  484. package/dist/workerd/credentials/onBehalfOfCredential.js +0 -1
  485. package/dist/workerd/credentials/onBehalfOfCredential.js.map +1 -1
  486. package/dist/workerd/credentials/usernamePasswordCredential.d.ts.map +1 -1
  487. package/dist/workerd/credentials/usernamePasswordCredential.js +0 -1
  488. package/dist/workerd/credentials/usernamePasswordCredential.js.map +1 -1
  489. package/dist/workerd/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
  490. package/dist/workerd/credentials/usernamePasswordCredentialOptions.js.map +1 -1
  491. package/dist/workerd/credentials/visualStudioCodeCredential.js.map +1 -1
  492. package/dist/workerd/credentials/workloadIdentityCredential.js +3 -3
  493. package/dist/workerd/credentials/workloadIdentityCredential.js.map +1 -1
  494. package/dist/workerd/credentials/workloadIdentityCredentialOptions.d.ts +2 -2
  495. package/dist/workerd/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
  496. package/dist/workerd/credentials/workloadIdentityCredentialOptions.js.map +1 -1
  497. package/dist/workerd/index.d.ts +33 -33
  498. package/dist/workerd/index.d.ts.map +1 -1
  499. package/dist/workerd/index.js.map +1 -1
  500. package/dist/workerd/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
  501. package/dist/workerd/msal/browserFlows/msalBrowserCommon.js +2 -3
  502. package/dist/workerd/msal/browserFlows/msalBrowserCommon.js.map +1 -1
  503. package/dist/workerd/msal/msal.d.ts +1 -2
  504. package/dist/workerd/msal/msal.d.ts.map +1 -1
  505. package/dist/workerd/msal/msal.js +1 -2
  506. package/dist/workerd/msal/msal.js.map +1 -1
  507. package/dist/workerd/msal/nodeFlows/msalClient.d.ts +14 -8
  508. package/dist/workerd/msal/nodeFlows/msalClient.d.ts.map +1 -1
  509. package/dist/workerd/msal/nodeFlows/msalClient.js +6 -6
  510. package/dist/workerd/msal/nodeFlows/msalClient.js.map +1 -1
  511. package/dist/workerd/msal/utils.d.ts +5 -13
  512. package/dist/workerd/msal/utils.d.ts.map +1 -1
  513. package/dist/workerd/msal/utils.js +12 -25
  514. package/dist/workerd/msal/utils.js.map +1 -1
  515. package/dist/workerd/util/authorityHost.d.ts +10 -0
  516. package/dist/workerd/util/authorityHost.d.ts.map +1 -0
  517. package/dist/workerd/util/authorityHost.js +18 -0
  518. package/dist/workerd/util/authorityHost.js.map +1 -0
  519. package/package.json +17 -34
  520. package/dist/browser/credentials/authorizationCodeCredential-browser.d.mts.map +0 -1
  521. package/dist/browser/credentials/authorizationCodeCredential-browser.mjs.map +0 -1
  522. package/dist/browser/credentials/azureCliCredential-browser.d.mts.map +0 -1
  523. package/dist/browser/credentials/azureCliCredential-browser.mjs.map +0 -1
  524. package/dist/browser/credentials/azureDeveloperCliCredential-browser.d.mts.map +0 -1
  525. package/dist/browser/credentials/azureDeveloperCliCredential-browser.mjs.map +0 -1
  526. package/dist/browser/credentials/azurePipelinesCredential-browser.d.mts.map +0 -1
  527. package/dist/browser/credentials/azurePipelinesCredential-browser.mjs.map +0 -1
  528. package/dist/browser/credentials/azurePowerShellCredential-browser.d.mts.map +0 -1
  529. package/dist/browser/credentials/azurePowerShellCredential-browser.mjs.map +0 -1
  530. package/dist/browser/credentials/clientAssertionCredential-browser.d.mts.map +0 -1
  531. package/dist/browser/credentials/clientAssertionCredential-browser.mjs.map +0 -1
  532. package/dist/browser/credentials/clientCertificateCredential-browser.d.mts.map +0 -1
  533. package/dist/browser/credentials/clientCertificateCredential-browser.mjs.map +0 -1
  534. package/dist/browser/credentials/clientSecretCredential-browser.d.mts.map +0 -1
  535. package/dist/browser/credentials/clientSecretCredential-browser.mjs.map +0 -1
  536. package/dist/browser/credentials/defaultAzureCredential-browser.d.mts.map +0 -1
  537. package/dist/browser/credentials/defaultAzureCredential-browser.mjs.map +0 -1
  538. package/dist/browser/credentials/deviceCodeCredential-browser.d.mts.map +0 -1
  539. package/dist/browser/credentials/deviceCodeCredential-browser.mjs.map +0 -1
  540. package/dist/browser/credentials/environmentCredential-browser.d.mts.map +0 -1
  541. package/dist/browser/credentials/environmentCredential-browser.mjs.map +0 -1
  542. package/dist/browser/credentials/interactiveBrowserCredential-browser.d.mts.map +0 -1
  543. package/dist/browser/credentials/interactiveBrowserCredential-browser.mjs.map +0 -1
  544. package/dist/browser/credentials/managedIdentityCredential/index-browser.d.mts.map +0 -1
  545. package/dist/browser/credentials/managedIdentityCredential/index-browser.mjs.map +0 -1
  546. package/dist/browser/credentials/onBehalfOfCredential-browser.d.mts.map +0 -1
  547. package/dist/browser/credentials/onBehalfOfCredential-browser.mjs.map +0 -1
  548. package/dist/browser/credentials/usernamePasswordCredential-browser.d.mts.map +0 -1
  549. package/dist/browser/credentials/usernamePasswordCredential-browser.mjs.map +0 -1
  550. package/dist/browser/credentials/visualStudioCodeCredential-browser.d.mts.map +0 -1
  551. package/dist/browser/credentials/visualStudioCodeCredential-browser.mjs.map +0 -1
  552. package/dist/browser/credentials/workloadIdentityCredential-browser.d.mts.map +0 -1
  553. package/dist/browser/credentials/workloadIdentityCredential-browser.mjs.map +0 -1
  554. package/dist/browser/msal/msal-browser.d.mts.map +0 -1
  555. package/dist/browser/msal/msal-browser.mjs.map +0 -1
  556. package/dist/browser/plugins/consumer-browser.d.mts.map +0 -1
  557. package/dist/browser/plugins/consumer-browser.mjs.map +0 -1
  558. package/dist/browser/util/authHostEnv-browser.d.mts +0 -4
  559. package/dist/browser/util/authHostEnv-browser.d.mts.map +0 -1
  560. package/dist/browser/util/authHostEnv-browser.mjs +0 -7
  561. package/dist/browser/util/authHostEnv-browser.mjs.map +0 -1
  562. package/dist/browser/util/processMultiTenantRequest-browser.d.mts.map +0 -1
  563. package/dist/browser/util/processMultiTenantRequest-browser.mjs.map +0 -1
  564. package/dist/esm/util/authHostEnv-browser.d.mts +0 -4
  565. package/dist/esm/util/authHostEnv-browser.d.mts.map +0 -1
  566. package/dist/esm/util/authHostEnv-browser.mjs +0 -7
  567. package/dist/esm/util/authHostEnv-browser.mjs.map +0 -1
  568. package/dist/workerd/util/authHostEnv-browser.d.mts +0 -4
  569. package/dist/workerd/util/authHostEnv-browser.d.mts.map +0 -1
  570. package/dist/workerd/util/authHostEnv-browser.mjs +0 -7
  571. package/dist/workerd/util/authHostEnv-browser.mjs.map +0 -1
@@ -1,298 +1,308 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.WorkloadIdentityCredential = exports.SupportedWorkloadEnvironmentVariables = void 0;
6
- exports.parseAndValidateCustomTokenProxy = parseAndValidateCustomTokenProxy;
7
- const logging_js_1 = require("../util/logging.js");
8
- const clientAssertionCredential_js_1 = require("./clientAssertionCredential.js");
9
- const errors_js_1 = require("../errors.js");
10
- const tenantIdUtils_js_1 = require("../util/tenantIdUtils.js");
11
- const promises_1 = require("node:fs/promises");
12
- const core_rest_pipeline_1 = require("@azure/core-rest-pipeline");
13
- const certificatesUtils_js_1 = require("../util/certificatesUtils.js");
14
- const node_fs_1 = require("node:fs");
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var workloadIdentityCredential_exports = {};
19
+ __export(workloadIdentityCredential_exports, {
20
+ SupportedWorkloadEnvironmentVariables: () => SupportedWorkloadEnvironmentVariables,
21
+ WorkloadIdentityCredential: () => WorkloadIdentityCredential,
22
+ parseAndValidateCustomTokenProxy: () => parseAndValidateCustomTokenProxy
23
+ });
24
+ module.exports = __toCommonJS(workloadIdentityCredential_exports);
25
+ var import_logging = require("../util/logging.js");
26
+ var import_clientAssertionCredential = require("./clientAssertionCredential.js");
27
+ var import_errors = require("../errors.js");
28
+ var import_tenantIdUtils = require("../util/tenantIdUtils.js");
29
+ var import_promises = require("node:fs/promises");
30
+ var import_core_rest_pipeline = require("@azure/core-rest-pipeline");
31
+ var import_certificatesUtils = require("../util/certificatesUtils.js");
32
+ var import_node_fs = require("node:fs");
15
33
  const credentialName = "WorkloadIdentityCredential";
16
- /**
17
- * Contains the list of all supported environment variable names so that an
18
- * appropriate error message can be generated when no credentials can be
19
- * configured.
20
- *
21
- * @internal
22
- */
23
- exports.SupportedWorkloadEnvironmentVariables = [
24
- "AZURE_TENANT_ID",
25
- "AZURE_CLIENT_ID",
26
- "AZURE_FEDERATED_TOKEN_FILE",
34
+ const SupportedWorkloadEnvironmentVariables = [
35
+ "AZURE_TENANT_ID",
36
+ "AZURE_CLIENT_ID",
37
+ "AZURE_FEDERATED_TOKEN_FILE"
27
38
  ];
28
- const logger = (0, logging_js_1.credentialLogger)(credentialName);
29
- /**
30
- * Error messages for WorkloadIdentityCredential
31
- */
39
+ const logger = (0, import_logging.credentialLogger)(credentialName);
32
40
  const ErrorMessages = {
33
- FAILED_TO_PARSE_TOKEN_PROXY: (endpoint, error) => `Failed to parse custom token proxy URL "${endpoint}": ${error}`,
34
- INVALID_HTTPS_SCHEME: (protocol) => `Custom token endpoint must use https scheme, got "${protocol}"`,
35
- TOKEN_ENDPOINT_NO_USER_INFO: (url) => `Custom token endpoint URL "${url}" must not contain user info`,
36
- TOKEN_ENDPOINT_NO_QUERY: (url) => `Custom token endpoint URL "${url}" must not contain a query`,
37
- TOKEN_ENDPOINT_NO_FRAGMENT: (url) => `Custom token endpoint URL "${url}" must not contain a fragment`,
38
- CA_FILE_EMPTY: (file) => `CA certificate file is empty: ${file}`,
39
- FAILED_TO_READ_CA_FILE: (file, error) => `Failed to read CA certificate file: ${file}. ${error}`,
40
- INVALID_CA_CERTIFICATES: `Invalid CA certificate data: no valid PEM certificates found`,
41
- INVALID_FILE_PATH: (path) => `Invalid file path provided ${path}.`,
42
- NO_FILE_CONTENT: (path) => `No content on the file ${path}.`,
43
- NO_CA_SOURCE: `No CA certificate source specified.`,
44
- CLIENT_ID_REQUIRED: `clientId is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_CLIENT_ID".
41
+ FAILED_TO_PARSE_TOKEN_PROXY: (endpoint, error) => `Failed to parse custom token proxy URL "${endpoint}": ${error}`,
42
+ INVALID_HTTPS_SCHEME: (protocol) => `Custom token endpoint must use https scheme, got "${protocol}"`,
43
+ TOKEN_ENDPOINT_NO_USER_INFO: (url) => `Custom token endpoint URL "${url}" must not contain user info`,
44
+ TOKEN_ENDPOINT_NO_QUERY: (url) => `Custom token endpoint URL "${url}" must not contain a query`,
45
+ TOKEN_ENDPOINT_NO_FRAGMENT: (url) => `Custom token endpoint URL "${url}" must not contain a fragment`,
46
+ CA_FILE_EMPTY: (file) => `CA certificate file is empty: ${file}`,
47
+ FAILED_TO_READ_CA_FILE: (file, error) => `Failed to read CA certificate file: ${file}. ${error}`,
48
+ INVALID_CA_CERTIFICATES: `Invalid CA certificate data: no valid PEM certificates found`,
49
+ INVALID_FILE_PATH: (path) => `Invalid file path provided ${path}.`,
50
+ NO_FILE_CONTENT: (path) => `No content on the file ${path}.`,
51
+ NO_CA_SOURCE: `No CA certificate source specified.`,
52
+ CLIENT_ID_REQUIRED: `clientId is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_CLIENT_ID".
45
53
  See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`,
46
- TENANT_ID_REQUIRED: `tenantId is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_TENANT_ID".
54
+ TENANT_ID_REQUIRED: `tenantId is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_TENANT_ID".
47
55
  See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`,
48
- TOKEN_FILE_PATH_REQUIRED: `federatedTokenFilePath is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_FEDERATED_TOKEN_FILE".
56
+ TOKEN_FILE_PATH_REQUIRED: `federatedTokenFilePath is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_FEDERATED_TOKEN_FILE".
49
57
  See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`,
50
- TOKEN_PROXY_NOT_SET: `AZURE_KUBERNETES_TOKEN_PROXY is not set but other custom endpoint-related environment variables are present`,
51
- CA_FILE_AND_DATA_EXCLUSIVE: `AZURE_KUBERNETES_CA_FILE and AZURE_KUBERNETES_CA_DATA are mutually exclusive. Specify only one.`,
52
- MISSING_ENV_VARS: `tenantId, clientId, and federatedTokenFilePath are required parameters.
58
+ TOKEN_PROXY_NOT_SET: `AZURE_KUBERNETES_TOKEN_PROXY is not set but other custom endpoint-related environment variables are present`,
59
+ CA_FILE_AND_DATA_EXCLUSIVE: `AZURE_KUBERNETES_CA_FILE and AZURE_KUBERNETES_CA_DATA are mutually exclusive. Specify only one.`,
60
+ MISSING_ENV_VARS: `tenantId, clientId, and federatedTokenFilePath are required parameters.
53
61
  In DefaultAzureCredential and ManagedIdentityCredential, these can be provided as environment variables -
54
62
  "AZURE_TENANT_ID",
55
63
  "AZURE_CLIENT_ID",
56
- "AZURE_FEDERATED_TOKEN_FILE". See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`,
64
+ "AZURE_FEDERATED_TOKEN_FILE". See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`
57
65
  };
58
- /**
59
- * @internal
60
- * Parses and validates the custom token proxy endpoint URL
61
- */
62
66
  function parseAndValidateCustomTokenProxy(endpoint) {
63
- let tokenProxy;
64
- try {
65
- tokenProxy = new URL(endpoint);
66
- }
67
- catch (error) {
68
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.FAILED_TO_PARSE_TOKEN_PROXY(endpoint, error)}`);
69
- }
70
- if (tokenProxy.protocol !== "https:") {
71
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.INVALID_HTTPS_SCHEME(tokenProxy.protocol)}`);
72
- }
73
- if (tokenProxy.username || tokenProxy.password) {
74
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.TOKEN_ENDPOINT_NO_USER_INFO(tokenProxy.toString())}`);
67
+ let tokenProxy;
68
+ try {
69
+ tokenProxy = new URL(endpoint);
70
+ } catch (error) {
71
+ throw new import_errors.CredentialUnavailableError(
72
+ `${credentialName}: is unavailable. ${ErrorMessages.FAILED_TO_PARSE_TOKEN_PROXY(endpoint, error)}`
73
+ );
74
+ }
75
+ if (tokenProxy.protocol !== "https:") {
76
+ throw new import_errors.CredentialUnavailableError(
77
+ `${credentialName}: is unavailable. ${ErrorMessages.INVALID_HTTPS_SCHEME(tokenProxy.protocol)}`
78
+ );
79
+ }
80
+ if (tokenProxy.username || tokenProxy.password) {
81
+ throw new import_errors.CredentialUnavailableError(
82
+ `${credentialName}: is unavailable. ${ErrorMessages.TOKEN_ENDPOINT_NO_USER_INFO(tokenProxy.toString())}`
83
+ );
84
+ }
85
+ if (tokenProxy.search) {
86
+ throw new import_errors.CredentialUnavailableError(
87
+ `${credentialName}: is unavailable. ${ErrorMessages.TOKEN_ENDPOINT_NO_QUERY(tokenProxy.toString())}`
88
+ );
89
+ }
90
+ if (tokenProxy.hash) {
91
+ throw new import_errors.CredentialUnavailableError(
92
+ `${credentialName}: is unavailable. ${ErrorMessages.TOKEN_ENDPOINT_NO_FRAGMENT(tokenProxy.toString())}`
93
+ );
94
+ }
95
+ if (!tokenProxy.pathname || tokenProxy.pathname === "") {
96
+ tokenProxy.pathname = "/";
97
+ }
98
+ return tokenProxy.toString();
99
+ }
100
+ class WorkloadIdentityCredential {
101
+ client;
102
+ azureFederatedTokenFileContent = void 0;
103
+ cacheDate = void 0;
104
+ federatedTokenFilePath;
105
+ // AKS proxy CA caching - persists across token requests
106
+ cachedTlsSettings;
107
+ cachedCaData;
108
+ caData;
109
+ caFile;
110
+ sniName;
111
+ /**
112
+ * WorkloadIdentityCredential supports Microsoft Entra Workload ID on Kubernetes.
113
+ *
114
+ * @param options - The identity client options to use for authentication.
115
+ */
116
+ constructor(options) {
117
+ const assignedEnv = (0, import_logging.processEnvVars)(SupportedWorkloadEnvironmentVariables).assigned.join(", ");
118
+ logger.info(`Found the following environment variables: ${assignedEnv}`);
119
+ const workloadIdentityCredentialOptions = options ?? {};
120
+ const tenantId = workloadIdentityCredentialOptions.tenantId || process.env.AZURE_TENANT_ID;
121
+ const clientId = workloadIdentityCredentialOptions.clientId || process.env.AZURE_CLIENT_ID;
122
+ this.federatedTokenFilePath = workloadIdentityCredentialOptions.tokenFilePath || process.env.AZURE_FEDERATED_TOKEN_FILE;
123
+ if (tenantId) {
124
+ (0, import_tenantIdUtils.checkTenantId)(logger, tenantId);
75
125
  }
76
- if (tokenProxy.search) {
77
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.TOKEN_ENDPOINT_NO_QUERY(tokenProxy.toString())}`);
126
+ if (!clientId) {
127
+ throw new import_errors.CredentialUnavailableError(
128
+ `${credentialName}: is unavailable. ${ErrorMessages.CLIENT_ID_REQUIRED}`
129
+ );
78
130
  }
79
- if (tokenProxy.hash) {
80
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.TOKEN_ENDPOINT_NO_FRAGMENT(tokenProxy.toString())}`);
131
+ if (!tenantId) {
132
+ throw new import_errors.CredentialUnavailableError(
133
+ `${credentialName}: is unavailable. ${ErrorMessages.TENANT_ID_REQUIRED}`
134
+ );
81
135
  }
82
- if (!tokenProxy.pathname || tokenProxy.pathname === "") {
83
- // if the path is empty, set it to "/" to avoid stripping the path from req.URL
84
- tokenProxy.pathname = "/";
136
+ if (!this.federatedTokenFilePath) {
137
+ throw new import_errors.CredentialUnavailableError(
138
+ `${credentialName}: is unavailable. ${ErrorMessages.TOKEN_FILE_PATH_REQUIRED}`
139
+ );
85
140
  }
86
- return tokenProxy.toString();
87
- }
88
- /**
89
- * Workload Identity authentication is a feature in Azure that allows applications running on virtual machines (VMs)
90
- * to access other Azure resources without the need for a service principal or managed identity. With Workload Identity
91
- * authentication, applications authenticate themselves using their own identity, rather than using a shared service
92
- * principal or managed identity. Under the hood, Workload Identity authentication uses the concept of Service Account
93
- * Credentials (SACs), which are automatically created by Azure and stored securely in the VM. By using Workload
94
- * Identity authentication, you can avoid the need to manage and rotate service principals or managed identities for
95
- * each application on each VM. Additionally, because SACs are created automatically and managed by Azure, you don't
96
- * need to worry about storing and securing sensitive credentials themselves.
97
- * The WorkloadIdentityCredential supports Microsoft Entra Workload ID authentication on Azure Kubernetes and acquires
98
- * a token using the SACs available in the Azure Kubernetes environment.
99
- * Refer to <a href="https://learn.microsoft.com/azure/aks/workload-identity-overview">Microsoft Entra
100
- * Workload ID</a> for more information.
101
- */
102
- class WorkloadIdentityCredential {
103
- client;
104
- azureFederatedTokenFileContent = undefined;
105
- cacheDate = undefined;
106
- federatedTokenFilePath;
107
- // AKS proxy CA caching - persists across token requests
108
- cachedTlsSettings;
109
- cachedCaData;
110
- caData;
111
- caFile;
112
- sniName;
113
- /**
114
- * WorkloadIdentityCredential supports Microsoft Entra Workload ID on Kubernetes.
115
- *
116
- * @param options - The identity client options to use for authentication.
117
- */
118
- constructor(options) {
119
- // Logging environment variables for error details
120
- const assignedEnv = (0, logging_js_1.processEnvVars)(exports.SupportedWorkloadEnvironmentVariables).assigned.join(", ");
121
- logger.info(`Found the following environment variables: ${assignedEnv}`);
122
- const workloadIdentityCredentialOptions = options ?? {};
123
- const tenantId = workloadIdentityCredentialOptions.tenantId || process.env.AZURE_TENANT_ID;
124
- const clientId = workloadIdentityCredentialOptions.clientId || process.env.AZURE_CLIENT_ID;
125
- this.federatedTokenFilePath =
126
- workloadIdentityCredentialOptions.tokenFilePath || process.env.AZURE_FEDERATED_TOKEN_FILE;
127
- if (tenantId) {
128
- (0, tenantIdUtils_js_1.checkTenantId)(logger, tenantId);
129
- }
130
- if (!clientId) {
131
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.CLIENT_ID_REQUIRED}`);
141
+ if (workloadIdentityCredentialOptions.enableAzureProxy) {
142
+ const kubernetesTokenProxy = process.env.AZURE_KUBERNETES_TOKEN_PROXY;
143
+ const kubernetesSNIName = process.env.AZURE_KUBERNETES_SNI_NAME;
144
+ const kubernetesCAFile = process.env.AZURE_KUBERNETES_CA_FILE;
145
+ const kubernetesCAData = process.env.AZURE_KUBERNETES_CA_DATA;
146
+ if (!kubernetesTokenProxy) {
147
+ if (kubernetesSNIName || kubernetesCAFile || kubernetesCAData) {
148
+ throw new import_errors.CredentialUnavailableError(
149
+ `${credentialName}: is unavailable. ${ErrorMessages.TOKEN_PROXY_NOT_SET}`
150
+ );
132
151
  }
133
- if (!tenantId) {
134
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.TENANT_ID_REQUIRED}`);
152
+ logger.info(
153
+ `enableAzureProxy is true but AZURE_KUBERNETES_TOKEN_PROXY is not set, using normal authentication flow`
154
+ );
155
+ } else {
156
+ const tokenProxy = parseAndValidateCustomTokenProxy(kubernetesTokenProxy);
157
+ if (kubernetesCAFile && kubernetesCAData) {
158
+ throw new import_errors.CredentialUnavailableError(
159
+ `${credentialName}: is unavailable. ${ErrorMessages.CA_FILE_AND_DATA_EXCLUSIVE}`
160
+ );
135
161
  }
136
- if (!this.federatedTokenFilePath) {
137
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.TOKEN_FILE_PATH_REQUIRED}`);
138
- }
139
- // Use identity binding mode only when enableAzureKubernetesTokenProxy is set
140
- if (workloadIdentityCredentialOptions.enableAzureKubernetesTokenProxy) {
141
- const kubernetesTokenProxy = process.env.AZURE_KUBERNETES_TOKEN_PROXY;
142
- const kubernetesSNIName = process.env.AZURE_KUBERNETES_SNI_NAME;
143
- const kubernetesCAFile = process.env.AZURE_KUBERNETES_CA_FILE;
144
- const kubernetesCAData = process.env.AZURE_KUBERNETES_CA_DATA;
145
- if (!kubernetesTokenProxy) {
146
- // Custom token proxy is not set, while other Kubernetes-related environment variables are present,
147
- // this is likely a configuration issue so erroring out to avoid misconfiguration
148
- if (kubernetesSNIName || kubernetesCAFile || kubernetesCAData) {
149
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.TOKEN_PROXY_NOT_SET}`);
150
- }
151
- logger.info(`enableAzureKubernetesTokenProxy is true but AZURE_KUBERNETES_TOKEN_PROXY is not set, using normal authentication flow`);
152
- }
153
- else {
154
- const tokenProxy = parseAndValidateCustomTokenProxy(kubernetesTokenProxy);
155
- // CAFile and CAData are mutually exclusive, at most one can be set.
156
- // If none of CAFile or CAData are set, the default system CA pool will be used.
157
- if (kubernetesCAFile && kubernetesCAData) {
158
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.CA_FILE_AND_DATA_EXCLUSIVE}`);
159
- }
160
- this.caData = kubernetesCAData;
161
- this.caFile = kubernetesCAFile;
162
- this.sniName = kubernetesSNIName;
163
- // Configure client options with AKS proxy client
164
- const proxyClient = this.createAksProxyClient(tokenProxy);
165
- workloadIdentityCredentialOptions.httpClient = proxyClient;
166
- logger.info(`${credentialName}: Using proxy client for token requests`);
167
- }
168
- }
169
- logger.info(`Invoking ClientAssertionCredential with tenant ID: ${tenantId}, clientId: ${workloadIdentityCredentialOptions.clientId} and federated token path: [REDACTED]`);
170
- this.client = new clientAssertionCredential_js_1.ClientAssertionCredential(tenantId, clientId, this.readFileContents.bind(this), workloadIdentityCredentialOptions);
162
+ this.caData = kubernetesCAData;
163
+ this.caFile = kubernetesCAFile;
164
+ this.sniName = kubernetesSNIName;
165
+ const proxyClient = this.createAksProxyClient(tokenProxy);
166
+ workloadIdentityCredentialOptions.httpClient = proxyClient;
167
+ logger.info(`${credentialName}: Using proxy client for token requests`);
168
+ }
171
169
  }
172
- /**
173
- * Creates a proxy HttpClient that intercepts token requests and redirects them to the Kubernetes endpoint
174
- * Caching is handled at the credential level to persist across token requests
175
- */
176
- createAksProxyClient(tokenEndpoint) {
177
- const defaultClient = (0, core_rest_pipeline_1.createDefaultHttpClient)();
178
- // Init cached TLS settings at construction time to fail fast on misconfiguration
179
- this.cachedTlsSettings = this.getTlsSettings();
180
- return {
181
- sendRequest: async (request) => {
182
- const requestUrl = new URL(request.url);
183
- logger.info(`${credentialName}: Redirecting request to Kubernetes endpoint: ${tokenEndpoint}`);
184
- const proxyUrl = new URL(tokenEndpoint);
185
- // Remove leading slash from request path and join with proxy path
186
- const requestPath = requestUrl.pathname.replace(/^\//, "");
187
- const combinedPath = proxyUrl.pathname.endsWith("/")
188
- ? proxyUrl.pathname + requestPath
189
- : proxyUrl.pathname + "/" + requestPath;
190
- // Create new URL preserving query and fragment from original request
191
- const newUrl = new URL(proxyUrl.origin);
192
- newUrl.pathname = combinedPath;
193
- newUrl.search = requestUrl.search;
194
- newUrl.hash = requestUrl.hash;
195
- request.url = newUrl.toString();
196
- request.tlsSettings = this.getTlsSettings();
197
- logger.info(`${credentialName}: Sending request to ${request.url}`);
198
- // Forward the modified request with custom TLS settings
199
- return defaultClient.sendRequest(request);
200
- },
201
- };
170
+ logger.info(
171
+ `Invoking ClientAssertionCredential with tenant ID: ${tenantId}, clientId: ${workloadIdentityCredentialOptions.clientId} and federated token path: [REDACTED]`
172
+ );
173
+ this.client = new import_clientAssertionCredential.ClientAssertionCredential(
174
+ tenantId,
175
+ clientId,
176
+ this.readFileContents.bind(this),
177
+ workloadIdentityCredentialOptions
178
+ );
179
+ }
180
+ /**
181
+ * Creates a proxy HttpClient that intercepts token requests and redirects them to the Kubernetes endpoint
182
+ * Caching is handled at the credential level to persist across token requests
183
+ */
184
+ createAksProxyClient(tokenEndpoint) {
185
+ const defaultClient = (0, import_core_rest_pipeline.createDefaultHttpClient)();
186
+ this.cachedTlsSettings = this.getTlsSettings();
187
+ return {
188
+ sendRequest: async (request) => {
189
+ const requestUrl = new URL(request.url);
190
+ logger.info(
191
+ `${credentialName}: Redirecting request to Kubernetes endpoint: ${tokenEndpoint}`
192
+ );
193
+ const proxyUrl = new URL(tokenEndpoint);
194
+ const requestPath = requestUrl.pathname.replace(/^\//, "");
195
+ const combinedPath = proxyUrl.pathname.endsWith("/") ? proxyUrl.pathname + requestPath : proxyUrl.pathname + "/" + requestPath;
196
+ const newUrl = new URL(proxyUrl.origin);
197
+ newUrl.pathname = combinedPath;
198
+ newUrl.search = requestUrl.search;
199
+ newUrl.hash = requestUrl.hash;
200
+ request.url = newUrl.toString();
201
+ request.tlsSettings = this.getTlsSettings();
202
+ logger.info(`${credentialName}: Sending request to ${request.url}`);
203
+ return defaultClient.sendRequest(request);
204
+ }
205
+ };
206
+ }
207
+ /**
208
+ * Gets TLS settings for the request.
209
+ * Handles a few scenarios with CA data or CA file provided.
210
+ */
211
+ getTlsSettings() {
212
+ if (!this.caData && !this.caFile) {
213
+ if (!this.cachedTlsSettings) {
214
+ this.cachedTlsSettings = this.sniName ? { servername: this.sniName } : {};
215
+ }
216
+ return this.cachedTlsSettings;
202
217
  }
203
- /**
204
- * Gets TLS settings for the request.
205
- * Handles a few scenarios with CA data or CA file provided.
206
- */
207
- getTlsSettings() {
208
- // No CA overrides, use default transport
209
- if (!this.caData && !this.caFile) {
210
- if (!this.cachedTlsSettings) {
211
- this.cachedTlsSettings = this.sniName ? { servername: this.sniName } : {};
212
- }
213
- return this.cachedTlsSettings;
214
- }
215
- // Host provided CA bytes in AZURE_KUBERNETES_CA_DATA and can't change now
216
- if (!this.caFile) {
217
- if (!this.cachedTlsSettings) {
218
- if (!(0, certificatesUtils_js_1.canParseAsX509Certificate)(this.caData)) {
219
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.INVALID_CA_CERTIFICATES}`);
220
- }
221
- this.cachedTlsSettings = this.sniName ? { servername: this.sniName } : {};
222
- this.cachedTlsSettings.ca = this.caData;
223
- }
224
- return this.cachedTlsSettings;
218
+ if (!this.caFile) {
219
+ if (!this.cachedTlsSettings) {
220
+ if (!(0, import_certificatesUtils.canParseAsX509Certificate)(this.caData)) {
221
+ throw new import_errors.CredentialUnavailableError(
222
+ `${credentialName}: is unavailable. ${ErrorMessages.INVALID_CA_CERTIFICATES}`
223
+ );
225
224
  }
226
- // Host provided the CA bytes in a file whose contents it can change,
227
- let fileContent;
228
- try {
229
- fileContent = (0, node_fs_1.readFileSync)(this.caFile);
230
- }
231
- catch (error) {
232
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.FAILED_TO_READ_CA_FILE(this.caFile, error)}`);
233
- }
234
- // This can happen in the middle of CA rotation
235
- if (fileContent.length === 0) {
236
- if (!this.cachedTlsSettings) {
237
- // If the transport was never created, error out here to force retrying the call later
238
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.CA_FILE_EMPTY(this.caFile)}`);
239
- }
240
- // If the transport was already created, just keep using it
241
- return this.cachedTlsSettings;
242
- }
243
- // Check if CA has changed
244
- if (!this.cachedCaData || !fileContent.equals(this.cachedCaData)) {
245
- const caDataString = fileContent.toString("utf8");
246
- if (!(0, certificatesUtils_js_1.canParseAsX509Certificate)(caDataString)) {
247
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.INVALID_CA_CERTIFICATES}`);
248
- }
249
- // CA has changed, rebuild the TLS settings with new CA pool
250
- this.cachedTlsSettings = {
251
- ca: caDataString,
252
- ...(this.sniName && { servername: this.sniName }),
253
- };
254
- this.cachedCaData = fileContent;
255
- }
256
- return this.cachedTlsSettings;
225
+ this.cachedTlsSettings = this.sniName ? { servername: this.sniName } : {};
226
+ this.cachedTlsSettings.ca = this.caData;
227
+ }
228
+ return this.cachedTlsSettings;
257
229
  }
258
- /**
259
- * Authenticates with Microsoft Entra ID and returns an access token if successful.
260
- * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.
261
- *
262
- * @param scopes - The list of scopes for which the token will have access.
263
- * @param options - The options used to configure any requests this
264
- * TokenCredential implementation might make.
265
- */
266
- async getToken(scopes, options) {
267
- if (!this.client) {
268
- const errorMessage = `${credentialName}: is unavailable. ${ErrorMessages.MISSING_ENV_VARS}`;
269
- logger.info(errorMessage);
270
- throw new errors_js_1.CredentialUnavailableError(errorMessage);
271
- }
272
- logger.info("Invoking getToken() of Client Assertion Credential");
273
- return this.client.getToken(scopes, options);
230
+ let fileContent;
231
+ try {
232
+ fileContent = (0, import_node_fs.readFileSync)(this.caFile);
233
+ } catch (error) {
234
+ throw new import_errors.CredentialUnavailableError(
235
+ `${credentialName}: is unavailable. ${ErrorMessages.FAILED_TO_READ_CA_FILE(this.caFile, error)}`
236
+ );
274
237
  }
275
- async readFileContents() {
276
- // Cached assertions expire after 5 minutes
277
- if (this.cacheDate !== undefined && Date.now() - this.cacheDate >= 1000 * 60 * 5) {
278
- this.azureFederatedTokenFileContent = undefined;
279
- }
280
- if (!this.federatedTokenFilePath) {
281
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.INVALID_FILE_PATH(this.federatedTokenFilePath)}`);
282
- }
283
- if (!this.azureFederatedTokenFileContent) {
284
- const file = await (0, promises_1.readFile)(this.federatedTokenFilePath, "utf8");
285
- const value = file.trim();
286
- if (!value) {
287
- throw new errors_js_1.CredentialUnavailableError(`${credentialName}: is unavailable. ${ErrorMessages.NO_FILE_CONTENT(this.federatedTokenFilePath)}`);
288
- }
289
- else {
290
- this.azureFederatedTokenFileContent = value;
291
- this.cacheDate = Date.now();
292
- }
293
- }
294
- return this.azureFederatedTokenFileContent;
238
+ if (fileContent.length === 0) {
239
+ if (!this.cachedTlsSettings) {
240
+ throw new import_errors.CredentialUnavailableError(
241
+ `${credentialName}: is unavailable. ${ErrorMessages.CA_FILE_EMPTY(this.caFile)}`
242
+ );
243
+ }
244
+ return this.cachedTlsSettings;
245
+ }
246
+ if (!this.cachedCaData || !fileContent.equals(this.cachedCaData)) {
247
+ const caDataString = fileContent.toString("utf8");
248
+ if (!(0, import_certificatesUtils.canParseAsX509Certificate)(caDataString)) {
249
+ throw new import_errors.CredentialUnavailableError(
250
+ `${credentialName}: is unavailable. ${ErrorMessages.INVALID_CA_CERTIFICATES}`
251
+ );
252
+ }
253
+ this.cachedTlsSettings = {
254
+ ca: caDataString,
255
+ ...this.sniName && { servername: this.sniName }
256
+ };
257
+ this.cachedCaData = fileContent;
258
+ }
259
+ return this.cachedTlsSettings;
260
+ }
261
+ /**
262
+ * Authenticates with Microsoft Entra ID and returns an access token if successful.
263
+ * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.
264
+ *
265
+ * @param scopes - The list of scopes for which the token will have access.
266
+ * @param options - The options used to configure any requests this
267
+ * TokenCredential implementation might make.
268
+ */
269
+ async getToken(scopes, options) {
270
+ if (!this.client) {
271
+ const errorMessage = `${credentialName}: is unavailable. ${ErrorMessages.MISSING_ENV_VARS}`;
272
+ logger.info(errorMessage);
273
+ throw new import_errors.CredentialUnavailableError(errorMessage);
274
+ }
275
+ logger.info("Invoking getToken() of Client Assertion Credential");
276
+ return this.client.getToken(scopes, options);
277
+ }
278
+ async readFileContents() {
279
+ if (this.cacheDate !== void 0 && Date.now() - this.cacheDate >= 1e3 * 60 * 5) {
280
+ this.azureFederatedTokenFileContent = void 0;
281
+ }
282
+ if (!this.federatedTokenFilePath) {
283
+ throw new import_errors.CredentialUnavailableError(
284
+ `${credentialName}: is unavailable. ${ErrorMessages.INVALID_FILE_PATH(this.federatedTokenFilePath)}`
285
+ );
286
+ }
287
+ if (!this.azureFederatedTokenFileContent) {
288
+ const file = await (0, import_promises.readFile)(this.federatedTokenFilePath, "utf8");
289
+ const value = file.trim();
290
+ if (!value) {
291
+ throw new import_errors.CredentialUnavailableError(
292
+ `${credentialName}: is unavailable. ${ErrorMessages.NO_FILE_CONTENT(this.federatedTokenFilePath)}`
293
+ );
294
+ } else {
295
+ this.azureFederatedTokenFileContent = value;
296
+ this.cacheDate = Date.now();
297
+ }
295
298
  }
299
+ return this.azureFederatedTokenFileContent;
300
+ }
296
301
  }
297
- exports.WorkloadIdentityCredential = WorkloadIdentityCredential;
298
- //# sourceMappingURL=workloadIdentityCredential.js.map
302
+ // Annotate the CommonJS export names for ESM import in node:
303
+ 0 && (module.exports = {
304
+ SupportedWorkloadEnvironmentVariables,
305
+ WorkloadIdentityCredential,
306
+ parseAndValidateCustomTokenProxy
307
+ });
308
+ //# sourceMappingURL=workloadIdentityCredential.js.map