@azure/identity 4.14.0-beta.2 → 4.14.0-beta.4

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 (470) hide show
  1. package/dist/browser/client/identityClient.d.ts.map +1 -1
  2. package/dist/browser/client/identityClient.js +2 -1
  3. package/dist/browser/client/identityClient.js.map +1 -1
  4. package/dist/browser/constants.d.ts +1 -1
  5. package/dist/browser/constants.js +1 -1
  6. package/dist/browser/constants.js.map +1 -1
  7. package/dist/browser/credentials/{authorizationCodeCredential.d.ts → authorizationCodeCredential-browser.d.mts} +2 -2
  8. package/dist/browser/credentials/authorizationCodeCredential-browser.d.mts.map +1 -1
  9. package/dist/browser/credentials/{authorizationCodeCredential.js → authorizationCodeCredential-browser.mjs} +1 -1
  10. package/dist/browser/credentials/authorizationCodeCredential-browser.mjs.map +1 -1
  11. package/dist/browser/credentials/azureCliCredential-browser.d.mts +14 -0
  12. package/dist/browser/credentials/azureCliCredential-browser.d.mts.map +1 -1
  13. package/dist/browser/credentials/{azureCliCredential.js → azureCliCredential-browser.mjs} +2 -2
  14. package/dist/browser/credentials/azureCliCredential-browser.mjs.map +1 -1
  15. package/dist/browser/credentials/azureDeveloperCliCredential-browser.d.mts +14 -0
  16. package/dist/browser/credentials/azureDeveloperCliCredential-browser.d.mts.map +1 -1
  17. package/dist/browser/credentials/{azureDeveloperCliCredential.js → azureDeveloperCliCredential-browser.mjs} +2 -2
  18. package/dist/browser/credentials/azureDeveloperCliCredential-browser.mjs.map +1 -1
  19. package/dist/browser/credentials/azurePipelinesCredential-browser.d.mts +14 -0
  20. package/dist/browser/credentials/azurePipelinesCredential-browser.d.mts.map +1 -1
  21. package/dist/browser/credentials/{azurePipelinesCredential.js → azurePipelinesCredential-browser.mjs} +2 -2
  22. package/dist/browser/credentials/azurePipelinesCredential-browser.mjs.map +1 -1
  23. package/dist/browser/credentials/azurePowerShellCredential-browser.d.mts +13 -0
  24. package/dist/browser/credentials/azurePowerShellCredential-browser.d.mts.map +1 -1
  25. package/dist/browser/credentials/{azurePowerShellCredential.js → azurePowerShellCredential-browser.mjs} +2 -2
  26. package/dist/browser/credentials/azurePowerShellCredential-browser.mjs.map +1 -1
  27. package/dist/browser/credentials/clientAssertionCredential-browser.d.mts +13 -0
  28. package/dist/browser/credentials/clientAssertionCredential-browser.d.mts.map +1 -1
  29. package/dist/browser/credentials/{clientAssertionCredential.js → clientAssertionCredential-browser.mjs} +2 -2
  30. package/dist/browser/credentials/clientAssertionCredential-browser.mjs.map +1 -1
  31. package/dist/browser/credentials/clientCertificateCredential-browser.d.mts +15 -0
  32. package/dist/browser/credentials/clientCertificateCredential-browser.d.mts.map +1 -1
  33. package/dist/browser/credentials/{clientCertificateCredential.js → clientCertificateCredential-browser.mjs} +2 -2
  34. package/dist/browser/credentials/clientCertificateCredential-browser.mjs.map +1 -1
  35. package/dist/browser/credentials/{defaultAzureCredential.d.ts → defaultAzureCredential-browser.d.mts} +2 -2
  36. package/dist/browser/credentials/defaultAzureCredential-browser.d.mts.map +1 -1
  37. package/dist/browser/credentials/{defaultAzureCredential.js → defaultAzureCredential-browser.mjs} +1 -1
  38. package/dist/browser/credentials/defaultAzureCredential-browser.mjs.map +1 -1
  39. package/dist/browser/credentials/defaultAzureCredentialOptions.d.ts +2 -2
  40. package/dist/browser/credentials/defaultAzureCredentialOptions.js.map +1 -1
  41. package/dist/browser/credentials/deviceCodeCredential-browser.d.mts +14 -0
  42. package/dist/browser/credentials/deviceCodeCredential-browser.d.mts.map +1 -1
  43. package/dist/browser/credentials/{deviceCodeCredential.js → deviceCodeCredential-browser.mjs} +2 -2
  44. package/dist/browser/credentials/deviceCodeCredential-browser.mjs.map +1 -1
  45. package/dist/browser/credentials/environmentCredential-browser.d.mts +14 -0
  46. package/dist/browser/credentials/environmentCredential-browser.d.mts.map +1 -1
  47. package/dist/browser/credentials/{environmentCredential.js → environmentCredential-browser.mjs} +2 -2
  48. package/dist/browser/credentials/environmentCredential-browser.mjs.map +1 -1
  49. package/dist/browser/credentials/managedIdentityCredential/index-browser.d.mts +11 -0
  50. package/dist/browser/credentials/managedIdentityCredential/index-browser.d.mts.map +1 -1
  51. package/dist/browser/credentials/managedIdentityCredential/{index.js → index-browser.mjs} +2 -2
  52. package/dist/browser/credentials/managedIdentityCredential/index-browser.mjs.map +1 -1
  53. package/dist/browser/credentials/onBehalfOfCredential-browser.d.mts +13 -0
  54. package/dist/browser/credentials/onBehalfOfCredential-browser.d.mts.map +1 -1
  55. package/dist/browser/credentials/{onBehalfOfCredential.js → onBehalfOfCredential-browser.mjs} +2 -2
  56. package/dist/browser/credentials/onBehalfOfCredential-browser.mjs.map +1 -1
  57. package/dist/browser/credentials/usernamePasswordCredential-browser.mjs.map +1 -1
  58. package/dist/browser/credentials/{visualStudioCodeCredential.d.ts → visualStudioCodeCredential-browser.d.mts} +4 -3
  59. package/dist/browser/credentials/visualStudioCodeCredential-browser.d.mts.map +1 -1
  60. package/dist/browser/credentials/{visualStudioCodeCredential.js → visualStudioCodeCredential-browser.mjs} +2 -2
  61. package/dist/browser/credentials/visualStudioCodeCredential-browser.mjs.map +1 -1
  62. package/dist/browser/credentials/{workloadIdentityCredential.d.ts → workloadIdentityCredential-browser.d.mts} +4 -3
  63. package/dist/browser/credentials/workloadIdentityCredential-browser.d.mts.map +1 -1
  64. package/dist/browser/credentials/{workloadIdentityCredential.js → workloadIdentityCredential-browser.mjs} +2 -2
  65. package/dist/browser/credentials/workloadIdentityCredential-browser.mjs.map +1 -1
  66. package/dist/browser/index.d.ts +51 -51
  67. package/dist/browser/index.d.ts.map +1 -1
  68. package/dist/browser/index.js +19 -19
  69. package/dist/browser/index.js.map +1 -1
  70. package/dist/browser/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
  71. package/dist/browser/msal/browserFlows/msalBrowserCommon.js +2 -3
  72. package/dist/browser/msal/browserFlows/msalBrowserCommon.js.map +1 -1
  73. package/dist/browser/msal/msal-browser.d.mts +2 -0
  74. package/dist/browser/msal/msal-browser.d.mts.map +1 -1
  75. package/dist/browser/msal/msal-browser.mjs +4 -0
  76. package/dist/browser/msal/msal-browser.mjs.map +1 -1
  77. package/dist/browser/msal/utils.d.ts +5 -4
  78. package/dist/browser/msal/utils.d.ts.map +1 -1
  79. package/dist/browser/msal/utils.js +16 -11
  80. package/dist/browser/msal/utils.js.map +1 -1
  81. package/dist/browser/util/{processMultiTenantRequest.d.ts → processMultiTenantRequest-browser.d.mts} +2 -1
  82. package/dist/browser/util/processMultiTenantRequest-browser.d.mts.map +1 -1
  83. package/dist/browser/util/{processMultiTenantRequest.js → processMultiTenantRequest-browser.mjs} +1 -1
  84. package/dist/browser/util/processMultiTenantRequest-browser.mjs.map +1 -1
  85. package/dist/browser/util/tenantIdUtils.d.ts +1 -1
  86. package/dist/browser/util/tenantIdUtils.d.ts.map +1 -1
  87. package/dist/browser/util/tenantIdUtils.js +1 -1
  88. package/dist/browser/util/tenantIdUtils.js.map +1 -1
  89. package/dist/commonjs/client/identityClient.d.ts.map +1 -1
  90. package/dist/commonjs/client/identityClient.js +295 -288
  91. package/dist/commonjs/client/identityClient.js.map +7 -1
  92. package/dist/commonjs/constants.d.ts +1 -1
  93. package/dist/commonjs/constants.js +61 -78
  94. package/dist/commonjs/constants.js.map +7 -1
  95. package/dist/commonjs/credentials/authorityValidationOptions.js +16 -5
  96. package/dist/commonjs/credentials/authorityValidationOptions.js.map +7 -1
  97. package/dist/commonjs/credentials/authorizationCodeCredential.js +98 -74
  98. package/dist/commonjs/credentials/authorizationCodeCredential.js.map +7 -1
  99. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js +16 -5
  100. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js.map +7 -1
  101. package/dist/commonjs/credentials/azureCliCredential.d.ts.map +1 -1
  102. package/dist/commonjs/credentials/azureCliCredential.js +246 -214
  103. package/dist/commonjs/credentials/azureCliCredential.js.map +7 -1
  104. package/dist/commonjs/credentials/azureCliCredentialOptions.js +16 -5
  105. package/dist/commonjs/credentials/azureCliCredentialOptions.js.map +7 -1
  106. package/dist/commonjs/credentials/azureDeveloperCliCredential.d.ts +12 -4
  107. package/dist/commonjs/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  108. package/dist/commonjs/credentials/azureDeveloperCliCredential.js +262 -224
  109. package/dist/commonjs/credentials/azureDeveloperCliCredential.js.map +7 -1
  110. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js +16 -5
  111. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js.map +7 -1
  112. package/dist/commonjs/credentials/azurePipelinesCredential.js +173 -135
  113. package/dist/commonjs/credentials/azurePipelinesCredential.js.map +7 -1
  114. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js +16 -5
  115. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js.map +7 -1
  116. package/dist/commonjs/credentials/azurePowerShellCredential.d.ts.map +1 -1
  117. package/dist/commonjs/credentials/azurePowerShellCredential.js +205 -205
  118. package/dist/commonjs/credentials/azurePowerShellCredential.js.map +7 -1
  119. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js +16 -5
  120. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js.map +7 -1
  121. package/dist/commonjs/credentials/brokerAuthOptions.js +16 -3
  122. package/dist/commonjs/credentials/brokerAuthOptions.js.map +7 -1
  123. package/dist/commonjs/credentials/brokerCredential.js +103 -70
  124. package/dist/commonjs/credentials/brokerCredential.js.map +7 -1
  125. package/dist/commonjs/credentials/browserCustomizationOptions.js +16 -5
  126. package/dist/commonjs/credentials/browserCustomizationOptions.js.map +7 -1
  127. package/dist/commonjs/credentials/chainedTokenCredential.js +113 -93
  128. package/dist/commonjs/credentials/chainedTokenCredential.js.map +7 -1
  129. package/dist/commonjs/credentials/clientAssertionCredential.js +101 -63
  130. package/dist/commonjs/credentials/clientAssertionCredential.js.map +7 -1
  131. package/dist/commonjs/credentials/clientAssertionCredentialOptions.js +16 -5
  132. package/dist/commonjs/credentials/clientAssertionCredentialOptions.js.map +7 -1
  133. package/dist/commonjs/credentials/clientCertificateCredential.js +129 -123
  134. package/dist/commonjs/credentials/clientCertificateCredential.js.map +7 -1
  135. package/dist/commonjs/credentials/clientCertificateCredentialModels.js +16 -5
  136. package/dist/commonjs/credentials/clientCertificateCredentialModels.js.map +7 -1
  137. package/dist/commonjs/credentials/clientCertificateCredentialOptions.js +16 -5
  138. package/dist/commonjs/credentials/clientCertificateCredentialOptions.js.map +7 -1
  139. package/dist/commonjs/credentials/clientSecretCredential.js +96 -67
  140. package/dist/commonjs/credentials/clientSecretCredential.js.map +7 -1
  141. package/dist/commonjs/credentials/clientSecretCredentialOptions.js +16 -5
  142. package/dist/commonjs/credentials/clientSecretCredentialOptions.js.map +7 -1
  143. package/dist/commonjs/credentials/credentialPersistenceOptions.js +16 -5
  144. package/dist/commonjs/credentials/credentialPersistenceOptions.js.map +7 -1
  145. package/dist/commonjs/credentials/defaultAzureCredential.js +121 -159
  146. package/dist/commonjs/credentials/defaultAzureCredential.js.map +7 -1
  147. package/dist/commonjs/credentials/defaultAzureCredentialFunctions.js +110 -140
  148. package/dist/commonjs/credentials/defaultAzureCredentialFunctions.js.map +7 -1
  149. package/dist/commonjs/credentials/defaultAzureCredentialOptions.d.ts +2 -2
  150. package/dist/commonjs/credentials/defaultAzureCredentialOptions.js +16 -5
  151. package/dist/commonjs/credentials/defaultAzureCredentialOptions.js.map +7 -1
  152. package/dist/commonjs/credentials/deviceCodeCredential.js +132 -103
  153. package/dist/commonjs/credentials/deviceCodeCredential.js.map +7 -1
  154. package/dist/commonjs/credentials/deviceCodeCredentialOptions.js +16 -5
  155. package/dist/commonjs/credentials/deviceCodeCredentialOptions.js.map +7 -1
  156. package/dist/commonjs/credentials/environmentCredential.js +157 -123
  157. package/dist/commonjs/credentials/environmentCredential.js.map +7 -1
  158. package/dist/commonjs/credentials/environmentCredentialOptions.js +16 -5
  159. package/dist/commonjs/credentials/environmentCredentialOptions.js.map +7 -1
  160. package/dist/commonjs/credentials/interactiveBrowserCredential.js +144 -107
  161. package/dist/commonjs/credentials/interactiveBrowserCredential.js.map +7 -1
  162. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js +16 -5
  163. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js.map +7 -1
  164. package/dist/commonjs/credentials/interactiveCredentialOptions.js +16 -5
  165. package/dist/commonjs/credentials/interactiveCredentialOptions.js.map +7 -1
  166. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js +92 -91
  167. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js.map +7 -1
  168. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js +51 -44
  169. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +7 -1
  170. package/dist/commonjs/credentials/managedIdentityCredential/index.js +256 -242
  171. package/dist/commonjs/credentials/managedIdentityCredential/index.js.map +7 -1
  172. package/dist/commonjs/credentials/managedIdentityCredential/models.js +16 -5
  173. package/dist/commonjs/credentials/managedIdentityCredential/models.js.map +7 -1
  174. package/dist/commonjs/credentials/managedIdentityCredential/options.js +16 -5
  175. package/dist/commonjs/credentials/managedIdentityCredential/options.js.map +7 -1
  176. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js +56 -39
  177. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +7 -1
  178. package/dist/commonjs/credentials/managedIdentityCredential/utils.js +79 -75
  179. package/dist/commonjs/credentials/managedIdentityCredential/utils.js.map +7 -1
  180. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js +16 -5
  181. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js.map +7 -1
  182. package/dist/commonjs/credentials/onBehalfOfCredential.js +168 -126
  183. package/dist/commonjs/credentials/onBehalfOfCredential.js.map +7 -1
  184. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js +16 -5
  185. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js.map +7 -1
  186. package/dist/commonjs/credentials/usernamePasswordCredential.js +112 -75
  187. package/dist/commonjs/credentials/usernamePasswordCredential.js.map +7 -1
  188. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js +16 -5
  189. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js.map +7 -1
  190. package/dist/commonjs/credentials/visualStudioCodeCredential.js +144 -132
  191. package/dist/commonjs/credentials/visualStudioCodeCredential.js.map +7 -1
  192. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js +16 -5
  193. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js.map +7 -1
  194. package/dist/commonjs/credentials/workloadIdentityCredential.js +284 -274
  195. package/dist/commonjs/credentials/workloadIdentityCredential.js.map +7 -1
  196. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js +16 -5
  197. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js.map +7 -1
  198. package/dist/commonjs/errors.js +131 -132
  199. package/dist/commonjs/errors.js.map +7 -1
  200. package/dist/commonjs/index.d.ts +33 -33
  201. package/dist/commonjs/index.d.ts.map +1 -1
  202. package/dist/commonjs/index.js +115 -67
  203. package/dist/commonjs/index.js.map +7 -1
  204. package/dist/commonjs/msal/msal.d.ts +1 -2
  205. package/dist/commonjs/msal/msal.d.ts.map +1 -1
  206. package/dist/commonjs/msal/msal.js +30 -9
  207. package/dist/commonjs/msal/msal.js.map +7 -1
  208. package/dist/commonjs/msal/nodeFlows/brokerOptions.js +16 -3
  209. package/dist/commonjs/msal/nodeFlows/brokerOptions.js.map +7 -1
  210. package/dist/commonjs/msal/nodeFlows/msalClient.d.ts +2 -2
  211. package/dist/commonjs/msal/nodeFlows/msalClient.d.ts.map +1 -1
  212. package/dist/commonjs/msal/nodeFlows/msalClient.js +450 -478
  213. package/dist/commonjs/msal/nodeFlows/msalClient.js.map +7 -1
  214. package/dist/commonjs/msal/nodeFlows/msalPlugins.js +140 -147
  215. package/dist/commonjs/msal/nodeFlows/msalPlugins.js.map +7 -1
  216. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js +16 -5
  217. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js.map +7 -1
  218. package/dist/commonjs/msal/types.js +16 -5
  219. package/dist/commonjs/msal/types.js.map +7 -1
  220. package/dist/commonjs/msal/utils.d.ts +5 -4
  221. package/dist/commonjs/msal/utils.d.ts.map +1 -1
  222. package/dist/commonjs/msal/utils.js +176 -211
  223. package/dist/commonjs/msal/utils.js.map +7 -1
  224. package/dist/commonjs/plugins/consumer.js +32 -40
  225. package/dist/commonjs/plugins/consumer.js.map +7 -1
  226. package/dist/commonjs/plugins/provider.js +16 -5
  227. package/dist/commonjs/plugins/provider.js.map +7 -1
  228. package/dist/commonjs/regionalAuthority.js +93 -141
  229. package/dist/commonjs/regionalAuthority.js.map +7 -1
  230. package/dist/commonjs/tokenCredentialOptions.js +16 -5
  231. package/dist/commonjs/tokenCredentialOptions.js.map +7 -1
  232. package/dist/commonjs/tokenProvider.js +52 -52
  233. package/dist/commonjs/tokenProvider.js.map +7 -1
  234. package/dist/commonjs/tsdoc-metadata.json +1 -1
  235. package/dist/commonjs/util/authorityHost.js +34 -19
  236. package/dist/commonjs/util/authorityHost.js.map +7 -1
  237. package/dist/commonjs/util/certificatesUtils.js +54 -45
  238. package/dist/commonjs/util/certificatesUtils.js.map +7 -1
  239. package/dist/commonjs/util/identityTokenEndpoint.js +32 -12
  240. package/dist/commonjs/util/identityTokenEndpoint.js.map +7 -1
  241. package/dist/commonjs/util/logging.js +91 -97
  242. package/dist/commonjs/util/logging.js.map +7 -1
  243. package/dist/commonjs/util/processMultiTenantRequest.js +43 -33
  244. package/dist/commonjs/util/processMultiTenantRequest.js.map +7 -1
  245. package/dist/commonjs/util/processUtils.js +60 -35
  246. package/dist/commonjs/util/processUtils.js.map +7 -1
  247. package/dist/commonjs/util/scopeUtils.js +39 -28
  248. package/dist/commonjs/util/scopeUtils.js.map +7 -1
  249. package/dist/commonjs/util/subscriptionUtils.js +35 -17
  250. package/dist/commonjs/util/subscriptionUtils.js.map +7 -1
  251. package/dist/commonjs/util/tenantIdUtils.d.ts.map +1 -1
  252. package/dist/commonjs/util/tenantIdUtils.js +61 -45
  253. package/dist/commonjs/util/tenantIdUtils.js.map +7 -1
  254. package/dist/commonjs/util/tracing.js +33 -16
  255. package/dist/commonjs/util/tracing.js.map +7 -1
  256. package/dist/esm/client/identityClient.d.ts.map +1 -1
  257. package/dist/esm/client/identityClient.js +2 -1
  258. package/dist/esm/client/identityClient.js.map +1 -1
  259. package/dist/esm/constants.d.ts +1 -1
  260. package/dist/esm/constants.js +1 -1
  261. package/dist/esm/constants.js.map +1 -1
  262. package/dist/esm/credentials/azureCliCredential.d.ts.map +1 -1
  263. package/dist/esm/credentials/azureCliCredential.js +2 -1
  264. package/dist/esm/credentials/azureCliCredential.js.map +1 -1
  265. package/dist/esm/credentials/azureDeveloperCliCredential.d.ts +12 -4
  266. package/dist/esm/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  267. package/dist/esm/credentials/azureDeveloperCliCredential.js +40 -14
  268. package/dist/esm/credentials/azureDeveloperCliCredential.js.map +1 -1
  269. package/dist/esm/credentials/azurePipelinesCredential.js.map +1 -1
  270. package/dist/esm/credentials/azurePowerShellCredential.d.ts.map +1 -1
  271. package/dist/esm/credentials/azurePowerShellCredential.js +2 -1
  272. package/dist/esm/credentials/azurePowerShellCredential.js.map +1 -1
  273. package/dist/esm/credentials/defaultAzureCredential.js.map +1 -1
  274. package/dist/esm/credentials/defaultAzureCredentialFunctions.js.map +1 -1
  275. package/dist/esm/credentials/defaultAzureCredentialOptions.d.ts +2 -2
  276. package/dist/esm/credentials/defaultAzureCredentialOptions.js.map +1 -1
  277. package/dist/esm/credentials/environmentCredential.js.map +1 -1
  278. package/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
  279. package/dist/esm/credentials/workloadIdentityCredential.js.map +1 -1
  280. package/dist/esm/index.d.ts +33 -33
  281. package/dist/esm/index.d.ts.map +1 -1
  282. package/dist/esm/index.js.map +1 -1
  283. package/dist/esm/msal/msal.d.ts +1 -2
  284. package/dist/esm/msal/msal.d.ts.map +1 -1
  285. package/dist/esm/msal/msal.js +1 -2
  286. package/dist/esm/msal/msal.js.map +1 -1
  287. package/dist/esm/msal/nodeFlows/msalClient.d.ts +2 -2
  288. package/dist/esm/msal/nodeFlows/msalClient.d.ts.map +1 -1
  289. package/dist/esm/msal/nodeFlows/msalClient.js +3 -3
  290. package/dist/esm/msal/nodeFlows/msalClient.js.map +1 -1
  291. package/dist/esm/msal/utils.d.ts +5 -4
  292. package/dist/esm/msal/utils.d.ts.map +1 -1
  293. package/dist/esm/msal/utils.js +16 -11
  294. package/dist/esm/msal/utils.js.map +1 -1
  295. package/dist/esm/util/tenantIdUtils.d.ts.map +1 -1
  296. package/dist/esm/util/tenantIdUtils.js.map +1 -1
  297. package/dist/workerd/client/identityClient.d.ts.map +1 -1
  298. package/dist/workerd/client/identityClient.js +2 -1
  299. package/dist/workerd/client/identityClient.js.map +1 -1
  300. package/dist/workerd/constants.d.ts +1 -1
  301. package/dist/workerd/constants.js +1 -1
  302. package/dist/workerd/constants.js.map +1 -1
  303. package/dist/workerd/credentials/azureCliCredential.d.ts.map +1 -1
  304. package/dist/workerd/credentials/azureCliCredential.js +2 -1
  305. package/dist/workerd/credentials/azureCliCredential.js.map +1 -1
  306. package/dist/workerd/credentials/azureDeveloperCliCredential.d.ts +12 -4
  307. package/dist/workerd/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  308. package/dist/workerd/credentials/azureDeveloperCliCredential.js +40 -14
  309. package/dist/workerd/credentials/azureDeveloperCliCredential.js.map +1 -1
  310. package/dist/workerd/credentials/azurePipelinesCredential.js.map +1 -1
  311. package/dist/workerd/credentials/azurePowerShellCredential.d.ts.map +1 -1
  312. package/dist/workerd/credentials/azurePowerShellCredential.js +2 -1
  313. package/dist/workerd/credentials/azurePowerShellCredential.js.map +1 -1
  314. package/dist/workerd/credentials/defaultAzureCredential.js.map +1 -1
  315. package/dist/workerd/credentials/defaultAzureCredentialFunctions.js.map +1 -1
  316. package/dist/workerd/credentials/defaultAzureCredentialOptions.d.ts +2 -2
  317. package/dist/workerd/credentials/defaultAzureCredentialOptions.js.map +1 -1
  318. package/dist/workerd/credentials/environmentCredential.js.map +1 -1
  319. package/dist/workerd/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
  320. package/dist/workerd/credentials/workloadIdentityCredential.js.map +1 -1
  321. package/dist/workerd/index.d.ts +33 -33
  322. package/dist/workerd/index.d.ts.map +1 -1
  323. package/dist/workerd/index.js.map +1 -1
  324. package/dist/workerd/msal/msal.d.ts +1 -2
  325. package/dist/workerd/msal/msal.d.ts.map +1 -1
  326. package/dist/workerd/msal/msal.js +1 -2
  327. package/dist/workerd/msal/msal.js.map +1 -1
  328. package/dist/workerd/msal/nodeFlows/msalClient.d.ts +2 -2
  329. package/dist/workerd/msal/nodeFlows/msalClient.d.ts.map +1 -1
  330. package/dist/workerd/msal/nodeFlows/msalClient.js +3 -3
  331. package/dist/workerd/msal/nodeFlows/msalClient.js.map +1 -1
  332. package/dist/workerd/msal/utils.d.ts +5 -4
  333. package/dist/workerd/msal/utils.d.ts.map +1 -1
  334. package/dist/workerd/msal/utils.js +16 -11
  335. package/dist/workerd/msal/utils.js.map +1 -1
  336. package/dist/workerd/util/tenantIdUtils.d.ts.map +1 -1
  337. package/dist/workerd/util/tenantIdUtils.js.map +1 -1
  338. package/package.json +29 -36
  339. package/dist/browser/credentials/azureCliCredential.d.ts +0 -13
  340. package/dist/browser/credentials/azureDeveloperCliCredential.d.ts +0 -13
  341. package/dist/browser/credentials/azurePipelinesCredential.d.ts +0 -13
  342. package/dist/browser/credentials/azurePowerShellCredential.d.ts +0 -12
  343. package/dist/browser/credentials/brokerCredential.d.ts +0 -35
  344. package/dist/browser/credentials/brokerCredential.d.ts.map +0 -1
  345. package/dist/browser/credentials/brokerCredential.js +0 -68
  346. package/dist/browser/credentials/brokerCredential.js.map +0 -1
  347. package/dist/browser/credentials/clientAssertionCredential.d.ts +0 -12
  348. package/dist/browser/credentials/clientCertificateCredential.d.ts +0 -13
  349. package/dist/browser/credentials/defaultAzureCredentialFunctions.d.ts +0 -64
  350. package/dist/browser/credentials/defaultAzureCredentialFunctions.d.ts.map +0 -1
  351. package/dist/browser/credentials/defaultAzureCredentialFunctions.js +0 -147
  352. package/dist/browser/credentials/defaultAzureCredentialFunctions.js.map +0 -1
  353. package/dist/browser/credentials/deviceCodeCredential.d.ts +0 -13
  354. package/dist/browser/credentials/environmentCredential.d.ts +0 -13
  355. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.d.ts +0 -18
  356. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.d.ts.map +0 -1
  357. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.js +0 -97
  358. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.js.map +0 -1
  359. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts +0 -13
  360. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts.map +0 -1
  361. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.js +0 -43
  362. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +0 -1
  363. package/dist/browser/credentials/managedIdentityCredential/index.d.ts +0 -6
  364. package/dist/browser/credentials/managedIdentityCredential/models.d.ts +0 -24
  365. package/dist/browser/credentials/managedIdentityCredential/models.d.ts.map +0 -1
  366. package/dist/browser/credentials/managedIdentityCredential/models.js +0 -4
  367. package/dist/browser/credentials/managedIdentityCredential/models.js.map +0 -1
  368. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts +0 -14
  369. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts.map +0 -1
  370. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.js +0 -38
  371. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +0 -1
  372. package/dist/browser/credentials/onBehalfOfCredential.d.ts +0 -12
  373. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
  374. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  375. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.js +0 -4
  376. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  377. package/dist/browser/msal/msal.d.ts +0 -3
  378. package/dist/browser/msal/msal.js +0 -5
  379. package/dist/browser/msal/nodeFlows/msalClient.d.ts +0 -205
  380. package/dist/browser/msal/nodeFlows/msalClient.d.ts.map +0 -1
  381. package/dist/browser/msal/nodeFlows/msalClient.js +0 -499
  382. package/dist/browser/msal/nodeFlows/msalClient.js.map +0 -1
  383. package/dist/browser/msal/nodeFlows/msalPlugins.d.ts +0 -109
  384. package/dist/browser/msal/nodeFlows/msalPlugins.d.ts.map +0 -1
  385. package/dist/browser/msal/nodeFlows/msalPlugins.js +0 -160
  386. package/dist/browser/msal/nodeFlows/msalPlugins.js.map +0 -1
  387. package/dist/browser/regionalAuthority.d.ts +0 -122
  388. package/dist/browser/regionalAuthority.d.ts.map +0 -1
  389. package/dist/browser/regionalAuthority.js +0 -139
  390. package/dist/browser/regionalAuthority.js.map +0 -1
  391. package/dist/browser/util/authHostEnv-browser.d.mts +0 -4
  392. package/dist/browser/util/authHostEnv-browser.d.mts.map +0 -1
  393. package/dist/browser/util/authHostEnv-browser.mjs +0 -7
  394. package/dist/browser/util/authHostEnv-browser.mjs.map +0 -1
  395. package/dist/browser/util/certificatesUtils.d.ts +0 -13
  396. package/dist/browser/util/certificatesUtils.d.ts.map +0 -1
  397. package/dist/browser/util/certificatesUtils.js +0 -47
  398. package/dist/browser/util/certificatesUtils.js.map +0 -1
  399. package/dist/browser/util/processUtils.d.ts +0 -13
  400. package/dist/browser/util/processUtils.d.ts.map +0 -1
  401. package/dist/browser/util/processUtils.js +0 -32
  402. package/dist/browser/util/processUtils.js.map +0 -1
  403. package/dist/browser/util/subscriptionUtils.d.ts +0 -6
  404. package/dist/browser/util/subscriptionUtils.d.ts.map +0 -1
  405. package/dist/browser/util/subscriptionUtils.js +0 -16
  406. package/dist/browser/util/subscriptionUtils.js.map +0 -1
  407. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
  408. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  409. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js +0 -5
  410. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  411. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
  412. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  413. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js +0 -265
  414. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  415. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
  416. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
  417. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js +0 -5
  418. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js.map +0 -1
  419. package/dist/commonjs/msal/credentials.d.ts +0 -52
  420. package/dist/commonjs/msal/credentials.d.ts.map +0 -1
  421. package/dist/commonjs/msal/credentials.js +0 -5
  422. package/dist/commonjs/msal/credentials.js.map +0 -1
  423. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
  424. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  425. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.js +0 -4
  426. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  427. package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
  428. package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  429. package/dist/esm/msal/browserFlows/msalBrowserCommon.js +0 -261
  430. package/dist/esm/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  431. package/dist/esm/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
  432. package/dist/esm/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
  433. package/dist/esm/msal/browserFlows/msalBrowserOptions.js +0 -4
  434. package/dist/esm/msal/browserFlows/msalBrowserOptions.js.map +0 -1
  435. package/dist/esm/msal/credentials.d.ts +0 -52
  436. package/dist/esm/msal/credentials.d.ts.map +0 -1
  437. package/dist/esm/msal/credentials.js +0 -4
  438. package/dist/esm/msal/credentials.js.map +0 -1
  439. package/dist/esm/util/authHostEnv-browser.d.mts +0 -4
  440. package/dist/esm/util/authHostEnv-browser.d.mts.map +0 -1
  441. package/dist/esm/util/authHostEnv-browser.mjs +0 -7
  442. package/dist/esm/util/authHostEnv-browser.mjs.map +0 -1
  443. package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
  444. package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  445. package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.js +0 -4
  446. package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  447. package/dist/workerd/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
  448. package/dist/workerd/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  449. package/dist/workerd/msal/browserFlows/msalBrowserCommon.js +0 -261
  450. package/dist/workerd/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  451. package/dist/workerd/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
  452. package/dist/workerd/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
  453. package/dist/workerd/msal/browserFlows/msalBrowserOptions.js +0 -4
  454. package/dist/workerd/msal/browserFlows/msalBrowserOptions.js.map +0 -1
  455. package/dist/workerd/msal/credentials.d.ts +0 -52
  456. package/dist/workerd/msal/credentials.d.ts.map +0 -1
  457. package/dist/workerd/msal/credentials.js +0 -4
  458. package/dist/workerd/msal/credentials.js.map +0 -1
  459. package/dist/workerd/util/authHostEnv-browser.d.mts +0 -4
  460. package/dist/workerd/util/authHostEnv-browser.d.mts.map +0 -1
  461. package/dist/workerd/util/authHostEnv-browser.mjs +0 -7
  462. package/dist/workerd/util/authHostEnv-browser.mjs.map +0 -1
  463. /package/dist/browser/credentials/{clientSecretCredential.d.ts → clientSecretCredential-browser.d.mts} +0 -0
  464. /package/dist/browser/credentials/{clientSecretCredential.js → clientSecretCredential-browser.mjs} +0 -0
  465. /package/dist/browser/credentials/{interactiveBrowserCredential.d.ts → interactiveBrowserCredential-browser.d.mts} +0 -0
  466. /package/dist/browser/credentials/{interactiveBrowserCredential.js → interactiveBrowserCredential-browser.mjs} +0 -0
  467. /package/dist/browser/credentials/{usernamePasswordCredential.d.ts → usernamePasswordCredential-browser.d.mts} +0 -0
  468. /package/dist/browser/credentials/{usernamePasswordCredential.js → usernamePasswordCredential-browser.mjs} +0 -0
  469. /package/dist/browser/plugins/{consumer.d.ts → consumer-browser.d.mts} +0 -0
  470. /package/dist/browser/plugins/{consumer.js → consumer-browser.mjs} +0 -0
