@azure/identity 4.13.0 → 4.13.2

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 (540) hide show
  1. package/dist/browser/constants.d.ts +1 -1
  2. package/dist/browser/constants.js +1 -1
  3. package/dist/browser/constants.js.map +1 -1
  4. package/dist/browser/credentials/{authorizationCodeCredential.d.ts → authorizationCodeCredential-browser.d.mts} +2 -2
  5. package/dist/browser/credentials/authorizationCodeCredential-browser.d.mts.map +1 -1
  6. package/dist/browser/credentials/{authorizationCodeCredential.js → authorizationCodeCredential-browser.mjs} +1 -1
  7. package/dist/browser/credentials/authorizationCodeCredential-browser.mjs.map +1 -1
  8. package/dist/browser/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
  9. package/dist/browser/credentials/authorizationCodeCredentialOptions.js.map +1 -1
  10. package/dist/browser/credentials/azureCliCredential-browser.d.mts +14 -0
  11. package/dist/browser/credentials/azureCliCredential-browser.d.mts.map +1 -1
  12. package/dist/browser/credentials/{azureCliCredential.js → azureCliCredential-browser.mjs} +2 -2
  13. package/dist/browser/credentials/azureCliCredential-browser.mjs.map +1 -1
  14. package/dist/browser/credentials/azureDeveloperCliCredential-browser.d.mts +14 -0
  15. package/dist/browser/credentials/azureDeveloperCliCredential-browser.d.mts.map +1 -1
  16. package/dist/browser/credentials/{azureDeveloperCliCredential.js → azureDeveloperCliCredential-browser.mjs} +2 -2
  17. package/dist/browser/credentials/azureDeveloperCliCredential-browser.mjs.map +1 -1
  18. package/dist/browser/credentials/azurePipelinesCredential-browser.d.mts +14 -0
  19. package/dist/browser/credentials/azurePipelinesCredential-browser.d.mts.map +1 -1
  20. package/dist/browser/credentials/{azurePipelinesCredential.js → azurePipelinesCredential-browser.mjs} +2 -2
  21. package/dist/browser/credentials/azurePipelinesCredential-browser.mjs.map +1 -1
  22. package/dist/browser/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
  23. package/dist/browser/credentials/azurePipelinesCredentialOptions.js.map +1 -1
  24. package/dist/browser/credentials/azurePowerShellCredential-browser.d.mts +13 -0
  25. package/dist/browser/credentials/azurePowerShellCredential-browser.d.mts.map +1 -1
  26. package/dist/browser/credentials/{azurePowerShellCredential.js → azurePowerShellCredential-browser.mjs} +2 -2
  27. package/dist/browser/credentials/azurePowerShellCredential-browser.mjs.map +1 -1
  28. package/dist/browser/credentials/clientAssertionCredential-browser.d.mts +13 -0
  29. package/dist/browser/credentials/clientAssertionCredential-browser.d.mts.map +1 -1
  30. package/dist/browser/credentials/{clientAssertionCredential.js → clientAssertionCredential-browser.mjs} +2 -2
  31. package/dist/browser/credentials/clientAssertionCredential-browser.mjs.map +1 -1
  32. package/dist/browser/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
  33. package/dist/browser/credentials/clientAssertionCredentialOptions.js.map +1 -1
  34. package/dist/browser/credentials/clientCertificateCredential-browser.d.mts +15 -0
  35. package/dist/browser/credentials/clientCertificateCredential-browser.d.mts.map +1 -1
  36. package/dist/browser/credentials/{clientCertificateCredential.js → clientCertificateCredential-browser.mjs} +2 -2
  37. package/dist/browser/credentials/clientCertificateCredential-browser.mjs.map +1 -1
  38. package/dist/browser/credentials/clientCertificateCredentialModels.d.ts.map +1 -1
  39. package/dist/browser/credentials/clientCertificateCredentialModels.js.map +1 -1
  40. package/dist/browser/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
  41. package/dist/browser/credentials/clientCertificateCredentialOptions.js.map +1 -1
  42. package/dist/browser/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
  43. package/dist/browser/credentials/clientSecretCredentialOptions.js.map +1 -1
  44. package/dist/browser/credentials/{defaultAzureCredential.d.ts → defaultAzureCredential-browser.d.mts} +2 -2
  45. package/dist/browser/credentials/defaultAzureCredential-browser.d.mts.map +1 -1
  46. package/dist/browser/credentials/{defaultAzureCredential.js → defaultAzureCredential-browser.mjs} +1 -1
  47. package/dist/browser/credentials/defaultAzureCredential-browser.mjs.map +1 -1
  48. package/dist/browser/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
  49. package/dist/browser/credentials/defaultAzureCredentialOptions.js.map +1 -1
  50. package/dist/browser/credentials/deviceCodeCredential-browser.d.mts +14 -0
  51. package/dist/browser/credentials/deviceCodeCredential-browser.d.mts.map +1 -1
  52. package/dist/browser/credentials/{deviceCodeCredential.js → deviceCodeCredential-browser.mjs} +2 -2
  53. package/dist/browser/credentials/deviceCodeCredential-browser.mjs.map +1 -1
  54. package/dist/browser/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
  55. package/dist/browser/credentials/deviceCodeCredentialOptions.js.map +1 -1
  56. package/dist/browser/credentials/environmentCredential-browser.d.mts +14 -0
  57. package/dist/browser/credentials/environmentCredential-browser.d.mts.map +1 -1
  58. package/dist/browser/credentials/{environmentCredential.js → environmentCredential-browser.mjs} +2 -2
  59. package/dist/browser/credentials/environmentCredential-browser.mjs.map +1 -1
  60. package/dist/browser/credentials/environmentCredentialOptions.d.ts.map +1 -1
  61. package/dist/browser/credentials/environmentCredentialOptions.js.map +1 -1
  62. package/dist/browser/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
  63. package/dist/browser/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
  64. package/dist/browser/credentials/interactiveCredentialOptions.d.ts.map +1 -1
  65. package/dist/browser/credentials/interactiveCredentialOptions.js.map +1 -1
  66. package/dist/browser/credentials/managedIdentityCredential/index-browser.d.mts +11 -0
  67. package/dist/browser/credentials/managedIdentityCredential/index-browser.d.mts.map +1 -1
  68. package/dist/browser/credentials/managedIdentityCredential/{index.js → index-browser.mjs} +2 -2
  69. package/dist/browser/credentials/managedIdentityCredential/index-browser.mjs.map +1 -1
  70. package/dist/browser/credentials/onBehalfOfCredential-browser.d.mts +13 -0
  71. package/dist/browser/credentials/onBehalfOfCredential-browser.d.mts.map +1 -1
  72. package/dist/browser/credentials/{onBehalfOfCredential.js → onBehalfOfCredential-browser.mjs} +2 -2
  73. package/dist/browser/credentials/onBehalfOfCredential-browser.mjs.map +1 -1
  74. package/dist/browser/credentials/usernamePasswordCredential-browser.mjs.map +1 -1
  75. package/dist/browser/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
  76. package/dist/browser/credentials/usernamePasswordCredentialOptions.js.map +1 -1
  77. package/dist/browser/credentials/{visualStudioCodeCredential.d.ts → visualStudioCodeCredential-browser.d.mts} +4 -3
  78. package/dist/browser/credentials/visualStudioCodeCredential-browser.d.mts.map +1 -1
  79. package/dist/browser/credentials/{visualStudioCodeCredential.js → visualStudioCodeCredential-browser.mjs} +2 -2
  80. package/dist/browser/credentials/visualStudioCodeCredential-browser.mjs.map +1 -1
  81. package/dist/browser/credentials/{workloadIdentityCredential.d.ts → workloadIdentityCredential-browser.d.mts} +4 -3
  82. package/dist/browser/credentials/workloadIdentityCredential-browser.d.mts.map +1 -1
  83. package/dist/browser/credentials/{workloadIdentityCredential.js → workloadIdentityCredential-browser.mjs} +2 -2
  84. package/dist/browser/credentials/workloadIdentityCredential-browser.mjs.map +1 -1
  85. package/dist/browser/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
  86. package/dist/browser/credentials/workloadIdentityCredentialOptions.js.map +1 -1
  87. package/dist/browser/index.d.ts +51 -51
  88. package/dist/browser/index.d.ts.map +1 -1
  89. package/dist/browser/index.js +19 -19
  90. package/dist/browser/index.js.map +1 -1
  91. package/dist/browser/msal/browserFlows/msalBrowserCommon.d.ts.map +1 -1
  92. package/dist/browser/msal/browserFlows/msalBrowserCommon.js +4 -4
  93. package/dist/browser/msal/browserFlows/msalBrowserCommon.js.map +1 -1
  94. package/dist/browser/msal/utils.d.ts +1 -1
  95. package/dist/browser/msal/utils.d.ts.map +1 -1
  96. package/dist/browser/msal/utils.js +1 -1
  97. package/dist/browser/msal/utils.js.map +1 -1
  98. package/dist/browser/util/tenantIdUtils.d.ts +1 -1
  99. package/dist/browser/util/tenantIdUtils.d.ts.map +1 -1
  100. package/dist/browser/util/tenantIdUtils.js +1 -1
  101. package/dist/browser/util/tenantIdUtils.js.map +1 -1
  102. package/dist/commonjs/client/identityClient.js +263 -252
  103. package/dist/commonjs/client/identityClient.js.map +7 -1
  104. package/dist/commonjs/constants.d.ts +1 -1
  105. package/dist/commonjs/constants.js +61 -78
  106. package/dist/commonjs/constants.js.map +7 -1
  107. package/dist/commonjs/credentials/authorityValidationOptions.js +16 -5
  108. package/dist/commonjs/credentials/authorityValidationOptions.js.map +7 -1
  109. package/dist/commonjs/credentials/authorizationCodeCredential.js +99 -75
  110. package/dist/commonjs/credentials/authorizationCodeCredential.js.map +7 -1
  111. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
  112. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js +16 -5
  113. package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js.map +7 -1
  114. package/dist/commonjs/credentials/azureCliCredential.d.ts.map +1 -1
  115. package/dist/commonjs/credentials/azureCliCredential.js +228 -214
  116. package/dist/commonjs/credentials/azureCliCredential.js.map +7 -1
  117. package/dist/commonjs/credentials/azureCliCredentialOptions.js +16 -5
  118. package/dist/commonjs/credentials/azureCliCredentialOptions.js.map +7 -1
  119. package/dist/commonjs/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  120. package/dist/commonjs/credentials/azureDeveloperCliCredential.js +192 -202
  121. package/dist/commonjs/credentials/azureDeveloperCliCredential.js.map +7 -1
  122. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js +16 -5
  123. package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js.map +7 -1
  124. package/dist/commonjs/credentials/azurePipelinesCredential.js +173 -135
  125. package/dist/commonjs/credentials/azurePipelinesCredential.js.map +7 -1
  126. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
  127. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js +16 -5
  128. package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js.map +7 -1
  129. package/dist/commonjs/credentials/azurePowerShellCredential.d.ts +10 -0
  130. package/dist/commonjs/credentials/azurePowerShellCredential.d.ts.map +1 -1
  131. package/dist/commonjs/credentials/azurePowerShellCredential.js +229 -208
  132. package/dist/commonjs/credentials/azurePowerShellCredential.js.map +7 -1
  133. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js +16 -5
  134. package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js.map +7 -1
  135. package/dist/commonjs/credentials/brokerAuthOptions.js +16 -3
  136. package/dist/commonjs/credentials/brokerAuthOptions.js.map +7 -1
  137. package/dist/commonjs/credentials/brokerCredential.d.ts +2 -2
  138. package/dist/commonjs/credentials/brokerCredential.d.ts.map +1 -1
  139. package/dist/commonjs/credentials/brokerCredential.js +104 -71
  140. package/dist/commonjs/credentials/brokerCredential.js.map +7 -1
  141. package/dist/commonjs/credentials/browserCustomizationOptions.js +16 -5
  142. package/dist/commonjs/credentials/browserCustomizationOptions.js.map +7 -1
  143. package/dist/commonjs/credentials/chainedTokenCredential.js +113 -93
  144. package/dist/commonjs/credentials/chainedTokenCredential.js.map +7 -1
  145. package/dist/commonjs/credentials/clientAssertionCredential.js +102 -64
  146. package/dist/commonjs/credentials/clientAssertionCredential.js.map +7 -1
  147. package/dist/commonjs/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
  148. package/dist/commonjs/credentials/clientAssertionCredentialOptions.js +16 -5
  149. package/dist/commonjs/credentials/clientAssertionCredentialOptions.js.map +7 -1
  150. package/dist/commonjs/credentials/clientCertificateCredential.js +139 -134
  151. package/dist/commonjs/credentials/clientCertificateCredential.js.map +7 -1
  152. package/dist/commonjs/credentials/clientCertificateCredentialModels.d.ts.map +1 -1
  153. package/dist/commonjs/credentials/clientCertificateCredentialModels.js +16 -5
  154. package/dist/commonjs/credentials/clientCertificateCredentialModels.js.map +7 -1
  155. package/dist/commonjs/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
  156. package/dist/commonjs/credentials/clientCertificateCredentialOptions.js +16 -5
  157. package/dist/commonjs/credentials/clientCertificateCredentialOptions.js.map +7 -1
  158. package/dist/commonjs/credentials/clientSecretCredential.js +97 -68
  159. package/dist/commonjs/credentials/clientSecretCredential.js.map +7 -1
  160. package/dist/commonjs/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
  161. package/dist/commonjs/credentials/clientSecretCredentialOptions.js +16 -5
  162. package/dist/commonjs/credentials/clientSecretCredentialOptions.js.map +7 -1
  163. package/dist/commonjs/credentials/credentialPersistenceOptions.js +16 -5
  164. package/dist/commonjs/credentials/credentialPersistenceOptions.js.map +7 -1
  165. package/dist/commonjs/credentials/defaultAzureCredential.js +121 -159
  166. package/dist/commonjs/credentials/defaultAzureCredential.js.map +7 -1
  167. package/dist/commonjs/credentials/defaultAzureCredentialFunctions.js +110 -140
  168. package/dist/commonjs/credentials/defaultAzureCredentialFunctions.js.map +7 -1
  169. package/dist/commonjs/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
  170. package/dist/commonjs/credentials/defaultAzureCredentialOptions.js +16 -5
  171. package/dist/commonjs/credentials/defaultAzureCredentialOptions.js.map +7 -1
  172. package/dist/commonjs/credentials/deviceCodeCredential.js +133 -104
  173. package/dist/commonjs/credentials/deviceCodeCredential.js.map +7 -1
  174. package/dist/commonjs/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
  175. package/dist/commonjs/credentials/deviceCodeCredentialOptions.js +16 -5
  176. package/dist/commonjs/credentials/deviceCodeCredentialOptions.js.map +7 -1
  177. package/dist/commonjs/credentials/environmentCredential.d.ts.map +1 -1
  178. package/dist/commonjs/credentials/environmentCredential.js +157 -123
  179. package/dist/commonjs/credentials/environmentCredential.js.map +7 -1
  180. package/dist/commonjs/credentials/environmentCredentialOptions.d.ts.map +1 -1
  181. package/dist/commonjs/credentials/environmentCredentialOptions.js +16 -5
  182. package/dist/commonjs/credentials/environmentCredentialOptions.js.map +7 -1
  183. package/dist/commonjs/credentials/interactiveBrowserCredential.js +145 -108
  184. package/dist/commonjs/credentials/interactiveBrowserCredential.js.map +7 -1
  185. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
  186. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js +16 -5
  187. package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js.map +7 -1
  188. package/dist/commonjs/credentials/interactiveCredentialOptions.d.ts.map +1 -1
  189. package/dist/commonjs/credentials/interactiveCredentialOptions.js +16 -5
  190. package/dist/commonjs/credentials/interactiveCredentialOptions.js.map +7 -1
  191. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js +92 -91
  192. package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js.map +7 -1
  193. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js +51 -44
  194. package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +7 -1
  195. package/dist/commonjs/credentials/managedIdentityCredential/index.js +256 -242
  196. package/dist/commonjs/credentials/managedIdentityCredential/index.js.map +7 -1
  197. package/dist/commonjs/credentials/managedIdentityCredential/models.js +16 -5
  198. package/dist/commonjs/credentials/managedIdentityCredential/models.js.map +7 -1
  199. package/dist/commonjs/credentials/managedIdentityCredential/options.js +16 -5
  200. package/dist/commonjs/credentials/managedIdentityCredential/options.js.map +7 -1
  201. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js +56 -39
  202. package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +7 -1
  203. package/dist/commonjs/credentials/managedIdentityCredential/utils.js +79 -75
  204. package/dist/commonjs/credentials/managedIdentityCredential/utils.js.map +7 -1
  205. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js +16 -5
  206. package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js.map +7 -1
  207. package/dist/commonjs/credentials/onBehalfOfCredential.js +169 -127
  208. package/dist/commonjs/credentials/onBehalfOfCredential.js.map +7 -1
  209. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js +16 -5
  210. package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js.map +7 -1
  211. package/dist/commonjs/credentials/usernamePasswordCredential.js +113 -76
  212. package/dist/commonjs/credentials/usernamePasswordCredential.js.map +7 -1
  213. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
  214. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js +16 -5
  215. package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js.map +7 -1
  216. package/dist/commonjs/credentials/visualStudioCodeCredential.d.ts.map +1 -1
  217. package/dist/commonjs/credentials/visualStudioCodeCredential.js +144 -132
  218. package/dist/commonjs/credentials/visualStudioCodeCredential.js.map +7 -1
  219. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js +16 -5
  220. package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js.map +7 -1
  221. package/dist/commonjs/credentials/workloadIdentityCredential.js +123 -109
  222. package/dist/commonjs/credentials/workloadIdentityCredential.js.map +7 -1
  223. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
  224. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js +16 -5
  225. package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js.map +7 -1
  226. package/dist/commonjs/errors.js +131 -132
  227. package/dist/commonjs/errors.js.map +7 -1
  228. package/dist/commonjs/index.d.ts +33 -33
  229. package/dist/commonjs/index.d.ts.map +1 -1
  230. package/dist/commonjs/index.js +115 -67
  231. package/dist/commonjs/index.js.map +7 -1
  232. package/dist/commonjs/msal/msal.js +38 -9
  233. package/dist/commonjs/msal/msal.js.map +7 -1
  234. package/dist/commonjs/msal/nodeFlows/brokerOptions.js +16 -3
  235. package/dist/commonjs/msal/nodeFlows/brokerOptions.js.map +7 -1
  236. package/dist/commonjs/msal/nodeFlows/msalClient.js +449 -478
  237. package/dist/commonjs/msal/nodeFlows/msalClient.js.map +7 -1
  238. package/dist/commonjs/msal/nodeFlows/msalPlugins.d.ts.map +1 -1
  239. package/dist/commonjs/msal/nodeFlows/msalPlugins.js +140 -147
  240. package/dist/commonjs/msal/nodeFlows/msalPlugins.js.map +7 -1
  241. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js +16 -5
  242. package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js.map +7 -1
  243. package/dist/commonjs/msal/types.js +16 -5
  244. package/dist/commonjs/msal/types.js.map +7 -1
  245. package/dist/commonjs/msal/utils.d.ts.map +1 -1
  246. package/dist/commonjs/msal/utils.js +179 -224
  247. package/dist/commonjs/msal/utils.js.map +7 -1
  248. package/dist/commonjs/plugins/consumer.js +32 -40
  249. package/dist/commonjs/plugins/consumer.js.map +7 -1
  250. package/dist/commonjs/plugins/provider.js +16 -5
  251. package/dist/commonjs/plugins/provider.js.map +7 -1
  252. package/dist/commonjs/regionalAuthority.js +93 -141
  253. package/dist/commonjs/regionalAuthority.js.map +7 -1
  254. package/dist/commonjs/tokenCredentialOptions.js +16 -5
  255. package/dist/commonjs/tokenCredentialOptions.js.map +7 -1
  256. package/dist/commonjs/tokenProvider.js +52 -52
  257. package/dist/commonjs/tokenProvider.js.map +7 -1
  258. package/dist/commonjs/tsdoc-metadata.json +1 -1
  259. package/dist/commonjs/util/identityTokenEndpoint.js +32 -12
  260. package/dist/commonjs/util/identityTokenEndpoint.js.map +7 -1
  261. package/dist/commonjs/util/logging.js +91 -97
  262. package/dist/commonjs/util/logging.js.map +7 -1
  263. package/dist/commonjs/util/processMultiTenantRequest.js +43 -33
  264. package/dist/commonjs/util/processMultiTenantRequest.js.map +7 -1
  265. package/dist/commonjs/util/processUtils.d.ts +14 -3
  266. package/dist/commonjs/util/processUtils.d.ts.map +1 -1
  267. package/dist/commonjs/util/processUtils.js +67 -35
  268. package/dist/commonjs/util/processUtils.js.map +7 -1
  269. package/dist/commonjs/util/scopeUtils.js +39 -28
  270. package/dist/commonjs/util/scopeUtils.js.map +7 -1
  271. package/dist/commonjs/util/subscriptionUtils.js +35 -17
  272. package/dist/commonjs/util/subscriptionUtils.js.map +7 -1
  273. package/dist/commonjs/util/tenantIdUtils.d.ts.map +1 -1
  274. package/dist/commonjs/util/tenantIdUtils.js +61 -45
  275. package/dist/commonjs/util/tenantIdUtils.js.map +7 -1
  276. package/dist/commonjs/util/tracing.js +33 -16
  277. package/dist/commonjs/util/tracing.js.map +7 -1
  278. package/dist/esm/constants.d.ts +1 -1
  279. package/dist/esm/constants.js +1 -1
  280. package/dist/esm/constants.js.map +1 -1
  281. package/dist/esm/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
  282. package/dist/esm/credentials/authorizationCodeCredentialOptions.js.map +1 -1
  283. package/dist/esm/credentials/azureCliCredential.d.ts.map +1 -1
  284. package/dist/esm/credentials/azureCliCredential.js +21 -24
  285. package/dist/esm/credentials/azureCliCredential.js.map +1 -1
  286. package/dist/esm/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  287. package/dist/esm/credentials/azureDeveloperCliCredential.js +16 -24
  288. package/dist/esm/credentials/azureDeveloperCliCredential.js.map +1 -1
  289. package/dist/esm/credentials/azurePipelinesCredential.js.map +1 -1
  290. package/dist/esm/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
  291. package/dist/esm/credentials/azurePipelinesCredentialOptions.js.map +1 -1
  292. package/dist/esm/credentials/azurePowerShellCredential.d.ts +10 -0
  293. package/dist/esm/credentials/azurePowerShellCredential.d.ts.map +1 -1
  294. package/dist/esm/credentials/azurePowerShellCredential.js +26 -6
  295. package/dist/esm/credentials/azurePowerShellCredential.js.map +1 -1
  296. package/dist/esm/credentials/brokerCredential.d.ts +2 -2
  297. package/dist/esm/credentials/brokerCredential.d.ts.map +1 -1
  298. package/dist/esm/credentials/brokerCredential.js.map +1 -1
  299. package/dist/esm/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
  300. package/dist/esm/credentials/clientAssertionCredentialOptions.js.map +1 -1
  301. package/dist/esm/credentials/clientCertificateCredentialModels.d.ts.map +1 -1
  302. package/dist/esm/credentials/clientCertificateCredentialModels.js.map +1 -1
  303. package/dist/esm/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
  304. package/dist/esm/credentials/clientCertificateCredentialOptions.js.map +1 -1
  305. package/dist/esm/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
  306. package/dist/esm/credentials/clientSecretCredentialOptions.js.map +1 -1
  307. package/dist/esm/credentials/defaultAzureCredential.js.map +1 -1
  308. package/dist/esm/credentials/defaultAzureCredentialFunctions.js.map +1 -1
  309. package/dist/esm/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
  310. package/dist/esm/credentials/defaultAzureCredentialOptions.js.map +1 -1
  311. package/dist/esm/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
  312. package/dist/esm/credentials/deviceCodeCredentialOptions.js.map +1 -1
  313. package/dist/esm/credentials/environmentCredential.d.ts.map +1 -1
  314. package/dist/esm/credentials/environmentCredential.js.map +1 -1
  315. package/dist/esm/credentials/environmentCredentialOptions.d.ts.map +1 -1
  316. package/dist/esm/credentials/environmentCredentialOptions.js.map +1 -1
  317. package/dist/esm/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
  318. package/dist/esm/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
  319. package/dist/esm/credentials/interactiveCredentialOptions.d.ts.map +1 -1
  320. package/dist/esm/credentials/interactiveCredentialOptions.js.map +1 -1
  321. package/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
  322. package/dist/esm/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
  323. package/dist/esm/credentials/usernamePasswordCredentialOptions.js.map +1 -1
  324. package/dist/esm/credentials/visualStudioCodeCredential.d.ts.map +1 -1
  325. package/dist/esm/credentials/visualStudioCodeCredential.js.map +1 -1
  326. package/dist/esm/credentials/workloadIdentityCredential.js.map +1 -1
  327. package/dist/esm/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
  328. package/dist/esm/credentials/workloadIdentityCredentialOptions.js.map +1 -1
  329. package/dist/esm/index.d.ts +33 -33
  330. package/dist/esm/index.d.ts.map +1 -1
  331. package/dist/esm/index.js.map +1 -1
  332. package/dist/esm/msal/nodeFlows/msalClient.js +3 -3
  333. package/dist/esm/msal/nodeFlows/msalClient.js.map +1 -1
  334. package/dist/esm/msal/nodeFlows/msalPlugins.d.ts.map +1 -1
  335. package/dist/esm/msal/nodeFlows/msalPlugins.js.map +1 -1
  336. package/dist/esm/msal/utils.d.ts.map +1 -1
  337. package/dist/esm/msal/utils.js.map +1 -1
  338. package/dist/esm/util/processUtils.d.ts +14 -3
  339. package/dist/esm/util/processUtils.d.ts.map +1 -1
  340. package/dist/esm/util/processUtils.js +36 -19
  341. package/dist/esm/util/processUtils.js.map +1 -1
  342. package/dist/esm/util/tenantIdUtils.d.ts.map +1 -1
  343. package/dist/esm/util/tenantIdUtils.js.map +1 -1
  344. package/dist/workerd/constants.d.ts +1 -1
  345. package/dist/workerd/constants.js +1 -1
  346. package/dist/workerd/constants.js.map +1 -1
  347. package/dist/workerd/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
  348. package/dist/workerd/credentials/authorizationCodeCredentialOptions.js.map +1 -1
  349. package/dist/workerd/credentials/azureCliCredential.d.ts.map +1 -1
  350. package/dist/workerd/credentials/azureCliCredential.js +21 -24
  351. package/dist/workerd/credentials/azureCliCredential.js.map +1 -1
  352. package/dist/workerd/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
  353. package/dist/workerd/credentials/azureDeveloperCliCredential.js +16 -24
  354. package/dist/workerd/credentials/azureDeveloperCliCredential.js.map +1 -1
  355. package/dist/workerd/credentials/azurePipelinesCredential.js.map +1 -1
  356. package/dist/workerd/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
  357. package/dist/workerd/credentials/azurePipelinesCredentialOptions.js.map +1 -1
  358. package/dist/workerd/credentials/azurePowerShellCredential.d.ts +10 -0
  359. package/dist/workerd/credentials/azurePowerShellCredential.d.ts.map +1 -1
  360. package/dist/workerd/credentials/azurePowerShellCredential.js +26 -6
  361. package/dist/workerd/credentials/azurePowerShellCredential.js.map +1 -1
  362. package/dist/workerd/credentials/brokerCredential.d.ts +2 -2
  363. package/dist/workerd/credentials/brokerCredential.d.ts.map +1 -1
  364. package/dist/workerd/credentials/brokerCredential.js.map +1 -1
  365. package/dist/workerd/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
  366. package/dist/workerd/credentials/clientAssertionCredentialOptions.js.map +1 -1
  367. package/dist/workerd/credentials/clientCertificateCredentialModels.d.ts.map +1 -1
  368. package/dist/workerd/credentials/clientCertificateCredentialModels.js.map +1 -1
  369. package/dist/workerd/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
  370. package/dist/workerd/credentials/clientCertificateCredentialOptions.js.map +1 -1
  371. package/dist/workerd/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
  372. package/dist/workerd/credentials/clientSecretCredentialOptions.js.map +1 -1
  373. package/dist/workerd/credentials/defaultAzureCredential.js.map +1 -1
  374. package/dist/workerd/credentials/defaultAzureCredentialFunctions.js.map +1 -1
  375. package/dist/workerd/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
  376. package/dist/workerd/credentials/defaultAzureCredentialOptions.js.map +1 -1
  377. package/dist/workerd/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
  378. package/dist/workerd/credentials/deviceCodeCredentialOptions.js.map +1 -1
  379. package/dist/workerd/credentials/environmentCredential.d.ts.map +1 -1
  380. package/dist/workerd/credentials/environmentCredential.js.map +1 -1
  381. package/dist/workerd/credentials/environmentCredentialOptions.d.ts.map +1 -1
  382. package/dist/workerd/credentials/environmentCredentialOptions.js.map +1 -1
  383. package/dist/workerd/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
  384. package/dist/workerd/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
  385. package/dist/workerd/credentials/interactiveCredentialOptions.d.ts.map +1 -1
  386. package/dist/workerd/credentials/interactiveCredentialOptions.js.map +1 -1
  387. package/dist/workerd/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
  388. package/dist/workerd/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
  389. package/dist/workerd/credentials/usernamePasswordCredentialOptions.js.map +1 -1
  390. package/dist/workerd/credentials/visualStudioCodeCredential.d.ts.map +1 -1
  391. package/dist/workerd/credentials/visualStudioCodeCredential.js.map +1 -1
  392. package/dist/workerd/credentials/workloadIdentityCredential.js.map +1 -1
  393. package/dist/workerd/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
  394. package/dist/workerd/credentials/workloadIdentityCredentialOptions.js.map +1 -1
  395. package/dist/workerd/index.d.ts +33 -33
  396. package/dist/workerd/index.d.ts.map +1 -1
  397. package/dist/workerd/index.js.map +1 -1
  398. package/dist/workerd/msal/nodeFlows/msalClient.js +3 -3
  399. package/dist/workerd/msal/nodeFlows/msalClient.js.map +1 -1
  400. package/dist/workerd/msal/nodeFlows/msalPlugins.d.ts.map +1 -1
  401. package/dist/workerd/msal/nodeFlows/msalPlugins.js.map +1 -1
  402. package/dist/workerd/msal/utils.d.ts.map +1 -1
  403. package/dist/workerd/msal/utils.js.map +1 -1
  404. package/dist/workerd/util/processUtils.d.ts +14 -3
  405. package/dist/workerd/util/processUtils.d.ts.map +1 -1
  406. package/dist/workerd/util/processUtils.js +36 -19
  407. package/dist/workerd/util/processUtils.js.map +1 -1
  408. package/dist/workerd/util/tenantIdUtils.d.ts.map +1 -1
  409. package/dist/workerd/util/tenantIdUtils.js.map +1 -1
  410. package/package.json +36 -38
  411. package/dist/browser/credentials/azureCliCredential.d.ts +0 -13
  412. package/dist/browser/credentials/azureDeveloperCliCredential.d.ts +0 -13
  413. package/dist/browser/credentials/azurePipelinesCredential.d.ts +0 -13
  414. package/dist/browser/credentials/azurePowerShellCredential.d.ts +0 -12
  415. package/dist/browser/credentials/brokerCredential.d.ts +0 -35
  416. package/dist/browser/credentials/brokerCredential.d.ts.map +0 -1
  417. package/dist/browser/credentials/brokerCredential.js +0 -69
  418. package/dist/browser/credentials/brokerCredential.js.map +0 -1
  419. package/dist/browser/credentials/clientAssertionCredential.d.ts +0 -12
  420. package/dist/browser/credentials/clientCertificateCredential.d.ts +0 -13
  421. package/dist/browser/credentials/defaultAzureCredentialFunctions.d.ts +0 -64
  422. package/dist/browser/credentials/defaultAzureCredentialFunctions.d.ts.map +0 -1
  423. package/dist/browser/credentials/defaultAzureCredentialFunctions.js +0 -147
  424. package/dist/browser/credentials/defaultAzureCredentialFunctions.js.map +0 -1
  425. package/dist/browser/credentials/deviceCodeCredential.d.ts +0 -13
  426. package/dist/browser/credentials/environmentCredential.d.ts +0 -13
  427. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.d.ts +0 -18
  428. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.d.ts.map +0 -1
  429. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.js +0 -97
  430. package/dist/browser/credentials/managedIdentityCredential/imdsMsi.js.map +0 -1
  431. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts +0 -13
  432. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts.map +0 -1
  433. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.js +0 -43
  434. package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +0 -1
  435. package/dist/browser/credentials/managedIdentityCredential/index.d.ts +0 -6
  436. package/dist/browser/credentials/managedIdentityCredential/models.d.ts +0 -24
  437. package/dist/browser/credentials/managedIdentityCredential/models.d.ts.map +0 -1
  438. package/dist/browser/credentials/managedIdentityCredential/models.js +0 -4
  439. package/dist/browser/credentials/managedIdentityCredential/models.js.map +0 -1
  440. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts +0 -14
  441. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts.map +0 -1
  442. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.js +0 -38
  443. package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +0 -1
  444. package/dist/browser/credentials/onBehalfOfCredential.d.ts +0 -12
  445. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
  446. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  447. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.js +0 -4
  448. package/dist/browser/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  449. package/dist/browser/msal/nodeFlows/msalClient.d.ts +0 -199
  450. package/dist/browser/msal/nodeFlows/msalClient.d.ts.map +0 -1
  451. package/dist/browser/msal/nodeFlows/msalClient.js +0 -499
  452. package/dist/browser/msal/nodeFlows/msalClient.js.map +0 -1
  453. package/dist/browser/msal/nodeFlows/msalPlugins.d.ts +0 -109
  454. package/dist/browser/msal/nodeFlows/msalPlugins.d.ts.map +0 -1
  455. package/dist/browser/msal/nodeFlows/msalPlugins.js +0 -160
  456. package/dist/browser/msal/nodeFlows/msalPlugins.js.map +0 -1
  457. package/dist/browser/regionalAuthority.d.ts +0 -122
  458. package/dist/browser/regionalAuthority.d.ts.map +0 -1
  459. package/dist/browser/regionalAuthority.js +0 -139
  460. package/dist/browser/regionalAuthority.js.map +0 -1
  461. package/dist/browser/util/authHostEnv-browser.d.mts +0 -4
  462. package/dist/browser/util/authHostEnv-browser.d.mts.map +0 -1
  463. package/dist/browser/util/authHostEnv-browser.mjs +0 -7
  464. package/dist/browser/util/authHostEnv-browser.mjs.map +0 -1
  465. package/dist/browser/util/processUtils.d.ts +0 -13
  466. package/dist/browser/util/processUtils.d.ts.map +0 -1
  467. package/dist/browser/util/processUtils.js +0 -32
  468. package/dist/browser/util/processUtils.js.map +0 -1
  469. package/dist/browser/util/subscriptionUtils.d.ts +0 -6
  470. package/dist/browser/util/subscriptionUtils.d.ts.map +0 -1
  471. package/dist/browser/util/subscriptionUtils.js +0 -16
  472. package/dist/browser/util/subscriptionUtils.js.map +0 -1
  473. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
  474. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  475. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js +0 -5
  476. package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  477. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
  478. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  479. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js +0 -265
  480. package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  481. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
  482. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
  483. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js +0 -5
  484. package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js.map +0 -1
  485. package/dist/commonjs/msal/credentials.d.ts +0 -52
  486. package/dist/commonjs/msal/credentials.d.ts.map +0 -1
  487. package/dist/commonjs/msal/credentials.js +0 -5
  488. package/dist/commonjs/msal/credentials.js.map +0 -1
  489. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
  490. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  491. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.js +0 -4
  492. package/dist/esm/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  493. package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
  494. package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  495. package/dist/esm/msal/browserFlows/msalBrowserCommon.js +0 -261
  496. package/dist/esm/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  497. package/dist/esm/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
  498. package/dist/esm/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
  499. package/dist/esm/msal/browserFlows/msalBrowserOptions.js +0 -4
  500. package/dist/esm/msal/browserFlows/msalBrowserOptions.js.map +0 -1
  501. package/dist/esm/msal/credentials.d.ts +0 -52
  502. package/dist/esm/msal/credentials.d.ts.map +0 -1
  503. package/dist/esm/msal/credentials.js +0 -4
  504. package/dist/esm/msal/credentials.js.map +0 -1
  505. package/dist/esm/util/authHostEnv-browser.d.mts +0 -4
  506. package/dist/esm/util/authHostEnv-browser.d.mts.map +0 -1
  507. package/dist/esm/util/authHostEnv-browser.mjs +0 -7
  508. package/dist/esm/util/authHostEnv-browser.mjs.map +0 -1
  509. package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
  510. package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
  511. package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.js +0 -4
  512. package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
  513. package/dist/workerd/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
  514. package/dist/workerd/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
  515. package/dist/workerd/msal/browserFlows/msalBrowserCommon.js +0 -261
  516. package/dist/workerd/msal/browserFlows/msalBrowserCommon.js.map +0 -1
  517. package/dist/workerd/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
  518. package/dist/workerd/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
  519. package/dist/workerd/msal/browserFlows/msalBrowserOptions.js +0 -4
  520. package/dist/workerd/msal/browserFlows/msalBrowserOptions.js.map +0 -1
  521. package/dist/workerd/msal/credentials.d.ts +0 -52
  522. package/dist/workerd/msal/credentials.d.ts.map +0 -1
  523. package/dist/workerd/msal/credentials.js +0 -4
  524. package/dist/workerd/msal/credentials.js.map +0 -1
  525. package/dist/workerd/util/authHostEnv-browser.d.mts +0 -4
  526. package/dist/workerd/util/authHostEnv-browser.d.mts.map +0 -1
  527. package/dist/workerd/util/authHostEnv-browser.mjs +0 -7
  528. package/dist/workerd/util/authHostEnv-browser.mjs.map +0 -1
  529. /package/dist/browser/credentials/{clientSecretCredential.d.ts → clientSecretCredential-browser.d.mts} +0 -0
  530. /package/dist/browser/credentials/{clientSecretCredential.js → clientSecretCredential-browser.mjs} +0 -0
  531. /package/dist/browser/credentials/{interactiveBrowserCredential.d.ts → interactiveBrowserCredential-browser.d.mts} +0 -0
  532. /package/dist/browser/credentials/{interactiveBrowserCredential.js → interactiveBrowserCredential-browser.mjs} +0 -0
  533. /package/dist/browser/credentials/{usernamePasswordCredential.d.ts → usernamePasswordCredential-browser.d.mts} +0 -0
  534. /package/dist/browser/credentials/{usernamePasswordCredential.js → usernamePasswordCredential-browser.mjs} +0 -0
  535. /package/dist/browser/msal/{msal.d.ts → msal-browser.d.mts} +0 -0
  536. /package/dist/browser/msal/{msal.js → msal-browser.mjs} +0 -0
  537. /package/dist/browser/plugins/{consumer.d.ts → consumer-browser.d.mts} +0 -0
  538. /package/dist/browser/plugins/{consumer.js → consumer-browser.mjs} +0 -0
  539. /package/dist/browser/util/{processMultiTenantRequest.d.ts → processMultiTenantRequest-browser.d.mts} +0 -0
  540. /package/dist/browser/util/{processMultiTenantRequest.js → processMultiTenantRequest-browser.mjs} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"msalPlugins.js","sourceRoot":"","sources":["../../../../src/msal/nodeFlows/msalPlugins.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type * as msalNode from \"@azure/msal-node\";\n\nimport {\n CACHE_CAE_SUFFIX,\n CACHE_NON_CAE_SUFFIX,\n DEFAULT_TOKEN_CACHE_NAME,\n} from \"../../constants.js\";\n\nimport type { MsalClientOptions } from \"./msalClient.js\";\nimport type {\n NativeBrokerPluginControl,\n VisualStudioCodeCredentialControl,\n} from \"../../plugins/provider.js\";\nimport type { TokenCachePersistenceOptions } from \"./tokenCachePersistenceOptions.js\";\n\n/**\n * Configuration for the plugins used by the MSAL node client.\n */\nexport interface PluginConfiguration {\n /**\n * Configuration for the cache plugin.\n */\n cache: {\n /**\n * The non-CAE cache plugin handler.\n */\n cachePlugin?: Promise<msalNode.ICachePlugin>;\n /**\n * The CAE cache plugin handler - persisted to a different file.\n */\n cachePluginCae?: Promise<msalNode.ICachePlugin>;\n };\n /**\n * Configuration for the broker plugin.\n */\n broker: {\n /**\n * True if the broker plugin is enabled and available. False otherwise.\n *\n * It is a bug if this is true and the broker plugin is not available.\n */\n isEnabled: boolean;\n /**\n * If true, MSA account will be passed through, required for WAM authentication.\n */\n enableMsaPassthrough: boolean;\n /**\n * The parent window handle for the broker.\n */\n parentWindowHandle?: Uint8Array;\n /**\n * The native broker plugin handler.\n */\n nativeBrokerPlugin?: msalNode.INativeBrokerPlugin;\n /**\n * If set to true, the credential will attempt to use the default broker account for authentication before falling back to interactive authentication. Default is set to false.\n */\n useDefaultBrokerAccount?: boolean;\n };\n}\n\n/**\n * The current persistence provider, undefined by default.\n * @internal\n */\nexport let persistenceProvider:\n | ((options?: TokenCachePersistenceOptions) => Promise<msalNode.ICachePlugin>)\n | undefined = undefined;\n\n/**\n * An object that allows setting the persistence provider.\n * @internal\n */\nexport const msalNodeFlowCacheControl = {\n setPersistence(pluginProvider: Exclude<typeof persistenceProvider, undefined>): void {\n persistenceProvider = pluginProvider;\n },\n};\n\n/**\n * The current native broker provider, undefined by default.\n * @internal\n */\nexport let nativeBrokerInfo:\n | {\n broker: msalNode.INativeBrokerPlugin;\n }\n | undefined = undefined;\n\n/**\n * The current VSCode auth record path, undefined by default.\n * @internal\n */\nexport let vsCodeAuthRecordPath: string | undefined = undefined;\n\n/**\n * The current VSCode broker, undefined by default.\n * @internal\n */\nexport let vsCodeBrokerInfo:\n | {\n broker: msalNode.INativeBrokerPlugin;\n }\n | undefined = undefined;\n\nexport function hasNativeBroker(): boolean {\n return nativeBrokerInfo !== undefined;\n}\n\nexport function hasVSCodePlugin(): boolean {\n return vsCodeAuthRecordPath !== undefined && vsCodeBrokerInfo !== undefined;\n}\n\n/**\n * An object that allows setting the native broker provider.\n * @internal\n */\nexport const msalNodeFlowNativeBrokerControl: NativeBrokerPluginControl = {\n setNativeBroker(broker): void {\n nativeBrokerInfo = {\n broker,\n };\n },\n};\n\n/**\n * An object that allows setting the VSCode credential auth record path and broker.\n * @internal\n */\nexport const msalNodeFlowVSCodeCredentialControl: VisualStudioCodeCredentialControl = {\n setVSCodeAuthRecordPath(path: string): void {\n vsCodeAuthRecordPath = path;\n },\n setVSCodeBroker(broker: msalNode.INativeBrokerPlugin): void {\n vsCodeBrokerInfo = {\n broker,\n };\n },\n};\n\n/**\n * Configures plugins, validating that required plugins are available and enabled.\n *\n * Does not create the plugins themselves, but rather returns the configuration that will be used to create them.\n *\n * @param options - options for creating the MSAL client\n * @returns plugin configuration\n */\nfunction generatePluginConfiguration(options: MsalClientOptions): PluginConfiguration {\n const config: PluginConfiguration = {\n cache: {},\n broker: {\n ...options.brokerOptions,\n isEnabled: options.brokerOptions?.enabled ?? false,\n enableMsaPassthrough: options.brokerOptions?.legacyEnableMsaPassthrough ?? false,\n },\n };\n\n if (options.tokenCachePersistenceOptions?.enabled) {\n if (persistenceProvider === undefined) {\n throw new Error(\n [\n \"Persistent token caching was requested, but no persistence provider was configured.\",\n \"You must install the identity-cache-persistence plugin package (`npm install --save @azure/identity-cache-persistence`)\",\n \"and enable it by importing `useIdentityPlugin` from `@azure/identity` and calling\",\n \"`useIdentityPlugin(cachePersistencePlugin)` before using `tokenCachePersistenceOptions`.\",\n ].join(\" \"),\n );\n }\n\n const cacheBaseName = options.tokenCachePersistenceOptions.name || DEFAULT_TOKEN_CACHE_NAME;\n config.cache.cachePlugin = persistenceProvider({\n name: `${cacheBaseName}.${CACHE_NON_CAE_SUFFIX}`,\n ...options.tokenCachePersistenceOptions,\n });\n config.cache.cachePluginCae = persistenceProvider({\n name: `${cacheBaseName}.${CACHE_CAE_SUFFIX}`,\n ...options.tokenCachePersistenceOptions,\n });\n }\n\n if (options.brokerOptions?.enabled) {\n config.broker.nativeBrokerPlugin = getBrokerPlugin(options.isVSCodeCredential || false);\n }\n return config;\n}\n\n// Broker error message templates with variables for credential and package names\nconst brokerErrorTemplates = {\n missing: (credentialName: string, packageName: string, pluginVar: string) =>\n [\n `${credentialName} was requested, but no plugin was configured or no authentication record was found.`,\n `You must install the ${packageName} plugin package (npm install --save ${packageName})`,\n \"and enable it by importing `useIdentityPlugin` from `@azure/identity` and calling\",\n `useIdentityPlugin(${pluginVar}) before using enableBroker.`,\n ].join(\" \"),\n unavailable: (credentialName: string, packageName: string) =>\n [\n `${credentialName} was requested, and the plugin is configured, but the broker is unavailable.`,\n `Ensure the ${credentialName} plugin is properly installed and configured.`,\n \"Check for missing native dependencies and ensure the package is properly installed.\",\n `See the README for prerequisites on installing and using ${packageName}.`,\n ].join(\" \"),\n};\n\n// Values for VSCode and native broker configurations for error message\nconst brokerConfig = {\n vsCode: {\n credentialName: \"Visual Studio Code Credential\",\n packageName: \"@azure/identity-vscode\",\n pluginVar: \"vsCodePlugin\",\n get brokerInfo() {\n return vsCodeBrokerInfo;\n },\n },\n native: {\n credentialName: \"Broker for WAM\",\n packageName: \"@azure/identity-broker\",\n pluginVar: \"nativeBrokerPlugin\",\n get brokerInfo() {\n return nativeBrokerInfo;\n },\n },\n} as const;\n\n/**\n * Set appropriate broker plugin based on whether VSCode or native broker is requested.\n * @param isVSCodePlugin - true for VSCode broker, false for native broker\n * @returns the broker plugin if available\n */\nfunction getBrokerPlugin(isVSCodePlugin: boolean): msalNode.INativeBrokerPlugin {\n const { credentialName, packageName, pluginVar, brokerInfo } =\n brokerConfig[isVSCodePlugin ? \"vsCode\" : \"native\"];\n if (brokerInfo === undefined) {\n throw new Error(brokerErrorTemplates.missing(credentialName, packageName, pluginVar));\n }\n if (brokerInfo.broker.isBrokerAvailable === false) {\n throw new Error(brokerErrorTemplates.unavailable(credentialName, packageName));\n }\n return brokerInfo.broker;\n}\n\n/**\n * Wraps generatePluginConfiguration as a writeable property for test stubbing purposes.\n */\nexport const msalPlugins = {\n generatePluginConfiguration,\n};\n"]}
1
+ {"version":3,"file":"msalPlugins.js","sourceRoot":"","sources":["../../../../src/msal/nodeFlows/msalPlugins.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type * as msalNode from \"@azure/msal-node\";\n\nimport {\n CACHE_CAE_SUFFIX,\n CACHE_NON_CAE_SUFFIX,\n DEFAULT_TOKEN_CACHE_NAME,\n} from \"../../constants.js\";\n\nimport type { MsalClientOptions } from \"./msalClient.js\";\nimport type {\n NativeBrokerPluginControl,\n VisualStudioCodeCredentialControl,\n} from \"../../plugins/provider.js\";\nimport type { TokenCachePersistenceOptions } from \"./tokenCachePersistenceOptions.js\";\n\n/**\n * Configuration for the plugins used by the MSAL node client.\n */\nexport interface PluginConfiguration {\n /**\n * Configuration for the cache plugin.\n */\n cache: {\n /**\n * The non-CAE cache plugin handler.\n */\n cachePlugin?: Promise<msalNode.ICachePlugin>;\n /**\n * The CAE cache plugin handler - persisted to a different file.\n */\n cachePluginCae?: Promise<msalNode.ICachePlugin>;\n };\n /**\n * Configuration for the broker plugin.\n */\n broker: {\n /**\n * True if the broker plugin is enabled and available. False otherwise.\n *\n * It is a bug if this is true and the broker plugin is not available.\n */\n isEnabled: boolean;\n /**\n * If true, MSA account will be passed through, required for WAM authentication.\n */\n enableMsaPassthrough: boolean;\n /**\n * The parent window handle for the broker.\n */\n parentWindowHandle?: Uint8Array;\n /**\n * The native broker plugin handler.\n */\n nativeBrokerPlugin?: msalNode.INativeBrokerPlugin;\n /**\n * If set to true, the credential will attempt to use the default broker account for authentication before falling back to interactive authentication. Default is set to false.\n */\n useDefaultBrokerAccount?: boolean;\n };\n}\n\n/**\n * The current persistence provider, undefined by default.\n * @internal\n */\nexport let persistenceProvider:\n ((options?: TokenCachePersistenceOptions) => Promise<msalNode.ICachePlugin>) | undefined =\n undefined;\n\n/**\n * An object that allows setting the persistence provider.\n * @internal\n */\nexport const msalNodeFlowCacheControl = {\n setPersistence(pluginProvider: Exclude<typeof persistenceProvider, undefined>): void {\n persistenceProvider = pluginProvider;\n },\n};\n\n/**\n * The current native broker provider, undefined by default.\n * @internal\n */\nexport let nativeBrokerInfo:\n | {\n broker: msalNode.INativeBrokerPlugin;\n }\n | undefined = undefined;\n\n/**\n * The current VSCode auth record path, undefined by default.\n * @internal\n */\nexport let vsCodeAuthRecordPath: string | undefined = undefined;\n\n/**\n * The current VSCode broker, undefined by default.\n * @internal\n */\nexport let vsCodeBrokerInfo:\n | {\n broker: msalNode.INativeBrokerPlugin;\n }\n | undefined = undefined;\n\nexport function hasNativeBroker(): boolean {\n return nativeBrokerInfo !== undefined;\n}\n\nexport function hasVSCodePlugin(): boolean {\n return vsCodeAuthRecordPath !== undefined && vsCodeBrokerInfo !== undefined;\n}\n\n/**\n * An object that allows setting the native broker provider.\n * @internal\n */\nexport const msalNodeFlowNativeBrokerControl: NativeBrokerPluginControl = {\n setNativeBroker(broker): void {\n nativeBrokerInfo = {\n broker,\n };\n },\n};\n\n/**\n * An object that allows setting the VSCode credential auth record path and broker.\n * @internal\n */\nexport const msalNodeFlowVSCodeCredentialControl: VisualStudioCodeCredentialControl = {\n setVSCodeAuthRecordPath(path: string): void {\n vsCodeAuthRecordPath = path;\n },\n setVSCodeBroker(broker: msalNode.INativeBrokerPlugin): void {\n vsCodeBrokerInfo = {\n broker,\n };\n },\n};\n\n/**\n * Configures plugins, validating that required plugins are available and enabled.\n *\n * Does not create the plugins themselves, but rather returns the configuration that will be used to create them.\n *\n * @param options - options for creating the MSAL client\n * @returns plugin configuration\n */\nfunction generatePluginConfiguration(options: MsalClientOptions): PluginConfiguration {\n const config: PluginConfiguration = {\n cache: {},\n broker: {\n ...options.brokerOptions,\n isEnabled: options.brokerOptions?.enabled ?? false,\n enableMsaPassthrough: options.brokerOptions?.legacyEnableMsaPassthrough ?? false,\n },\n };\n\n if (options.tokenCachePersistenceOptions?.enabled) {\n if (persistenceProvider === undefined) {\n throw new Error(\n [\n \"Persistent token caching was requested, but no persistence provider was configured.\",\n \"You must install the identity-cache-persistence plugin package (`npm install --save @azure/identity-cache-persistence`)\",\n \"and enable it by importing `useIdentityPlugin` from `@azure/identity` and calling\",\n \"`useIdentityPlugin(cachePersistencePlugin)` before using `tokenCachePersistenceOptions`.\",\n ].join(\" \"),\n );\n }\n\n const cacheBaseName = options.tokenCachePersistenceOptions.name || DEFAULT_TOKEN_CACHE_NAME;\n config.cache.cachePlugin = persistenceProvider({\n name: `${cacheBaseName}.${CACHE_NON_CAE_SUFFIX}`,\n ...options.tokenCachePersistenceOptions,\n });\n config.cache.cachePluginCae = persistenceProvider({\n name: `${cacheBaseName}.${CACHE_CAE_SUFFIX}`,\n ...options.tokenCachePersistenceOptions,\n });\n }\n\n if (options.brokerOptions?.enabled) {\n config.broker.nativeBrokerPlugin = getBrokerPlugin(options.isVSCodeCredential || false);\n }\n return config;\n}\n\n// Broker error message templates with variables for credential and package names\nconst brokerErrorTemplates = {\n missing: (credentialName: string, packageName: string, pluginVar: string) =>\n [\n `${credentialName} was requested, but no plugin was configured or no authentication record was found.`,\n `You must install the ${packageName} plugin package (npm install --save ${packageName})`,\n \"and enable it by importing `useIdentityPlugin` from `@azure/identity` and calling\",\n `useIdentityPlugin(${pluginVar}) before using enableBroker.`,\n ].join(\" \"),\n unavailable: (credentialName: string, packageName: string) =>\n [\n `${credentialName} was requested, and the plugin is configured, but the broker is unavailable.`,\n `Ensure the ${credentialName} plugin is properly installed and configured.`,\n \"Check for missing native dependencies and ensure the package is properly installed.\",\n `See the README for prerequisites on installing and using ${packageName}.`,\n ].join(\" \"),\n};\n\n// Values for VSCode and native broker configurations for error message\nconst brokerConfig = {\n vsCode: {\n credentialName: \"Visual Studio Code Credential\",\n packageName: \"@azure/identity-vscode\",\n pluginVar: \"vsCodePlugin\",\n get brokerInfo() {\n return vsCodeBrokerInfo;\n },\n },\n native: {\n credentialName: \"Broker for WAM\",\n packageName: \"@azure/identity-broker\",\n pluginVar: \"nativeBrokerPlugin\",\n get brokerInfo() {\n return nativeBrokerInfo;\n },\n },\n} as const;\n\n/**\n * Set appropriate broker plugin based on whether VSCode or native broker is requested.\n * @param isVSCodePlugin - true for VSCode broker, false for native broker\n * @returns the broker plugin if available\n */\nfunction getBrokerPlugin(isVSCodePlugin: boolean): msalNode.INativeBrokerPlugin {\n const { credentialName, packageName, pluginVar, brokerInfo } =\n brokerConfig[isVSCodePlugin ? \"vsCode\" : \"native\"];\n if (brokerInfo === undefined) {\n throw new Error(brokerErrorTemplates.missing(credentialName, packageName, pluginVar));\n }\n if (brokerInfo.broker.isBrokerAvailable === false) {\n throw new Error(brokerErrorTemplates.unavailable(credentialName, packageName));\n }\n return brokerInfo.broker;\n}\n\n/**\n * Wraps generatePluginConfiguration as a writeable property for test stubbing purposes.\n */\nexport const msalPlugins = {\n generatePluginConfiguration,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/msal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3E;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,EAC5B,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,SAAS,IAAI,cAAc,CAkBrC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQ7E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAYpE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,wBAAwB,CAAC,EAAE,OAAO,GACjC,MAAM,EAAE,CAKV;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,CAClC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,KAC1B,eAoBF,CAAC;AAEJ;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,QAAQ,CAcxF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,KAAK,EACZ,eAAe,CAAC,EAAE,eAAe,GAChC,KAAK,CA6CP;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAAC,WAAW,CAQlF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,oBAAoB,CAU7F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAElF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAAC,gBAAgB,EAAE,MAAM,GAAG,oBAAoB,CAQ9F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/msal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3E;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,EAC5B,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,SAAS,IAAI,cAAc,CAkBrC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQ7E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAYpE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,wBAAwB,CAAC,EAAE,OAAO,GACjC,MAAM,EAAE,CAKV;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,CAClC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,KAC1B,eAoBF,CAAC;AAEJ;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,QAAQ,CAcxF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,KAAK,EACZ,eAAe,CAAC,EAAE,eAAe,GAChC,KAAK,CA6CP;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAAC,WAAW,CAQlF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,oBAAoB,CAU7F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAElF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,+BAA+B,CAAC,gBAAgB,EAAE,MAAM,GAAG,oBAAoB,CAQ9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/msal/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AuthenticationRecord, MsalAccountInfo, MsalToken, ValidMsalToken } from \"./types.js\";\nimport { AuthenticationRequiredError, CredentialUnavailableError } from \"../errors.js\";\nimport type { CredentialLogger } from \"../util/logging.js\";\nimport { credentialLogger, formatError } from \"../util/logging.js\";\nimport { DefaultAuthority, DefaultAuthorityHost, DefaultTenantId } from \"../constants.js\";\nimport { randomUUID as coreRandomUUID, isNode, isNodeLike } from \"@azure/core-util\";\n\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { AzureLogLevel } from \"@azure/logger\";\nimport type { GetTokenOptions } from \"@azure/core-auth\";\nimport { msalCommon } from \"./msal.js\";\n\nexport interface ILoggerCallback {\n (level: msalCommon.LogLevel, message: string, containsPii: boolean): void;\n}\n\nconst logger = credentialLogger(\"IdentityUtils\");\n\n/**\n * Latest AuthenticationRecord version\n */\nconst LatestAuthenticationRecordVersion = \"1.0\";\n\n/**\n * Ensures the validity of the MSAL token\n * @internal\n */\nexport function ensureValidMsalToken(\n scopes: string | string[],\n msalToken?: MsalToken | null,\n getTokenOptions?: GetTokenOptions,\n): asserts msalToken is ValidMsalToken {\n const error = (message: string): Error => {\n logger.getToken.info(message);\n return new AuthenticationRequiredError({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n getTokenOptions,\n message,\n });\n };\n if (!msalToken) {\n throw error(\"No response\");\n }\n if (!msalToken.expiresOn) {\n throw error(`Response had no \"expiresOn\" property.`);\n }\n if (!msalToken.accessToken) {\n throw error(`Response had no \"accessToken\" property.`);\n }\n}\n\n/**\n * Returns the authority host from either the options bag or the AZURE_AUTHORITY_HOST environment variable.\n *\n * Defaults to {@link DefaultAuthorityHost}.\n * @internal\n */\nexport function getAuthorityHost(options?: { authorityHost?: string }): string {\n let authorityHost = options?.authorityHost;\n\n if (!authorityHost && isNodeLike) {\n authorityHost = process.env.AZURE_AUTHORITY_HOST;\n }\n\n return authorityHost ?? DefaultAuthorityHost;\n}\n\n/**\n * Generates a valid authority by combining a host with a tenantId.\n * @internal\n */\nexport function getAuthority(tenantId: string, host?: string): string {\n if (!host) {\n host = DefaultAuthorityHost;\n }\n if (new RegExp(`${tenantId}/?$`).test(host)) {\n return host;\n }\n if (host.endsWith(\"/\")) {\n return host + tenantId;\n } else {\n return `${host}/${tenantId}`;\n }\n}\n\n/**\n * Generates the known authorities.\n * If the Tenant Id is `adfs`, the authority can't be validated since the format won't match the expected one.\n * For that reason, we have to force MSAL to disable validating the authority\n * by sending it within the known authorities in the MSAL configuration.\n * @internal\n */\nexport function getKnownAuthorities(\n tenantId: string,\n authorityHost: string,\n disableInstanceDiscovery?: boolean,\n): string[] {\n if ((tenantId === \"adfs\" && authorityHost) || disableInstanceDiscovery) {\n return [authorityHost];\n }\n return [];\n}\n\n/**\n * Generates a logger that can be passed to the MSAL clients.\n * @param credLogger - The logger of the credential.\n * @internal\n */\nexport const defaultLoggerCallback: (\n logger: CredentialLogger,\n platform?: \"Node\" | \"Browser\",\n) => ILoggerCallback =\n (credLogger: CredentialLogger, platform: \"Node\" | \"Browser\" = isNode ? \"Node\" : \"Browser\") =>\n (level, message, containsPii): void => {\n if (containsPii) {\n return;\n }\n switch (level) {\n case msalCommon.LogLevel.Error:\n credLogger.info(`MSAL ${platform} V2 error: ${message}`);\n return;\n case msalCommon.LogLevel.Info:\n credLogger.info(`MSAL ${platform} V2 info message: ${message}`);\n return;\n case msalCommon.LogLevel.Verbose:\n credLogger.info(`MSAL ${platform} V2 verbose message: ${message}`);\n return;\n case msalCommon.LogLevel.Warning:\n credLogger.info(`MSAL ${platform} V2 warning: ${message}`);\n return;\n }\n };\n\n/**\n * @internal\n */\nexport function getMSALLogLevel(logLevel: AzureLogLevel | undefined): msalCommon.LogLevel {\n switch (logLevel) {\n case \"error\":\n return msalCommon.LogLevel.Error;\n case \"info\":\n return msalCommon.LogLevel.Info;\n case \"verbose\":\n return msalCommon.LogLevel.Verbose;\n case \"warning\":\n return msalCommon.LogLevel.Warning;\n default:\n // default msal logging level should be Info\n return msalCommon.LogLevel.Info;\n }\n}\n\n/**\n * Wraps core-util's randomUUID in order to allow for mocking in tests.\n * This prepares the library for the upcoming core-util update to ESM.\n *\n * @internal\n * @returns A string containing a random UUID\n */\nexport function randomUUID(): string {\n return coreRandomUUID();\n}\n\n/**\n * Handles MSAL errors.\n */\nexport function handleMsalError(\n scopes: string[],\n error: Error,\n getTokenOptions?: GetTokenOptions,\n): Error {\n if (\n error.name === \"AuthError\" ||\n error.name === \"ClientAuthError\" ||\n error.name === \"BrowserAuthError\"\n ) {\n const msalError = error as msalCommon.AuthError;\n switch (msalError.errorCode) {\n case \"endpoints_resolution_error\":\n logger.info(formatError(scopes, error.message));\n return new CredentialUnavailableError(error.message);\n case \"device_code_polling_cancelled\":\n return new AbortError(\"The authentication has been aborted by the caller.\");\n case \"consent_required\":\n case \"interaction_required\":\n case \"login_required\":\n logger.info(\n formatError(scopes, `Authentication returned errorCode ${msalError.errorCode}`),\n );\n break;\n default:\n logger.info(formatError(scopes, `Failed to acquire token: ${error.message}`));\n break;\n }\n }\n if (\n error.name === \"ClientConfigurationError\" ||\n error.name === \"BrowserConfigurationAuthError\" ||\n error.name === \"AbortError\" ||\n error.name === \"AuthenticationError\"\n ) {\n return error;\n }\n if (error.name === \"NativeAuthError\") {\n logger.info(\n formatError(\n scopes,\n `Error from the native broker: ${error.message} with status code: ${\n (error as any).statusCode\n }`,\n ),\n );\n return error;\n }\n return new AuthenticationRequiredError({ scopes, getTokenOptions, message: error.message });\n}\n\n// transformations\nexport function publicToMsal(account: AuthenticationRecord): msalCommon.AccountInfo {\n return {\n localAccountId: account.homeAccountId,\n environment: account.authority,\n username: account.username,\n homeAccountId: account.homeAccountId,\n tenantId: account.tenantId,\n };\n}\n\nexport function msalToPublic(clientId: string, account: MsalAccountInfo): AuthenticationRecord {\n const record = {\n authority: account.environment ?? DefaultAuthority,\n homeAccountId: account.homeAccountId,\n tenantId: account.tenantId || DefaultTenantId,\n username: account.username,\n clientId,\n version: LatestAuthenticationRecordVersion,\n };\n return record;\n}\n\n/**\n * Serializes an `AuthenticationRecord` into a string.\n *\n * The output of a serialized authentication record will contain the following properties:\n *\n * - \"authority\"\n * - \"homeAccountId\"\n * - \"clientId\"\n * - \"tenantId\"\n * - \"username\"\n * - \"version\"\n *\n * To later convert this string to a serialized `AuthenticationRecord`, please use the exported function `deserializeAuthenticationRecord()`.\n */\nexport function serializeAuthenticationRecord(record: AuthenticationRecord): string {\n return JSON.stringify(record);\n}\n\n/**\n * Deserializes a previously serialized authentication record from a string into an object.\n *\n * The input string must contain the following properties:\n *\n * - \"authority\"\n * - \"homeAccountId\"\n * - \"clientId\"\n * - \"tenantId\"\n * - \"username\"\n * - \"version\"\n *\n * If the version we receive is unsupported, an error will be thrown.\n *\n * At the moment, the only available version is: \"1.0\", which is always set when the authentication record is serialized.\n *\n * @param serializedRecord - Authentication record previously serialized into string.\n * @returns AuthenticationRecord.\n */\nexport function deserializeAuthenticationRecord(serializedRecord: string): AuthenticationRecord {\n const parsed: AuthenticationRecord & { version?: string } = JSON.parse(serializedRecord);\n\n if (parsed.version && parsed.version !== LatestAuthenticationRecordVersion) {\n throw Error(\"Unsupported AuthenticationRecord version\");\n }\n\n return parsed;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/msal/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AuthenticationRecord, MsalAccountInfo, MsalToken, ValidMsalToken } from \"./types.js\";\nimport { AuthenticationRequiredError, CredentialUnavailableError } from \"../errors.js\";\nimport type { CredentialLogger } from \"../util/logging.js\";\nimport { credentialLogger, formatError } from \"../util/logging.js\";\nimport { DefaultAuthority, DefaultAuthorityHost, DefaultTenantId } from \"../constants.js\";\nimport { randomUUID as coreRandomUUID, isNode, isNodeLike } from \"@azure/core-util\";\n\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { AzureLogLevel } from \"@azure/logger\";\nimport type { GetTokenOptions } from \"@azure/core-auth\";\nimport { msalCommon } from \"#platform/msal/msal\";\n\nexport interface ILoggerCallback {\n (level: msalCommon.LogLevel, message: string, containsPii: boolean): void;\n}\n\nconst logger = credentialLogger(\"IdentityUtils\");\n\n/**\n * Latest AuthenticationRecord version\n */\nconst LatestAuthenticationRecordVersion = \"1.0\";\n\n/**\n * Ensures the validity of the MSAL token\n * @internal\n */\nexport function ensureValidMsalToken(\n scopes: string | string[],\n msalToken?: MsalToken | null,\n getTokenOptions?: GetTokenOptions,\n): asserts msalToken is ValidMsalToken {\n const error = (message: string): Error => {\n logger.getToken.info(message);\n return new AuthenticationRequiredError({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n getTokenOptions,\n message,\n });\n };\n if (!msalToken) {\n throw error(\"No response\");\n }\n if (!msalToken.expiresOn) {\n throw error(`Response had no \"expiresOn\" property.`);\n }\n if (!msalToken.accessToken) {\n throw error(`Response had no \"accessToken\" property.`);\n }\n}\n\n/**\n * Returns the authority host from either the options bag or the AZURE_AUTHORITY_HOST environment variable.\n *\n * Defaults to {@link DefaultAuthorityHost}.\n * @internal\n */\nexport function getAuthorityHost(options?: { authorityHost?: string }): string {\n let authorityHost = options?.authorityHost;\n\n if (!authorityHost && isNodeLike) {\n authorityHost = process.env.AZURE_AUTHORITY_HOST;\n }\n\n return authorityHost ?? DefaultAuthorityHost;\n}\n\n/**\n * Generates a valid authority by combining a host with a tenantId.\n * @internal\n */\nexport function getAuthority(tenantId: string, host?: string): string {\n if (!host) {\n host = DefaultAuthorityHost;\n }\n if (new RegExp(`${tenantId}/?$`).test(host)) {\n return host;\n }\n if (host.endsWith(\"/\")) {\n return host + tenantId;\n } else {\n return `${host}/${tenantId}`;\n }\n}\n\n/**\n * Generates the known authorities.\n * If the Tenant Id is `adfs`, the authority can't be validated since the format won't match the expected one.\n * For that reason, we have to force MSAL to disable validating the authority\n * by sending it within the known authorities in the MSAL configuration.\n * @internal\n */\nexport function getKnownAuthorities(\n tenantId: string,\n authorityHost: string,\n disableInstanceDiscovery?: boolean,\n): string[] {\n if ((tenantId === \"adfs\" && authorityHost) || disableInstanceDiscovery) {\n return [authorityHost];\n }\n return [];\n}\n\n/**\n * Generates a logger that can be passed to the MSAL clients.\n * @param credLogger - The logger of the credential.\n * @internal\n */\nexport const defaultLoggerCallback: (\n logger: CredentialLogger,\n platform?: \"Node\" | \"Browser\",\n) => ILoggerCallback =\n (credLogger: CredentialLogger, platform: \"Node\" | \"Browser\" = isNode ? \"Node\" : \"Browser\") =>\n (level, message, containsPii): void => {\n if (containsPii) {\n return;\n }\n switch (level) {\n case msalCommon.LogLevel.Error:\n credLogger.info(`MSAL ${platform} V2 error: ${message}`);\n return;\n case msalCommon.LogLevel.Info:\n credLogger.info(`MSAL ${platform} V2 info message: ${message}`);\n return;\n case msalCommon.LogLevel.Verbose:\n credLogger.info(`MSAL ${platform} V2 verbose message: ${message}`);\n return;\n case msalCommon.LogLevel.Warning:\n credLogger.info(`MSAL ${platform} V2 warning: ${message}`);\n return;\n }\n };\n\n/**\n * @internal\n */\nexport function getMSALLogLevel(logLevel: AzureLogLevel | undefined): msalCommon.LogLevel {\n switch (logLevel) {\n case \"error\":\n return msalCommon.LogLevel.Error;\n case \"info\":\n return msalCommon.LogLevel.Info;\n case \"verbose\":\n return msalCommon.LogLevel.Verbose;\n case \"warning\":\n return msalCommon.LogLevel.Warning;\n default:\n // default msal logging level should be Info\n return msalCommon.LogLevel.Info;\n }\n}\n\n/**\n * Wraps core-util's randomUUID in order to allow for mocking in tests.\n * This prepares the library for the upcoming core-util update to ESM.\n *\n * @internal\n * @returns A string containing a random UUID\n */\nexport function randomUUID(): string {\n return coreRandomUUID();\n}\n\n/**\n * Handles MSAL errors.\n */\nexport function handleMsalError(\n scopes: string[],\n error: Error,\n getTokenOptions?: GetTokenOptions,\n): Error {\n if (\n error.name === \"AuthError\" ||\n error.name === \"ClientAuthError\" ||\n error.name === \"BrowserAuthError\"\n ) {\n const msalError = error as msalCommon.AuthError;\n switch (msalError.errorCode) {\n case \"endpoints_resolution_error\":\n logger.info(formatError(scopes, error.message));\n return new CredentialUnavailableError(error.message);\n case \"device_code_polling_cancelled\":\n return new AbortError(\"The authentication has been aborted by the caller.\");\n case \"consent_required\":\n case \"interaction_required\":\n case \"login_required\":\n logger.info(\n formatError(scopes, `Authentication returned errorCode ${msalError.errorCode}`),\n );\n break;\n default:\n logger.info(formatError(scopes, `Failed to acquire token: ${error.message}`));\n break;\n }\n }\n if (\n error.name === \"ClientConfigurationError\" ||\n error.name === \"BrowserConfigurationAuthError\" ||\n error.name === \"AbortError\" ||\n error.name === \"AuthenticationError\"\n ) {\n return error;\n }\n if (error.name === \"NativeAuthError\") {\n logger.info(\n formatError(\n scopes,\n `Error from the native broker: ${error.message} with status code: ${\n (error as any).statusCode\n }`,\n ),\n );\n return error;\n }\n return new AuthenticationRequiredError({ scopes, getTokenOptions, message: error.message });\n}\n\n// transformations\nexport function publicToMsal(account: AuthenticationRecord): msalCommon.AccountInfo {\n return {\n localAccountId: account.homeAccountId,\n environment: account.authority,\n username: account.username,\n homeAccountId: account.homeAccountId,\n tenantId: account.tenantId,\n };\n}\n\nexport function msalToPublic(clientId: string, account: MsalAccountInfo): AuthenticationRecord {\n const record = {\n authority: account.environment ?? DefaultAuthority,\n homeAccountId: account.homeAccountId,\n tenantId: account.tenantId || DefaultTenantId,\n username: account.username,\n clientId,\n version: LatestAuthenticationRecordVersion,\n };\n return record;\n}\n\n/**\n * Serializes an `AuthenticationRecord` into a string.\n *\n * The output of a serialized authentication record will contain the following properties:\n *\n * - \"authority\"\n * - \"homeAccountId\"\n * - \"clientId\"\n * - \"tenantId\"\n * - \"username\"\n * - \"version\"\n *\n * To later convert this string to a serialized `AuthenticationRecord`, please use the exported function `deserializeAuthenticationRecord()`.\n */\nexport function serializeAuthenticationRecord(record: AuthenticationRecord): string {\n return JSON.stringify(record);\n}\n\n/**\n * Deserializes a previously serialized authentication record from a string into an object.\n *\n * The input string must contain the following properties:\n *\n * - \"authority\"\n * - \"homeAccountId\"\n * - \"clientId\"\n * - \"tenantId\"\n * - \"username\"\n * - \"version\"\n *\n * If the version we receive is unsupported, an error will be thrown.\n *\n * At the moment, the only available version is: \"1.0\", which is always set when the authentication record is serialized.\n *\n * @param serializedRecord - Authentication record previously serialized into string.\n * @returns AuthenticationRecord.\n */\nexport function deserializeAuthenticationRecord(serializedRecord: string): AuthenticationRecord {\n const parsed: AuthenticationRecord & { version?: string } = JSON.parse(serializedRecord);\n\n if (parsed.version && parsed.version !== LatestAuthenticationRecordVersion) {\n throw Error(\"Unsupported AuthenticationRecord version\");\n }\n\n return parsed;\n}\n"]}
@@ -1,13 +1,24 @@
1
- import childProcess from "node:child_process";
1
+ import { type ExecFileOptionsWithStringEncoding } from "@azure/core-process";
2
2
  /**
3
3
  * Easy to mock childProcess utils.
4
4
  * @internal
5
5
  */