@@ -1,100 +1,101 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.imdsMsi = void 0;
6
- const core_rest_pipeline_1 = require("@azure/core-rest-pipeline");
7
- const core_util_1 = require("@azure/core-util");
8
- const logging_js_1 = require("../../util/logging.js");
9
- const utils_js_1 = require("./utils.js");
10
- const tracing_js_1 = require("../../util/tracing.js");
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 imdsMsi_exports = {};
19
+ __export(imdsMsi_exports, {
20
+ imdsMsi: () => imdsMsi
21
+ });
22
+ module.exports = __toCommonJS(imdsMsi_exports);
23
+ var import_core_rest_pipeline = require("@azure/core-rest-pipeline");
24
+ var import_core_util = require("@azure/core-util");
25
+ var import_logging = require("../../util/logging.js");
26
+ var import_utils = require("./utils.js");
27
+ var import_tracing = require("../../util/tracing.js");
11
28
  const msiName = "ManagedIdentityCredential - IMDS";
12
- const logger = (0, logging_js_1.credentialLogger)(msiName);
29
+ const logger = (0, import_logging.credentialLogger)(msiName);
13
30
  const imdsHost = "http://169.254.169.254";
14
31
  const imdsEndpointPath = "/metadata/identity/oauth2/token";
15
- /**
16
- * Generates an invalid request options to get a response quickly from IMDS endpoint.
17
- * The response indicates the availability of IMSD service; otherwise the request would time out.
18
- */
19
32
  function prepareInvalidRequestOptions(scopes) {
20
- const resource = (0, utils_js_1.mapScopesToResource)(scopes);
33
+ const resource = (0, import_utils.mapScopesToResource)(scopes);
34
+ if (!resource) {
35
+ throw new Error(`${msiName}: Multiple scopes are not supported.`);
36
+ }
37
+ const url = new URL(imdsEndpointPath, process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST ?? imdsHost);
38
+ const rawHeaders = {
39
+ Accept: "application/json"
40
+ // intentionally leave out the Metadata header to invoke an error from IMDS endpoint.
41
+ };
42
+ return {
43
+ // intentionally not including any query
44
+ url: `${url}`,
45
+ method: "GET",
46
+ headers: (0, import_core_rest_pipeline.createHttpHeaders)(rawHeaders)
47
+ };
48
+ }
49
+ const imdsMsi = {
50
+ name: "imdsMsi",
51
+ async isAvailable(options) {
52
+ const { scopes, identityClient, getTokenOptions } = options;
53
+ const resource = (0, import_utils.mapScopesToResource)(scopes);
21
54
  if (!resource) {
22
- throw new Error(`${msiName}: Multiple scopes are not supported.`);
55
+ logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);
56
+ return false;
23
57
  }
24
- // Pod Identity will try to process this request even if the Metadata header is missing.
25
- // We can exclude the request query to ensure no IMDS endpoint tries to process the ping request.
26
- const url = new URL(imdsEndpointPath, process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST ?? imdsHost);
27
- const rawHeaders = {
28
- Accept: "application/json",
29
- // intentionally leave out the Metadata header to invoke an error from IMDS endpoint.
30
- };
31
- return {
32
- // intentionally not including any query
33
- url: `${url}`,
34
- method: "GET",
35
- headers: (0, core_rest_pipeline_1.createHttpHeaders)(rawHeaders),
36
- };
37
- }
38
- /**
39
- * Defines how to determine whether the Azure IMDS MSI is available.
40
- *
41
- * Actually getting the token once we determine IMDS is available is handled by MSAL.
42
- */
43
- exports.imdsMsi = {
44
- name: "imdsMsi",
45
- async isAvailable(options) {
46
- const { scopes, identityClient, getTokenOptions } = options;
47
- const resource = (0, utils_js_1.mapScopesToResource)(scopes);
48
- if (!resource) {
49
- logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);
50
- return false;
51
- }
52
- // if the PodIdentityEndpoint environment variable was set no need to probe the endpoint, it can be assumed to exist
53
- if (process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST) {
54
- return true;
58
+ if (process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST) {
59
+ return true;
60
+ }
61
+ if (!identityClient) {
62
+ throw new Error("Missing IdentityClient");
63
+ }
64
+ const requestOptions = prepareInvalidRequestOptions(resource);
65
+ return import_tracing.tracingClient.withSpan(
66
+ "ManagedIdentityCredential-pingImdsEndpoint",
67
+ getTokenOptions ?? {},
68
+ async (updatedOptions) => {
69
+ requestOptions.tracingOptions = updatedOptions.tracingOptions;
70
+ const request = (0, import_core_rest_pipeline.createPipelineRequest)(requestOptions);
71
+ request.timeout = updatedOptions.requestOptions?.timeout || 1e3;
72
+ request.allowInsecureConnection = true;
73
+ let response;
74
+ try {
75
+ logger.info(`${msiName}: Pinging the Azure IMDS endpoint`);
76
+ response = await identityClient.sendRequest(request);
77
+ } catch (err) {
78
+ if ((0, import_core_util.isError)(err)) {
79
+ logger.verbose(`${msiName}: Caught error ${err.name}: ${err.message}`);
80
+ }
81
+ logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);
82
+ return false;
55
83
  }
56
- if (!identityClient) {
57
- throw new Error("Missing IdentityClient");
84
+ if (response.status === 403) {
85
+ if (response.bodyAsText?.includes("unreachable")) {
86
+ logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);
87
+ logger.info(`${msiName}: ${response.bodyAsText}`);
88
+ return false;
89
+ }
58
90
  }
59
- const requestOptions = prepareInvalidRequestOptions(resource);
60
- return tracing_js_1.tracingClient.withSpan("ManagedIdentityCredential-pingImdsEndpoint", getTokenOptions ?? {}, async (updatedOptions) => {
61
- requestOptions.tracingOptions = updatedOptions.tracingOptions;
62
- // Create a request with a timeout since we expect that
63
- // not having a "Metadata" header should cause an error to be
64
- // returned quickly from the endpoint, proving its availability.
65
- const request = (0, core_rest_pipeline_1.createPipelineRequest)(requestOptions);
66
- // Default to 1000 if the default of 0 is used.
67
- // Negative values can still be used to disable the timeout.
68
- request.timeout = updatedOptions.requestOptions?.timeout || 1000;
69
- // This MSI uses the imdsEndpoint to get the token, which only uses http://
70
- request.allowInsecureConnection = true;
71
- let response;
72
- try {
73
- logger.info(`${msiName}: Pinging the Azure IMDS endpoint`);
74
- response = await identityClient.sendRequest(request);
75
- }
76
- catch (err) {
77
- // If the request failed, or Node.js was unable to establish a connection,
78
- // or the host was down, we'll assume the IMDS endpoint isn't available.
79
- if ((0, core_util_1.isError)(err)) {
80
- logger.verbose(`${msiName}: Caught error ${err.name}: ${err.message}`);
81
- }
82
- // This is a special case for Docker Desktop which responds with a 403 with a message that contains "A socket operation was attempted to an unreachable network" or "A socket operation was attempted to an unreachable host"
83
- // rather than just timing out, as expected.
84
- logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);
85
- return false;
86
- }
87
- if (response.status === 403) {
88
- if (response.bodyAsText?.includes("unreachable")) {
89
- logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);
90
- logger.info(`${msiName}: ${response.bodyAsText}`);
91
- return false;
92
- }
93
- }
94
- // If we received any response, the endpoint is available
95
- logger.info(`${msiName}: The Azure IMDS endpoint is available`);
96
- return true;
97
- });
98
- },
91
+ logger.info(`${msiName}: The Azure IMDS endpoint is available`);
92
+ return true;
93
+ }
94
+ );
95
+ }
99
96
  };
100
- //# sourceMappingURL=imdsMsi.js.map
97
+ // Annotate the CommonJS export names for ESM import in node:
98
+ 0 && (module.exports = {
99
+ imdsMsi
100
+ });
101
+ //# sourceMappingURL=imdsMsi.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"imdsMsi.js","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/imdsMsi.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,kEAAqF;AACrF,gDAA2C;AAG3C,sDAAyD;AACzD,yCAAiD;AACjD,sDAAsD;AAGtD,MAAM,OAAO,GAAG,kCAAkC,CAAC;AACnD,MAAM,MAAM,GAAG,IAAA,6BAAgB,EAAC,OAAO,CAAC,CAAC;AAEzC,MAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D;;;GAGG;AACH,SAAS,4BAA4B,CAAC,MAAyB;IAC7D,MAAM,QAAQ,GAAG,IAAA,8BAAmB,EAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAED,wFAAwF;IACxF,iGAAiG;IACjG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,QAAQ,CAAC,CAAC;IAEjG,MAAM,UAAU,GAA2B;QACzC,MAAM,EAAE,kBAAkB;QAC1B,qFAAqF;KACtF,CAAC;IAEF,OAAO;QACL,wCAAwC;QACxC,GAAG,EAAE,GAAG,GAAG,EAAE;QACb,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAA,sCAAiB,EAAC,UAAU,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACU,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,SAAS;IACf,KAAK,CAAC,WAAW,CAAC,OAMjB;QACC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAA,8BAAmB,EAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,mDAAmD,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oHAAoH;QACpH,IAAI,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,cAAc,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAE9D,OAAO,0BAAa,CAAC,QAAQ,CAC3B,4CAA4C,EAC5C,eAAe,IAAI,EAAE,EACrB,KAAK,EAAE,cAAc,EAAE,EAAE;YACvB,cAAc,CAAC,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;YAE9D,uDAAuD;YACvD,6DAA6D;YAC7D,gEAAgE;YAChE,MAAM,OAAO,GAAG,IAAA,0CAAqB,EAAC,cAAc,CAAC,CAAC;YAEtD,+CAA+C;YAC/C,4DAA4D;YAC5D,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,EAAE,OAAO,IAAI,IAAI,CAAC;YAEjE,2EAA2E;YAC3E,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACvC,IAAI,QAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,mCAAmC,CAAC,CAAC;gBAC3D,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,0EAA0E;gBAC1E,wEAAwE;gBACxE,IAAI,IAAA,mBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,kBAAkB,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,6NAA6N;gBAC7N,4CAA4C;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,0CAA0C,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,0CAA0C,CAAC,CAAC;oBAClE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;oBAClD,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,yDAAyD;YACzD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,wCAAwC,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineRequestOptions, PipelineResponse } from \"@azure/core-rest-pipeline\";\nimport { createHttpHeaders, createPipelineRequest } from \"@azure/core-rest-pipeline\";\nimport { isError } from \"@azure/core-util\";\n\nimport type { GetTokenOptions } from \"@azure/core-auth\";\nimport { credentialLogger } from \"../../util/logging.js\";\nimport { mapScopesToResource } from \"./utils.js\";\nimport { tracingClient } from \"../../util/tracing.js\";\nimport type { IdentityClient } from \"../../client/identityClient.js\";\n\nconst msiName = \"ManagedIdentityCredential - IMDS\";\nconst logger = credentialLogger(msiName);\n\nconst imdsHost = \"http://169.254.169.254\";\nconst imdsEndpointPath = \"/metadata/identity/oauth2/token\";\n\n/**\n * Generates an invalid request options to get a response quickly from IMDS endpoint.\n * The response indicates the availability of IMSD service; otherwise the request would time out.\n */\nfunction prepareInvalidRequestOptions(scopes: string | string[]): PipelineRequestOptions {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n throw new Error(`${msiName}: Multiple scopes are not supported.`);\n }\n\n // Pod Identity will try to process this request even if the Metadata header is missing.\n // We can exclude the request query to ensure no IMDS endpoint tries to process the ping request.\n const url = new URL(imdsEndpointPath, process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST ?? imdsHost);\n\n const rawHeaders: Record<string, string> = {\n Accept: \"application/json\",\n // intentionally leave out the Metadata header to invoke an error from IMDS endpoint.\n };\n\n return {\n // intentionally not including any query\n url: `${url}`,\n method: \"GET\",\n headers: createHttpHeaders(rawHeaders),\n };\n}\n\n/**\n * Defines how to determine whether the Azure IMDS MSI is available.\n *\n * Actually getting the token once we determine IMDS is available is handled by MSAL.\n */\nexport const imdsMsi = {\n name: \"imdsMsi\",\n async isAvailable(options: {\n scopes: string | string[];\n identityClient?: IdentityClient;\n clientId?: string;\n resourceId?: string;\n getTokenOptions?: GetTokenOptions;\n }): Promise<boolean> {\n const { scopes, identityClient, getTokenOptions } = options;\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);\n return false;\n }\n\n // if the PodIdentityEndpoint environment variable was set no need to probe the endpoint, it can be assumed to exist\n if (process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST) {\n return true;\n }\n\n if (!identityClient) {\n throw new Error(\"Missing IdentityClient\");\n }\n\n const requestOptions = prepareInvalidRequestOptions(resource);\n\n return tracingClient.withSpan(\n \"ManagedIdentityCredential-pingImdsEndpoint\",\n getTokenOptions ?? {},\n async (updatedOptions) => {\n requestOptions.tracingOptions = updatedOptions.tracingOptions;\n\n // Create a request with a timeout since we expect that\n // not having a \"Metadata\" header should cause an error to be\n // returned quickly from the endpoint, proving its availability.\n const request = createPipelineRequest(requestOptions);\n\n // Default to 1000 if the default of 0 is used.\n // Negative values can still be used to disable the timeout.\n request.timeout = updatedOptions.requestOptions?.timeout || 1000;\n\n // This MSI uses the imdsEndpoint to get the token, which only uses http://\n request.allowInsecureConnection = true;\n let response: PipelineResponse;\n try {\n logger.info(`${msiName}: Pinging the Azure IMDS endpoint`);\n response = await identityClient.sendRequest(request);\n } catch (err: unknown) {\n // If the request failed, or Node.js was unable to establish a connection,\n // or the host was down, we'll assume the IMDS endpoint isn't available.\n if (isError(err)) {\n logger.verbose(`${msiName}: Caught error ${err.name}: ${err.message}`);\n }\n // This is a special case for Docker Desktop which responds with a 403 with a message that contains \"A socket operation was attempted to an unreachable network\" or \"A socket operation was attempted to an unreachable host\"\n // rather than just timing out, as expected.\n logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);\n return false;\n }\n if (response.status === 403) {\n if (response.bodyAsText?.includes(\"unreachable\")) {\n logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);\n logger.info(`${msiName}: ${response.bodyAsText}`);\n return false;\n }\n }\n // If we received any response, the endpoint is available\n logger.info(`${msiName}: The Azure IMDS endpoint is available`);\n return true;\n },\n );\n },\n};\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/credentials/managedIdentityCredential/imdsMsi.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineRequestOptions, PipelineResponse } from \"@azure/core-rest-pipeline\";\nimport { createHttpHeaders, createPipelineRequest } from \"@azure/core-rest-pipeline\";\nimport { isError } from \"@azure/core-util\";\n\nimport type { GetTokenOptions } from \"@azure/core-auth\";\nimport { credentialLogger } from \"../../util/logging.js\";\nimport { mapScopesToResource } from \"./utils.js\";\nimport { tracingClient } from \"../../util/tracing.js\";\nimport type { IdentityClient } from \"../../client/identityClient.js\";\n\nconst msiName = \"ManagedIdentityCredential - IMDS\";\nconst logger = credentialLogger(msiName);\n\nconst imdsHost = \"http://169.254.169.254\";\nconst imdsEndpointPath = \"/metadata/identity/oauth2/token\";\n\n/**\n * Generates an invalid request options to get a response quickly from IMDS endpoint.\n * The response indicates the availability of IMSD service; otherwise the request would time out.\n */\nfunction prepareInvalidRequestOptions(scopes: string | string[]): PipelineRequestOptions {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n throw new Error(`${msiName}: Multiple scopes are not supported.`);\n }\n\n // Pod Identity will try to process this request even if the Metadata header is missing.\n // We can exclude the request query to ensure no IMDS endpoint tries to process the ping request.\n const url = new URL(imdsEndpointPath, process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST ?? imdsHost);\n\n const rawHeaders: Record<string, string> = {\n Accept: \"application/json\",\n // intentionally leave out the Metadata header to invoke an error from IMDS endpoint.\n };\n\n return {\n // intentionally not including any query\n url: `${url}`,\n method: \"GET\",\n headers: createHttpHeaders(rawHeaders),\n };\n}\n\n/**\n * Defines how to determine whether the Azure IMDS MSI is available.\n *\n * Actually getting the token once we determine IMDS is available is handled by MSAL.\n */\nexport const imdsMsi = {\n name: \"imdsMsi\",\n async isAvailable(options: {\n scopes: string | string[];\n identityClient?: IdentityClient;\n clientId?: string;\n resourceId?: string;\n getTokenOptions?: GetTokenOptions;\n }): Promise<boolean> {\n const { scopes, identityClient, getTokenOptions } = options;\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);\n return false;\n }\n\n // if the PodIdentityEndpoint environment variable was set no need to probe the endpoint, it can be assumed to exist\n if (process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST) {\n return true;\n }\n\n if (!identityClient) {\n throw new Error(\"Missing IdentityClient\");\n }\n\n const requestOptions = prepareInvalidRequestOptions(resource);\n\n return tracingClient.withSpan(\n \"ManagedIdentityCredential-pingImdsEndpoint\",\n getTokenOptions ?? {},\n async (updatedOptions) => {\n requestOptions.tracingOptions = updatedOptions.tracingOptions;\n\n // Create a request with a timeout since we expect that\n // not having a \"Metadata\" header should cause an error to be\n // returned quickly from the endpoint, proving its availability.\n const request = createPipelineRequest(requestOptions);\n\n // Default to 1000 if the default of 0 is used.\n // Negative values can still be used to disable the timeout.\n request.timeout = updatedOptions.requestOptions?.timeout || 1000;\n\n // This MSI uses the imdsEndpoint to get the token, which only uses http://\n request.allowInsecureConnection = true;\n let response: PipelineResponse;\n try {\n logger.info(`${msiName}: Pinging the Azure IMDS endpoint`);\n response = await identityClient.sendRequest(request);\n } catch (err: unknown) {\n // If the request failed, or Node.js was unable to establish a connection,\n // or the host was down, we'll assume the IMDS endpoint isn't available.\n if (isError(err)) {\n logger.verbose(`${msiName}: Caught error ${err.name}: ${err.message}`);\n }\n // This is a special case for Docker Desktop which responds with a 403 with a message that contains \"A socket operation was attempted to an unreachable network\" or \"A socket operation was attempted to an unreachable host\"\n // rather than just timing out, as expected.\n logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);\n return false;\n }\n if (response.status === 403) {\n if (response.bodyAsText?.includes(\"unreachable\")) {\n logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);\n logger.info(`${msiName}: ${response.bodyAsText}`);\n return false;\n }\n }\n // If we received any response, the endpoint is available\n logger.info(`${msiName}: The Azure IMDS endpoint is available`);\n return true;\n },\n );\n },\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,gCAAyD;AACzD,uBAAwB;AAGxB,qBAAiC;AACjC,mBAAoC;AACpC,qBAA8B;AAG9B,MAAM,UAAU;AAChB,MAAM,aAAS,iCAAiB,OAAO;AAEvC,MAAM,WAAW;AACjB,MAAM,mBAAmB;AAMzB,SAAS,6BAA6B,QAAmD;AACvF,QAAM,eAAW,kCAAoB,MAAM;AAC3C,MAAI,CAAC,UAAU;AACb,UAAM,IAAI,MAAM,GAAG,OAAO,sCAAsC;AAAA,EAClE;AAIA,QAAM,MAAM,IAAI,IAAI,kBAAkB,QAAQ,IAAI,qCAAqC,QAAQ;AAE/F,QAAM,aAAqC;AAAA,IACzC,QAAQ;AAAA;AAAA,EAEV;AAEA,SAAO;AAAA;AAAA,IAEL,KAAK,GAAG,GAAG;AAAA,IACX,QAAQ;AAAA,IACR,aAAS,6CAAkB,UAAU;AAAA,EACvC;AACF;AAOO,MAAM,UAAU;AAAA,EACrB,MAAM;AAAA,EACN,MAAM,YAAY,SAMG;AACnB,UAAM,EAAE,QAAQ,gBAAgB,gBAAgB,IAAI;AACpD,UAAM,eAAW,kCAAoB,MAAM;AAC3C,QAAI,CAAC,UAAU;AACb,aAAO,KAAK,GAAG,OAAO,mDAAmD;AACzE,aAAO;AAAA,IACT;AAGA,QAAI,QAAQ,IAAI,mCAAmC;AACjD,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,gBAAgB;AACnB,YAAM,IAAI,MAAM,wBAAwB;AAAA,IAC1C;AAEA,UAAM,iBAAiB,6BAA6B,QAAQ;AAE5D,WAAO,6BAAc;AAAA,MACnB;AAAA,MACA,mBAAmB,CAAC;AAAA,MACpB,OAAO,mBAAmB;AACxB,uBAAe,iBAAiB,eAAe;AAK/C,cAAM,cAAU,iDAAsB,cAAc;AAIpD,gBAAQ,UAAU,eAAe,gBAAgB,WAAW;AAG5D,gBAAQ,0BAA0B;AAClC,YAAI;AACJ,YAAI;AACF,iBAAO,KAAK,GAAG,OAAO,mCAAmC;AACzD,qBAAW,MAAM,eAAe,YAAY,OAAO;AAAA,QACrD,SAAS,KAAc;AAGrB,kBAAI,0BAAQ,GAAG,GAAG;AAChB,mBAAO,QAAQ,GAAG,OAAO,kBAAkB,IAAI,IAAI,KAAK,IAAI,OAAO,EAAE;AAAA,UACvE;AAGA,iBAAO,KAAK,GAAG,OAAO,0CAA0C;AAChE,iBAAO;AAAA,QACT;AACA,YAAI,SAAS,WAAW,KAAK;AAC3B,cAAI,SAAS,YAAY,SAAS,aAAa,GAAG;AAChD,mBAAO,KAAK,GAAG,OAAO,0CAA0C;AAChE,mBAAO,KAAK,GAAG,OAAO,KAAK,SAAS,UAAU,EAAE;AAChD,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,eAAO,KAAK,GAAG,OAAO,wCAAwC;AAC9D,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -1,46 +1,53 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.imdsRetryPolicy = imdsRetryPolicy;
6
- const core_rest_pipeline_1 = require("@azure/core-rest-pipeline");
7
- const core_util_1 = require("@azure/core-util");
8
- // Matches the default retry configuration in expontentialRetryStrategy.ts
9
- const DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;
10
- // For 410 responses, we need at least 70 seconds total retry duration
11
- // With 5 retries using exponential backoff: delays of d, 2d, 4d, 8d, 16d sum to 31d
12
- // Accounting for jitter (which can reduce delays by 20%), we need 31d * 0.8 >= 70
13
- // So we need d >= 70/24.8 = 2.82 seconds. Using 3 seconds to be safe.
14
- const MIN_DELAY_FOR_410_MS = 3000;
15
- /**
16
- * An additional policy that retries on 404 and 410 errors. The default retry policy does not retry on
17
- * 404s or 410s, but the IMDS endpoint can return these when the token is not yet available or when
18
- * the identity is still being set up. This policy will retry on 404s and 410s with an exponential backoff.
19
- * For 410 responses, it uses a minimum 3-second initial delay to ensure at least 70 seconds total duration.
20
- *
21
- * @param msiRetryConfig - The retry configuration for the MSI credential.
22
- * @returns - The policy that will retry on 404s and 410s.
23
- */
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 imdsRetryPolicy_exports = {};
19
+ __export(imdsRetryPolicy_exports, {
20
+ imdsRetryPolicy: () => imdsRetryPolicy
21
+ });
22
+ module.exports = __toCommonJS(imdsRetryPolicy_exports);
23
+ var import_core_rest_pipeline = require("@azure/core-rest-pipeline");
24
+ var import_core_util = require("@azure/core-util");
25
+ const DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1e3 * 64;
26
+ const MIN_DELAY_FOR_410_MS = 3e3;
24
27
  function imdsRetryPolicy(msiRetryConfig) {
25
- return (0, core_rest_pipeline_1.retryPolicy)([
26
- {
27
- name: "imdsRetryPolicy",
28
- retry: ({ retryCount, response }) => {
29
- if (response?.status !== 404 && response?.status !== 410) {
30
- return { skipStrategy: true };
31
- }
32
- // For 410 responses, use a minimum 3-second delay to ensure at least 70 seconds total retry duration
33
- const initialDelayMs = response?.status === 410
34
- ? Math.max(MIN_DELAY_FOR_410_MS, msiRetryConfig.startDelayInMs)
35
- : msiRetryConfig.startDelayInMs;
36
- return (0, core_util_1.calculateRetryDelay)(retryCount, {
37
- retryDelayInMs: initialDelayMs,
38
- maxRetryDelayInMs: DEFAULT_CLIENT_MAX_RETRY_INTERVAL,
39
- });
40
- },
41
- },
42
- ], {
43
- maxRetries: msiRetryConfig.maxRetries,
44
- });
28
+ return (0, import_core_rest_pipeline.retryPolicy)(
29
+ [
30
+ {
31
+ name: "imdsRetryPolicy",
32
+ retry: ({ retryCount, response }) => {
33
+ if (response?.status !== 404 && response?.status !== 410) {
34
+ return { skipStrategy: true };
35
+ }
36
+ const initialDelayMs = response?.status === 410 ? Math.max(MIN_DELAY_FOR_410_MS, msiRetryConfig.startDelayInMs) : msiRetryConfig.startDelayInMs;
37
+ return (0, import_core_util.calculateRetryDelay)(retryCount, {
38
+ retryDelayInMs: initialDelayMs,
39
+ maxRetryDelayInMs: DEFAULT_CLIENT_MAX_RETRY_INTERVAL
40
+ });
41
+ }
42
+ }
43
+ ],
44
+ {
45
+ maxRetries: msiRetryConfig.maxRetries
46
+ }
47
+ );
45
48
  }