6
6
  export declare const processUtils: {
7
7
  /**
8
- * Promisifying childProcess.execFile
8
+ * Executes a file and preserves output when the process exits nonzero.
9
+ *
9
10
  * @internal
10
11
  */
11
- execFile(file: string, params: string[], options?: childProcess.ExecFileOptionsWithStringEncoding): Promise<string | Buffer>;
12
+ execFileWithResult(file: string, params: string[], options: ExecFileOptionsWithStringEncoding): Promise<{
13
+ stdout: string;
14
+ stderr: string;
15
+ error: Error | null;
16
+ }>;
17
+ /**
18
+ * Executes a file and rejects when it writes to stderr or exits nonzero.
19
+ *
20
+ * @internal
21
+ */
22
+ execFile(file: string, params: string[], options: ExecFileOptionsWithStringEncoding): Promise<string>;
12
23
  };
13
24
  //# sourceMappingURL=processUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processUtils.d.ts","sourceRoot":"","sources":["../../../src/util/processUtils.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB;;;OAGG;mBAEK,MAAM,UACJ,MAAM,EAAE,YACN,YAAY,CAAC,iCAAiC,GACvD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAiB5B,CAAC"}
1
+ {"version":3,"file":"processUtils.d.ts","sourceRoot":"","sources":["../../../src/util/processUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAC;AAS7B;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB;;;;OAIG;6BAEK,MAAM,UACJ,MAAM,EAAE,WACP,iCAAiC,GACzC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;KAAE,CAAC;IAgBnE;;;;OAIG;mBAEK,MAAM,UACJ,MAAM,EAAE,WACP,iCAAiC,GACzC,OAAO,CAAC,MAAM,CAAC;CAOnB,CAAC"}
@@ -1,32 +1,49 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import childProcess from "node:child_process";
3
+ import { execFile, isProcessError, } from "@azure/core-process";
4
+ function outputToString(output) {
5
+ if (output === undefined) {
6
+ return "";
7
+ }
8
+ return Buffer.isBuffer(output) ? output.toString("utf8") : output;
9
+ }
4
10
  /**
5
11
  * Easy to mock childProcess utils.
6
12
  * @internal
7
13
  */
8
14
  export const processUtils = {
9
15
  /**
10
- * Promisifying childProcess.execFile
16
+ * Executes a file and preserves output when the process exits nonzero.
17
+ *
11
18
  * @internal
12
19
  */
13
- execFile(file, params, options) {
14
- return new Promise((resolve, reject) => {
15
- childProcess.execFile(file, params, options, (error, stdout, stderr) => {
16
- if (Buffer.isBuffer(stdout)) {
17
- stdout = stdout.toString("utf8");
18
- }
19
- if (Buffer.isBuffer(stderr)) {
20
- stderr = stderr.toString("utf8");
21
- }
22
- if (stderr || error) {
23
- reject(stderr ? new Error(stderr) : error);
24
- }
25
- else {
26
- resolve(stdout);
27
- }
28
- });
29
- });
20
+ async execFileWithResult(file, params, options) {
21
+ try {
22
+ const result = await execFile(file, params, options);
23
+ return { ...result, error: null };
24
+ }
25
+ catch (error) {
26
+ if (isProcessError(error)) {
27
+ return {
28
+ stdout: outputToString(error.stdout),
29
+ stderr: outputToString(error.stderr),
30
+ error,
31
+ };
32
+ }
33
+ throw error;
34
+ }
35
+ },
36
+ /**
37
+ * Executes a file and rejects when it writes to stderr or exits nonzero.
38
+ *
39
+ * @internal
40
+ */
41
+ async execFile(file, params, options) {
42
+ const { stdout, stderr, error } = await processUtils.execFileWithResult(file, params, options);
43
+ if (stderr || error) {
44
+ throw stderr ? new Error(stderr) : error;
45
+ }
46
+ return stdout;
30
47
  },
31
48
  };
32
49
  //# sourceMappingURL=processUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processUtils.js","sourceRoot":"","sources":["../../../src/util/processUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;;;OAGG;IACH,QAAQ,CACN,IAAY,EACZ,MAAgB,EAChB,OAAwD;QAExD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACrE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport childProcess from \"node:child_process\";\n\n/**\n * Easy to mock childProcess utils.\n * @internal\n */\nexport const processUtils = {\n /**\n * Promisifying childProcess.execFile\n * @internal\n */\n execFile(\n file: string,\n params: string[],\n options?: childProcess.ExecFileOptionsWithStringEncoding,\n ): Promise<string | Buffer> {\n return new Promise((resolve, reject) => {\n childProcess.execFile(file, params, options, (error, stdout, stderr) => {\n if (Buffer.isBuffer(stdout)) {\n stdout = stdout.toString(\"utf8\");\n }\n if (Buffer.isBuffer(stderr)) {\n stderr = stderr.toString(\"utf8\");\n }\n if (stderr || error) {\n reject(stderr ? new Error(stderr) : error);\n } else {\n resolve(stdout);\n }\n });\n });\n },\n};\n"]}
1
+ {"version":3,"file":"processUtils.js","sourceRoot":"","sources":["../../../src/util/processUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EACL,QAAQ,EACR,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAE7B,SAAS,cAAc,CAAC,MAAmC;IACzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CACtB,IAAY,EACZ,MAAgB,EAChB,OAA0C;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;oBACpC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;oBACpC,KAAK;iBACN,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,MAAgB,EAChB,OAA0C;QAE1C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/F,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n execFile,\n isProcessError,\n type ExecFileOptionsWithStringEncoding,\n} from \"@azure/core-process\";\n\nfunction outputToString(output: string | Buffer | undefined): string {\n if (output === undefined) {\n return \"\";\n }\n return Buffer.isBuffer(output) ? output.toString(\"utf8\") : output;\n}\n\n/**\n * Easy to mock childProcess utils.\n * @internal\n */\nexport const processUtils = {\n /**\n * Executes a file and preserves output when the process exits nonzero.\n *\n * @internal\n */\n async execFileWithResult(\n file: string,\n params: string[],\n options: ExecFileOptionsWithStringEncoding,\n ): Promise<{ stdout: string; stderr: string; error: Error | null }> {\n try {\n const result = await execFile(file, params, options);\n return { ...result, error: null };\n } catch (error: unknown) {\n if (isProcessError(error)) {\n return {\n stdout: outputToString(error.stdout),\n stderr: outputToString(error.stderr),\n error,\n };\n }\n throw error;\n }\n },\n\n /**\n * Executes a file and rejects when it writes to stderr or exits nonzero.\n *\n * @internal\n */\n async execFile(\n file: string,\n params: string[],\n options: ExecFileOptionsWithStringEncoding,\n ): Promise<string> {\n const { stdout, stderr, error } = await processUtils.execFileWithResult(file, params, options);\n if (stderr || error) {\n throw stderr ? new Error(stderr) : error;\n }\n return stdout;\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tenantIdUtils.d.ts","sourceRoot":"","sources":["../../../src/util/tenantIdUtils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQ9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,0BAA0B,CAAC,EAAE,MAAM,EAAE,GACpC,MAAM,EAAE,CAUV"}
1
+ {"version":3,"file":"tenantIdUtils.d.ts","sourceRoot":"","sources":["../../../src/util/tenantIdUtils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAErF;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQ9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,0BAA0B,CAAC,EAAE,MAAM,EAAE,GACpC,MAAM,EAAE,CAUV"}
@@ -1 +1 @@
1
- {"version":3,"file":"tenantIdUtils.js","sourceRoot":"","sources":["../../../src/util/tenantIdUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAwB,EAAE,QAAgB;IACtE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,4KAA4K,CAC7K,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAwB,EACxB,QAAiB,EACjB,QAAiB;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACb,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,uBAAuB,CAAC;IACrC,CAAC;IACD,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC,CACjD,0BAAqC;IAErC,IAAI,CAAC,0BAA0B,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,0BAA0B,CAAC;AACpC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ALL_TENANTS, DeveloperSignOnClientId } from \"../constants.js\";\nimport type { CredentialLogger } from \"./logging.js\";\nimport { formatError } from \"./logging.js\";\nexport { processMultiTenantRequest } from \"./processMultiTenantRequest.js\";\n\n/**\n * @internal\n */\nexport function checkTenantId(logger: CredentialLogger, tenantId: string): void {\n if (!tenantId.match(/^[0-9a-zA-Z-.]+$/)) {\n const error = new Error(\n \"Invalid tenant id provided. You can locate your tenant id by following the instructions listed here: https://learn.microsoft.com/partner-center/find-ids-and-domain-names.\",\n );\n logger.info(formatError(\"\", error));\n throw error;\n }\n}\n\n/**\n * @internal\n */\nexport function resolveTenantId(\n logger: CredentialLogger,\n tenantId?: string,\n clientId?: string,\n): string {\n if (tenantId) {\n checkTenantId(logger, tenantId);\n return tenantId;\n }\n if (!clientId) {\n clientId = DeveloperSignOnClientId;\n }\n if (clientId !== DeveloperSignOnClientId) {\n return \"common\";\n }\n return \"organizations\";\n}\n\n/**\n * @internal\n */\nexport function resolveAdditionallyAllowedTenantIds(\n additionallyAllowedTenants?: string[],\n): string[] {\n if (!additionallyAllowedTenants || additionallyAllowedTenants.length === 0) {\n return [];\n }\n\n if (additionallyAllowedTenants.includes(\"*\")) {\n return ALL_TENANTS;\n }\n\n return additionallyAllowedTenants;\n}\n"]}
1
+ {"version":3,"file":"tenantIdUtils.js","sourceRoot":"","sources":["../../../src/util/tenantIdUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAErF;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAwB,EAAE,QAAgB;IACtE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,4KAA4K,CAC7K,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAwB,EACxB,QAAiB,EACjB,QAAiB;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACb,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,uBAAuB,CAAC;IACrC,CAAC;IACD,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC,CACjD,0BAAqC;IAErC,IAAI,CAAC,0BAA0B,IAAI,0BAA0B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,0BAA0B,CAAC;AACpC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ALL_TENANTS, DeveloperSignOnClientId } from \"../constants.js\";\nimport type { CredentialLogger } from \"./logging.js\";\nimport { formatError } from \"./logging.js\";\nexport { processMultiTenantRequest } from \"#platform/util/processMultiTenantRequest\";\n\n/**\n * @internal\n */\nexport function checkTenantId(logger: CredentialLogger, tenantId: string): void {\n if (!tenantId.match(/^[0-9a-zA-Z-.]+$/)) {\n const error = new Error(\n \"Invalid tenant id provided. You can locate your tenant id by following the instructions listed here: https://learn.microsoft.com/partner-center/find-ids-and-domain-names.\",\n );\n logger.info(formatError(\"\", error));\n throw error;\n }\n}\n\n/**\n * @internal\n */\nexport function resolveTenantId(\n logger: CredentialLogger,\n tenantId?: string,\n clientId?: string,\n): string {\n if (tenantId) {\n checkTenantId(logger, tenantId);\n return tenantId;\n }\n if (!clientId) {\n clientId = DeveloperSignOnClientId;\n }\n if (clientId !== DeveloperSignOnClientId) {\n return \"common\";\n }\n return \"organizations\";\n}\n\n/**\n * @internal\n */\nexport function resolveAdditionallyAllowedTenantIds(\n additionallyAllowedTenants?: string[],\n): string[] {\n if (!additionallyAllowedTenants || additionallyAllowedTenants.length === 0) {\n return [];\n }\n\n if (additionallyAllowedTenants.includes(\"*\")) {\n return ALL_TENANTS;\n }\n\n return additionallyAllowedTenants;\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@azure/identity",
3
3
  "sdk-type": "client",
4
- "version": "4.13.0",
4
+ "version": "4.13.2",
5
5
  "description": "Provides credential implementations for Azure SDK libraries that can authenticate with Microsoft Entra ID",
6
6
  "main": "./dist/commonjs/index.js",
7
7
  "module": "./dist/esm/index.js",
@@ -35,9 +35,13 @@
35
35
  ]
36
36
  },
37
37
  "engines": {
38
- "node": ">=20.0.0"
38
+ "node": ">=22.0.0"
39
+ },
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "git+https://github.com/Azure/azure-sdk-for-js",
43
+ "directory": "sdk/identity/identity"
39
44
  },
40
- "repository": "github:Azure/azure-sdk-for-js",
41
45
  "keywords": [
42
46
  "azure",
43
47
  "cloud",
@@ -56,16 +60,23 @@
56
60
  },
57
61
  "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity/README.md",
58
62
  "sideEffects": false,
63
+ "imports": {
64
+ "#platform/*": {
65
+ "browser": "./src/*-browser.mts",
66
+ "default": "./src/*.ts"
67
+ }
68
+ },
59
69
  "dependencies": {
60
70
  "@azure/abort-controller": "^2.0.0",
61
71
  "@azure/core-auth": "^1.9.0",
62
72
  "@azure/core-client": "^1.9.2",
73
+ "@azure/core-process": "^1.0.0",
63
74
  "@azure/core-rest-pipeline": "^1.17.0",
64
75
  "@azure/core-tracing": "^1.0.0",
65
76
  "@azure/core-util": "^1.11.0",
66
77
  "@azure/logger": "^1.0.0",
67
- "@azure/msal-browser": "^4.2.0",
68
- "@azure/msal-node": "^3.5.0",
78
+ "@azure/msal-browser": "^5.5.0",
79
+ "@azure/msal-node": "^5.1.5",
69
80
  "open": "^10.1.0",
70
81
  "tslib": "^2.2.0"
71
82
  },
@@ -73,39 +84,26 @@
73
84
  "@azure/keyvault-keys": "4.10.0",
74
85
  "@types/jsonwebtoken": "^9.0.0",
75
86
  "@types/ms": "^2.1.0",
76
- "@types/node": "^20.19.0",
77
- "@vitest/browser": "^3.2.3",
78
- "@vitest/coverage-istanbul": "^3.2.3",
87
+ "@types/node": "^22.0.0",
88
+ "@vitest/browser-playwright": "^4.1.2",
89
+ "@vitest/coverage-istanbul": "^4.1.2",
79
90
  "assertion-error": "^2.0.1",
80
- "dotenv": "^16.0.0",
81
- "eslint": "^9.33.0",
91
+ "cross-env": "^10.1.0",
92
+ "dotenv": "^16.6.1",
93
+ "eslint": "^10.8.0",
82
94
  "jsonwebtoken": "^9.0.0",
83
95
  "ms": "^2.1.3",
84
- "playwright": "^1.50.1",
85
- "typescript": "~5.8.3",
86
- "vitest": "^3.2.3",
96
+ "playwright": "^1.60.0",
97
+ "prettier": "^3.9.1",
98
+ "rimraf": "^6.1.0",
99
+ "typescript": "~6.0.2",
100
+ "vitest": "^4.1.2",
87
101
  "@azure-tools/test-recorder": "^4.1.1",
88
- "@azure-tools/test-utils-vitest": "^2.0.1",
102
+ "@azure/eslint-plugin-azure-sdk": "^3.0.0",
89
103
  "@azure/dev-tool": "^1.0.0",
90
- "@azure/eslint-plugin-azure-sdk": "^3.0.0"
104
+ "@azure-tools/test-utils-vitest": "^2.0.1"
91
105
  },
92
106
  "type": "module",
93
- "tshy": {
94
- "project": "../../../tsconfig.src.build.json",
95
- "exports": {
96
- "./package.json": "./package.json",
97
- ".": "./src/index.ts"
98
- },
99
- "dialects": [
100
- "esm",
101
- "commonjs"
102
- ],
103
- "esmDialects": [
104
- "workerd",
105
- "browser"
106
- ],
107
- "selfLink": false
108
- },
109
107
  "exports": {
110
108
  "./package.json": "./package.json",
111
109
  ".": {
@@ -129,18 +127,18 @@
129
127
  },
130
128
  "scripts": {
131
129
  "build": "npm run clean && dev-tool run build-package && dev-tool run extract-api",
132
- "build:samples": "tsc -p tsconfig.samples.json",
133
- "check-format": "dev-tool run vendored prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
134
- "clean": "dev-tool run vendored rimraf --glob dist dist-* types *.tgz *.log",
130
+ "build:samples": "tsc -p config/tsconfig.samples.json",
131
+ "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"samples-dev/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\"",
132
+ "clean": "rimraf --glob dist dist-* types *.tgz *.log",
135
133
  "execute:samples": "dev-tool samples run samples-dev",
136
134
  "extract-api": "dev-tool run build-package && dev-tool run extract-api",
137
- "format": "dev-tool run vendored prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
135
+ "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"samples-dev/**/*.{ts,cts,mts}\" \"*.{js,cjs,mjs,json}\"",
138
136
  "lint": "eslint package.json src test --ignore-pattern 'test/integration/**'",
139
137
  "lint:fix": "eslint package.json src test --fix --fix-type [problem,suggestion] --ignore-pattern 'test/integration/**'",
140
138
  "pack": "pnpm pack 2>&1",
141
- "test": "npm run test:node && npm run test:browser",
142
- "test:browser": "npm run clean && dev-tool run build-package && dev-tool run build-test && dev-tool run test:vitest --browser",
143
- "test:node": "dev-tool run build-test --no-browser-test && dev-tool run test:vitest",
139
+ "test": "tsc -b --noEmit && npm run test:node && npm run test:browser",
140
+ "test:browser": "dev-tool run test:vitest --browser",
141
+ "test:node": "dev-tool run test:vitest",
144
142
  "test:node:managed-identity": "dev-tool run test:vitest -- --config ./vitest.managed-identity.config.ts",
145
143
  "test:node:no-timeouts": "dev-tool run test:vitest -- --test-timeout=0",
146
144
  "update-snippets": "dev-tool run update-snippets"
@@ -1,13 +0,0 @@
1
- import type { AccessToken, TokenCredential } from "@azure/core-auth";
2
- /**
3
- * This credential will use the currently logged-in user login information
4
- * via the Azure CLI ('az') commandline tool.
5
- */
6
- export declare class AzureCliCredential implements TokenCredential {
7
- /**
8
- * Only available in Node.js
9
- */
10
- constructor();
11
- getToken(): Promise<AccessToken | null>;
12
- }
13
- //# sourceMappingURL=azureCliCredential-browser.d.mts.map
@@ -1,13 +0,0 @@
1
- import type { AccessToken, TokenCredential } from "@azure/core-auth";
2
- /**
3
- * This credential will use the currently logged-in user login information
4
- * via the Azure Developer CLI ('azd') commandline tool.
5
- */
6
- export declare class AzureDeveloperCliCredential implements TokenCredential {
7
- /**
8
- * Only available in Node.js
9
- */
10
- constructor();
11
- getToken(): Promise<AccessToken | null>;
12
- }
13
- //# sourceMappingURL=azureDeveloperCliCredential-browser.d.mts.map
@@ -1,13 +0,0 @@
1
- import type { AccessToken, TokenCredential } from "@azure/core-auth";
2
- /**
3
- * Enables authentication to Microsoft Entra ID using a PEM-encoded
4
- * certificate that is assigned to an App Registration.
5
- */
6
- export declare class AzurePipelinesCredential implements TokenCredential {
7
- /**
8
- * Only available in Node.js
9
- */
10
- constructor();
11
- getToken(): Promise<AccessToken | null>;
12
- }
13
- //# sourceMappingURL=azurePipelinesCredential-browser.d.mts.map
@@ -1,12 +0,0 @@
1
- import type { AccessToken, TokenCredential } from "@azure/core-auth";
2
- /**
3
- * This credential will use the currently-logged-in user's login information via the Azure Power Shell command line tool.
4
- */
5
- export declare class AzurePowerShellCredential implements TokenCredential {
6
- /**
7
- * Only available in Node.js
8
- */
9
- constructor();
10
- getToken(): Promise<AccessToken | null>;
11
- }
12
- //# sourceMappingURL=azurePowerShellCredential-browser.d.mts.map
@@ -1,35 +0,0 @@
1
- import type { AccessToken, GetTokenOptions, TokenCredential } from "@azure/core-auth";
2
- import { TokenCredentialOptions } from "../tokenCredentialOptions.js";
3
- import { MultiTenantTokenCredentialOptions } from "./multiTenantTokenCredentialOptions.js";
4
- /**
5
- * Enables authentication to Microsoft Entra ID using WAM (Web Account Manager) broker.
6
- * This credential uses the default account logged into the OS via a broker.
7
- */
8
- export declare class BrokerCredential implements TokenCredential {
9
- private brokerMsalClient;
10
- private brokerTenantId?;
11
- private brokerAdditionallyAllowedTenantIds;
12
- /**
13
- * Creates an instance of BrokerCredential with the required broker options.
14
- *
15
- * This credential uses WAM (Web Account Manager) for authentication, which provides
16
- * better security and user experience on Windows platforms.
17
- *
18
- * @param options - Options for configuring the broker credential, including required broker options.
19
- */
20
- constructor(options: {
21
- tenantId?: string;
22
- } & TokenCredentialOptions & MultiTenantTokenCredentialOptions);
23
- /**
24
- * Authenticates with Microsoft Entra ID using WAM broker and returns an access token if successful.
25
- * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.
26
- *
27
- * This method extends the base getToken method to support silentAuthenticationOnly option
28
- * when using broker authentication.
29
- *
30
- * @param scopes - The list of scopes for which the token will have access.
31
- * @param options - The options used to configure the token request, including silentAuthenticationOnly option.
32
- */
33
- getToken(scopes: string | string[], options?: GetTokenOptions): Promise<AccessToken>;
34
- }
35
- //# sourceMappingURL=brokerCredential.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brokerCredential.d.ts","sourceRoot":"","sources":["../../../src/credentials/brokerCredential.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAatF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAK3F;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IACtD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,kCAAkC,CAAW;IAErD;;;;;;;OAOG;gBAED,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,sBAAsB,GAAG,iCAAiC;IAwB7F;;;;;;;;;OASG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;CA4B/F"}
@@ -1,69 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { processMultiTenantRequest, resolveAdditionallyAllowedTenantIds, resolveTenantId, } from "../util/tenantIdUtils.js";
4
- import { credentialLogger, formatError } from "../util/logging.js";
5
- import { ensureScopes } from "../util/scopeUtils.js";
6
- import { tracingClient } from "../util/tracing.js";
7
- import { createMsalClient } from "../msal/nodeFlows/msalClient.js";
8
- import { DeveloperSignOnClientId } from "../constants.js";
9
- import { CredentialUnavailableError } from "../errors.js";
10
- const logger = credentialLogger("BrokerCredential");
11
- /**
12
- * Enables authentication to Microsoft Entra ID using WAM (Web Account Manager) broker.
13
- * This credential uses the default account logged into the OS via a broker.
14
- */
15
- export class BrokerCredential {
16
- brokerMsalClient;
17
- brokerTenantId;
18
- brokerAdditionallyAllowedTenantIds;
19
- /**
20
- * Creates an instance of BrokerCredential with the required broker options.
21
- *
22
- * This credential uses WAM (Web Account Manager) for authentication, which provides
23
- * better security and user experience on Windows platforms.
24
- *
25
- * @param options - Options for configuring the broker credential, including required broker options.
26
- */
27
- constructor(options) {
28
- this.brokerTenantId = resolveTenantId(logger, options.tenantId);
29
- this.brokerAdditionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
30
- const msalClientOptions = {
31
- ...options,
32
- tokenCredentialOptions: options,
33
- logger,
34
- brokerOptions: {
35
- enabled: true,
36
- parentWindowHandle: new Uint8Array(0),
37
- useDefaultBrokerAccount: true,
38
- },
39
- };
40
- this.brokerMsalClient = createMsalClient(DeveloperSignOnClientId, this.brokerTenantId, msalClientOptions);
41
- }
42
- /**
43
- * Authenticates with Microsoft Entra ID using WAM broker and returns an access token if successful.
44
- * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.
45
- *
46
- * This method extends the base getToken method to support silentAuthenticationOnly option
47
- * when using broker authentication.
48
- *
49
- * @param scopes - The list of scopes for which the token will have access.
50
- * @param options - The options used to configure the token request, including silentAuthenticationOnly option.
51
- */
52
- async getToken(scopes, options = {}) {
53
- return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async (newOptions) => {
54
- newOptions.tenantId = processMultiTenantRequest(this.brokerTenantId, newOptions, this.brokerAdditionallyAllowedTenantIds, logger);
55
- const arrayScopes = ensureScopes(scopes);
56
- try {
57
- return this.brokerMsalClient.getBrokeredToken(arrayScopes, true, {
58
- ...newOptions,
59
- disableAutomaticAuthentication: true,
60
- });
61
- }
62
- catch (e) {
63
- logger.getToken.info(formatError(arrayScopes, e));
64
- throw new CredentialUnavailableError("Failed to acquire token using broker authentication", { cause: e });
65
- }
66
- });
67
- }
68
- }
69
- //# sourceMappingURL=brokerCredential.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brokerCredential.js","sourceRoot":"","sources":["../../../src/credentials/brokerCredential.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,gBAAgB,CAAa;IAC7B,cAAc,CAAU;IACxB,kCAAkC,CAAW;IAErD;;;;;;;OAOG;IACH,YACE,OAA2F;QAE3F,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,kCAAkC,GAAG,mCAAmC,CAC3E,OAAO,EAAE,0BAA0B,CACpC,CAAC;QACF,MAAM,iBAAiB,GAAsB;YAC3C,GAAG,OAAO;YACV,sBAAsB,EAAE,OAAO;YAC/B,MAAM;YACN,aAAa,EAAE;gBACb,OAAO,EAAE,IAAI;gBACb,kBAAkB,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;gBACrC,uBAAuB,EAAE,IAAI;aAC9B;SACF,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CACtC,uBAAuB,EACvB,IAAI,CAAC,cAAc,EACnB,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAyB,EAAE,UAA2B,EAAE;QACrE,OAAO,aAAa,CAAC,QAAQ,CAC3B,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,WAAW,EACnC,OAAO,EACP,KAAK,EAAE,UAAU,EAAE,EAAE;YACnB,UAAU,CAAC,QAAQ,GAAG,yBAAyB,CAC7C,IAAI,CAAC,cAAc,EACnB,UAAU,EACV,IAAI,CAAC,kCAAkC,EACvC,MAAM,CACP,CAAC;YAEF,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE;oBAC/D,GAAG,UAAU;oBACb,8BAA8B,EAAE,IAAI;iBACrC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,IAAI,0BAA0B,CAClC,qDAAqD,EACrD,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport {\n processMultiTenantRequest,\n resolveAdditionallyAllowedTenantIds,\n resolveTenantId,\n} from \"../util/tenantIdUtils.js\";\n\nimport { credentialLogger, formatError } from \"../util/logging.js\";\nimport { ensureScopes } from \"../util/scopeUtils.js\";\nimport { tracingClient } from \"../util/tracing.js\";\nimport type { MsalClient, MsalClientOptions } from \"../msal/nodeFlows/msalClient.js\";\nimport { createMsalClient } from \"../msal/nodeFlows/msalClient.js\";\nimport { DeveloperSignOnClientId } from \"../constants.js\";\nimport { TokenCredentialOptions } from \"../tokenCredentialOptions.js\";\nimport { MultiTenantTokenCredentialOptions } from \"./multiTenantTokenCredentialOptions.js\";\nimport { CredentialUnavailableError } from \"../errors.js\";\n\nconst logger = credentialLogger(\"BrokerCredential\");\n\n/**\n * Enables authentication to Microsoft Entra ID using WAM (Web Account Manager) broker.\n * This credential uses the default account logged into the OS via a broker.\n */\nexport class BrokerCredential implements TokenCredential {\n private brokerMsalClient: MsalClient;\n private brokerTenantId?: string;\n private brokerAdditionallyAllowedTenantIds: string[];\n\n /**\n * Creates an instance of BrokerCredential with the required broker options.\n *\n * This credential uses WAM (Web Account Manager) for authentication, which provides\n * better security and user experience on Windows platforms.\n *\n * @param options - Options for configuring the broker credential, including required broker options.\n */\n constructor(\n options: { tenantId?: string } & TokenCredentialOptions & MultiTenantTokenCredentialOptions,\n ) {\n this.brokerTenantId = resolveTenantId(logger, options.tenantId);\n this.brokerAdditionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(\n options?.additionallyAllowedTenants,\n );\n const msalClientOptions: MsalClientOptions = {\n ...options,\n tokenCredentialOptions: options,\n logger,\n brokerOptions: {\n enabled: true,\n parentWindowHandle: new Uint8Array(0),\n useDefaultBrokerAccount: true,\n },\n };\n\n this.brokerMsalClient = createMsalClient(\n DeveloperSignOnClientId,\n this.brokerTenantId,\n msalClientOptions,\n );\n }\n\n /**\n * Authenticates with Microsoft Entra ID using WAM broker and returns an access token if successful.\n * If authentication fails, a {@link CredentialUnavailableError} will be thrown with the details of the failure.\n *\n * This method extends the base getToken method to support silentAuthenticationOnly option\n * when using broker authentication.\n *\n * @param scopes - The list of scopes for which the token will have access.\n * @param options - The options used to configure the token request, including silentAuthenticationOnly option.\n */\n async getToken(scopes: string | string[], options: GetTokenOptions = {}): Promise<AccessToken> {\n return tracingClient.withSpan(\n `${this.constructor.name}.getToken`,\n options,\n async (newOptions) => {\n newOptions.tenantId = processMultiTenantRequest(\n this.brokerTenantId,\n newOptions,\n this.brokerAdditionallyAllowedTenantIds,\n logger,\n );\n\n const arrayScopes = ensureScopes(scopes);\n try {\n return this.brokerMsalClient.getBrokeredToken(arrayScopes, true, {\n ...newOptions,\n disableAutomaticAuthentication: true,\n });\n } catch (e: any) {\n logger.getToken.info(formatError(arrayScopes, e));\n throw new CredentialUnavailableError(\n \"Failed to acquire token using broker authentication\",\n { cause: e },\n );\n }\n },\n );\n }\n}\n"]}
@@ -1,12 +0,0 @@
1
- import type { AccessToken, TokenCredential } from "@azure/core-auth";
2
- /**
3
- * Authenticates a service principal with a JWT assertion.
4
- */
5
- export declare class ClientAssertionCredential implements TokenCredential {
6
- /**
7
- * Only available in Node.js
8
- */
9
- constructor();
10
- getToken(): Promise<AccessToken | null>;
11
- }
12
- //# sourceMappingURL=clientAssertionCredential-browser.d.mts.map