46
- //# sourceMappingURL=imdsRetryPolicy.js.map
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ imdsRetryPolicy
52
+ });
53
+ //# sourceMappingURL=imdsRetryPolicy.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"imdsRetryPolicy.js","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/imdsRetryPolicy.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AA0BlC,0CA2BC;AAlDD,kEAAwD;AAGxD,gDAAuD;AAEvD,0EAA0E;AAC1E,MAAM,iCAAiC,GAAG,IAAI,GAAG,EAAE,CAAC;AAEpD,sEAAsE;AACtE,oFAAoF;AACpF,kFAAkF;AAClF,sEAAsE;AACtE,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,cAA+C;IAC7E,OAAO,IAAA,gCAAW,EAChB;QACE;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAClC,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;oBACzD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;gBAChC,CAAC;gBAED,qGAAqG;gBACrG,MAAM,cAAc,GAClB,QAAQ,EAAE,MAAM,KAAK,GAAG;oBACtB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAAC;oBAC/D,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC;gBAEpC,OAAO,IAAA,+BAAmB,EAAC,UAAU,EAAE;oBACrC,cAAc,EAAE,cAAc;oBAC9B,iBAAiB,EAAE,iCAAiC;iBACrD,CAAC,CAAC;YACL,CAAC;SACF;KACF,EACD;QACE,UAAU,EAAE,cAAc,CAAC,UAAU;KACtC,CACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelinePolicy } from \"@azure/core-rest-pipeline\";\nimport { retryPolicy } from \"@azure/core-rest-pipeline\";\n\nimport type { MSIConfiguration } from \"./models.js\";\nimport { calculateRetryDelay } from \"@azure/core-util\";\n\n// Matches the default retry configuration in expontentialRetryStrategy.ts\nconst DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;\n\n// For 410 responses, we need at least 70 seconds total retry duration\n// With 5 retries using exponential backoff: delays of d, 2d, 4d, 8d, 16d sum to 31d\n// Accounting for jitter (which can reduce delays by 20%), we need 31d * 0.8 >= 70\n// So we need d >= 70/24.8 = 2.82 seconds. Using 3 seconds to be safe.\nconst MIN_DELAY_FOR_410_MS = 3000;\n\n/**\n * An additional policy that retries on 404 and 410 errors. The default retry policy does not retry on\n * 404s or 410s, but the IMDS endpoint can return these when the token is not yet available or when\n * the identity is still being set up. This policy will retry on 404s and 410s with an exponential backoff.\n * For 410 responses, it uses a minimum 3-second initial delay to ensure at least 70 seconds total duration.\n *\n * @param msiRetryConfig - The retry configuration for the MSI credential.\n * @returns - The policy that will retry on 404s and 410s.\n */\nexport function imdsRetryPolicy(msiRetryConfig: MSIConfiguration[\"retryConfig\"]): PipelinePolicy {\n return retryPolicy(\n [\n {\n name: \"imdsRetryPolicy\",\n retry: ({ retryCount, response }) => {\n if (response?.status !== 404 && response?.status !== 410) {\n return { skipStrategy: true };\n }\n\n // For 410 responses, use a minimum 3-second delay to ensure at least 70 seconds total retry duration\n const initialDelayMs =\n response?.status === 410\n ? Math.max(MIN_DELAY_FOR_410_MS, msiRetryConfig.startDelayInMs)\n : msiRetryConfig.startDelayInMs;\n\n return calculateRetryDelay(retryCount, {\n retryDelayInMs: initialDelayMs,\n maxRetryDelayInMs: DEFAULT_CLIENT_MAX_RETRY_INTERVAL,\n });\n },\n },\n ],\n {\n maxRetries: msiRetryConfig.maxRetries,\n },\n );\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/credentials/managedIdentityCredential/imdsRetryPolicy.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelinePolicy } from \"@azure/core-rest-pipeline\";\nimport { retryPolicy } from \"@azure/core-rest-pipeline\";\n\nimport type { MSIConfiguration } from \"./models.js\";\nimport { calculateRetryDelay } from \"@azure/core-util\";\n\n// Matches the default retry configuration in expontentialRetryStrategy.ts\nconst DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;\n\n// For 410 responses, we need at least 70 seconds total retry duration\n// With 5 retries using exponential backoff: delays of d, 2d, 4d, 8d, 16d sum to 31d\n// Accounting for jitter (which can reduce delays by 20%), we need 31d * 0.8 >= 70\n// So we need d >= 70/24.8 = 2.82 seconds. Using 3 seconds to be safe.\nconst MIN_DELAY_FOR_410_MS = 3000;\n\n/**\n * An additional policy that retries on 404 and 410 errors. The default retry policy does not retry on\n * 404s or 410s, but the IMDS endpoint can return these when the token is not yet available or when\n * the identity is still being set up. This policy will retry on 404s and 410s with an exponential backoff.\n * For 410 responses, it uses a minimum 3-second initial delay to ensure at least 70 seconds total duration.\n *\n * @param msiRetryConfig - The retry configuration for the MSI credential.\n * @returns - The policy that will retry on 404s and 410s.\n */\nexport function imdsRetryPolicy(msiRetryConfig: MSIConfiguration[\"retryConfig\"]): PipelinePolicy {\n return retryPolicy(\n [\n {\n name: \"imdsRetryPolicy\",\n retry: ({ retryCount, response }) => {\n if (response?.status !== 404 && response?.status !== 410) {\n return { skipStrategy: true };\n }\n\n // For 410 responses, use a minimum 3-second delay to ensure at least 70 seconds total retry duration\n const initialDelayMs =\n response?.status === 410\n ? Math.max(MIN_DELAY_FOR_410_MS, msiRetryConfig.startDelayInMs)\n : msiRetryConfig.startDelayInMs;\n\n return calculateRetryDelay(retryCount, {\n retryDelayInMs: initialDelayMs,\n maxRetryDelayInMs: DEFAULT_CLIENT_MAX_RETRY_INTERVAL,\n });\n },\n },\n ],\n {\n maxRetries: msiRetryConfig.maxRetries,\n },\n );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,gCAA4B;AAG5B,uBAAoC;AAGpC,MAAM,oCAAoC,MAAO;AAMjD,MAAM,uBAAuB;AAWtB,SAAS,gBAAgB,gBAAiE;AAC/F,aAAO;AAAA,IACL;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO,CAAC,EAAE,YAAY,SAAS,MAAM;AACnC,cAAI,UAAU,WAAW,OAAO,UAAU,WAAW,KAAK;AACxD,mBAAO,EAAE,cAAc,KAAK;AAAA,UAC9B;AAGA,gBAAM,iBACJ,UAAU,WAAW,MACjB,KAAK,IAAI,sBAAsB,eAAe,cAAc,IAC5D,eAAe;AAErB,qBAAO,sCAAoB,YAAY;AAAA,YACrC,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,UACrB,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,YAAY,eAAe;AAAA,IAC7B;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }