@azure/identity 4.13.1 → 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.
- package/dist/browser/constants.d.ts +1 -1
- package/dist/browser/constants.js +1 -1
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/credentials/{authorizationCodeCredential.d.ts → authorizationCodeCredential-browser.d.mts} +2 -2
- package/dist/browser/credentials/authorizationCodeCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{authorizationCodeCredential.js → authorizationCodeCredential-browser.mjs} +1 -1
- package/dist/browser/credentials/authorizationCodeCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/authorizationCodeCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/azureCliCredential-browser.d.mts +14 -0
- package/dist/browser/credentials/azureCliCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{azureCliCredential.js → azureCliCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/azureCliCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/azureDeveloperCliCredential-browser.d.mts +14 -0
- package/dist/browser/credentials/azureDeveloperCliCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{azureDeveloperCliCredential.js → azureDeveloperCliCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/azureDeveloperCliCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/azurePipelinesCredential-browser.d.mts +14 -0
- package/dist/browser/credentials/azurePipelinesCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{azurePipelinesCredential.js → azurePipelinesCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/azurePipelinesCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/azurePipelinesCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/azurePowerShellCredential-browser.d.mts +13 -0
- package/dist/browser/credentials/azurePowerShellCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{azurePowerShellCredential.js → azurePowerShellCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/azurePowerShellCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/clientAssertionCredential-browser.d.mts +13 -0
- package/dist/browser/credentials/clientAssertionCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{clientAssertionCredential.js → clientAssertionCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/clientAssertionCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/clientAssertionCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/clientCertificateCredential-browser.d.mts +15 -0
- package/dist/browser/credentials/clientCertificateCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{clientCertificateCredential.js → clientCertificateCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/clientCertificateCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/clientCertificateCredentialModels.d.ts.map +1 -1
- package/dist/browser/credentials/clientCertificateCredentialModels.js.map +1 -1
- package/dist/browser/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/clientCertificateCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/clientSecretCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/{defaultAzureCredential.d.ts → defaultAzureCredential-browser.d.mts} +2 -2
- package/dist/browser/credentials/defaultAzureCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{defaultAzureCredential.js → defaultAzureCredential-browser.mjs} +1 -1
- package/dist/browser/credentials/defaultAzureCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/defaultAzureCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/deviceCodeCredential-browser.d.mts +14 -0
- package/dist/browser/credentials/deviceCodeCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{deviceCodeCredential.js → deviceCodeCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/deviceCodeCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/deviceCodeCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/environmentCredential-browser.d.mts +14 -0
- package/dist/browser/credentials/environmentCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{environmentCredential.js → environmentCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/environmentCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/environmentCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/environmentCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/interactiveCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/interactiveCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/managedIdentityCredential/index-browser.d.mts +11 -0
- package/dist/browser/credentials/managedIdentityCredential/index-browser.d.mts.map +1 -1
- package/dist/browser/credentials/managedIdentityCredential/{index.js → index-browser.mjs} +2 -2
- package/dist/browser/credentials/managedIdentityCredential/index-browser.mjs.map +1 -1
- package/dist/browser/credentials/onBehalfOfCredential-browser.d.mts +13 -0
- package/dist/browser/credentials/onBehalfOfCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{onBehalfOfCredential.js → onBehalfOfCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/onBehalfOfCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/usernamePasswordCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/usernamePasswordCredentialOptions.js.map +1 -1
- package/dist/browser/credentials/{visualStudioCodeCredential.d.ts → visualStudioCodeCredential-browser.d.mts} +4 -3
- package/dist/browser/credentials/visualStudioCodeCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{visualStudioCodeCredential.js → visualStudioCodeCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/visualStudioCodeCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/{workloadIdentityCredential.d.ts → workloadIdentityCredential-browser.d.mts} +4 -3
- package/dist/browser/credentials/workloadIdentityCredential-browser.d.mts.map +1 -1
- package/dist/browser/credentials/{workloadIdentityCredential.js → workloadIdentityCredential-browser.mjs} +2 -2
- package/dist/browser/credentials/workloadIdentityCredential-browser.mjs.map +1 -1
- package/dist/browser/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
- package/dist/browser/credentials/workloadIdentityCredentialOptions.js.map +1 -1
- package/dist/browser/index.d.ts +51 -51
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +19 -19
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/msal/browserFlows/msalBrowserCommon.js.map +1 -1
- package/dist/browser/msal/utils.d.ts +1 -1
- package/dist/browser/msal/utils.d.ts.map +1 -1
- package/dist/browser/msal/utils.js +1 -1
- package/dist/browser/msal/utils.js.map +1 -1
- package/dist/browser/util/tenantIdUtils.d.ts +1 -1
- package/dist/browser/util/tenantIdUtils.d.ts.map +1 -1
- package/dist/browser/util/tenantIdUtils.js +1 -1
- package/dist/browser/util/tenantIdUtils.js.map +1 -1
- package/dist/commonjs/client/identityClient.js +263 -252
- package/dist/commonjs/client/identityClient.js.map +7 -1
- package/dist/commonjs/constants.d.ts +1 -1
- package/dist/commonjs/constants.js +61 -78
- package/dist/commonjs/constants.js.map +7 -1
- package/dist/commonjs/credentials/authorityValidationOptions.js +16 -5
- package/dist/commonjs/credentials/authorityValidationOptions.js.map +7 -1
- package/dist/commonjs/credentials/authorizationCodeCredential.js +99 -75
- package/dist/commonjs/credentials/authorizationCodeCredential.js.map +7 -1
- package/dist/commonjs/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/authorizationCodeCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/azureCliCredential.d.ts.map +1 -1
- package/dist/commonjs/credentials/azureCliCredential.js +228 -214
- package/dist/commonjs/credentials/azureCliCredential.js.map +7 -1
- package/dist/commonjs/credentials/azureCliCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/azureCliCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
- package/dist/commonjs/credentials/azureDeveloperCliCredential.js +192 -202
- package/dist/commonjs/credentials/azureDeveloperCliCredential.js.map +7 -1
- package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/azureDeveloperCliCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/azurePipelinesCredential.js +173 -135
- package/dist/commonjs/credentials/azurePipelinesCredential.js.map +7 -1
- package/dist/commonjs/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/azurePipelinesCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/azurePowerShellCredential.d.ts +10 -0
- package/dist/commonjs/credentials/azurePowerShellCredential.d.ts.map +1 -1
- package/dist/commonjs/credentials/azurePowerShellCredential.js +229 -208
- package/dist/commonjs/credentials/azurePowerShellCredential.js.map +7 -1
- package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/azurePowerShellCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/brokerAuthOptions.js +16 -3
- package/dist/commonjs/credentials/brokerAuthOptions.js.map +7 -1
- package/dist/commonjs/credentials/brokerCredential.d.ts +2 -2
- package/dist/commonjs/credentials/brokerCredential.d.ts.map +1 -1
- package/dist/commonjs/credentials/brokerCredential.js +104 -71
- package/dist/commonjs/credentials/brokerCredential.js.map +7 -1
- package/dist/commonjs/credentials/browserCustomizationOptions.js +16 -5
- package/dist/commonjs/credentials/browserCustomizationOptions.js.map +7 -1
- package/dist/commonjs/credentials/chainedTokenCredential.js +113 -93
- package/dist/commonjs/credentials/chainedTokenCredential.js.map +7 -1
- package/dist/commonjs/credentials/clientAssertionCredential.js +102 -64
- package/dist/commonjs/credentials/clientAssertionCredential.js.map +7 -1
- package/dist/commonjs/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/clientAssertionCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/clientAssertionCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/clientCertificateCredential.js +139 -134
- package/dist/commonjs/credentials/clientCertificateCredential.js.map +7 -1
- package/dist/commonjs/credentials/clientCertificateCredentialModels.d.ts.map +1 -1
- package/dist/commonjs/credentials/clientCertificateCredentialModels.js +16 -5
- package/dist/commonjs/credentials/clientCertificateCredentialModels.js.map +7 -1
- package/dist/commonjs/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/clientCertificateCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/clientCertificateCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/clientSecretCredential.js +97 -68
- package/dist/commonjs/credentials/clientSecretCredential.js.map +7 -1
- package/dist/commonjs/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/clientSecretCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/clientSecretCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/credentialPersistenceOptions.js +16 -5
- package/dist/commonjs/credentials/credentialPersistenceOptions.js.map +7 -1
- package/dist/commonjs/credentials/defaultAzureCredential.js +121 -159
- package/dist/commonjs/credentials/defaultAzureCredential.js.map +7 -1
- package/dist/commonjs/credentials/defaultAzureCredentialFunctions.js +110 -140
- package/dist/commonjs/credentials/defaultAzureCredentialFunctions.js.map +7 -1
- package/dist/commonjs/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/defaultAzureCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/defaultAzureCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/deviceCodeCredential.js +133 -104
- package/dist/commonjs/credentials/deviceCodeCredential.js.map +7 -1
- package/dist/commonjs/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/deviceCodeCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/deviceCodeCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/environmentCredential.d.ts.map +1 -1
- package/dist/commonjs/credentials/environmentCredential.js +157 -123
- package/dist/commonjs/credentials/environmentCredential.js.map +7 -1
- package/dist/commonjs/credentials/environmentCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/environmentCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/environmentCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/interactiveBrowserCredential.js +145 -108
- package/dist/commonjs/credentials/interactiveBrowserCredential.js.map +7 -1
- package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/interactiveBrowserCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/interactiveCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/interactiveCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/interactiveCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js +92 -91
- package/dist/commonjs/credentials/managedIdentityCredential/imdsMsi.js.map +7 -1
- package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js +51 -44
- package/dist/commonjs/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +7 -1
- package/dist/commonjs/credentials/managedIdentityCredential/index.js +256 -242
- package/dist/commonjs/credentials/managedIdentityCredential/index.js.map +7 -1
- package/dist/commonjs/credentials/managedIdentityCredential/models.js +16 -5
- package/dist/commonjs/credentials/managedIdentityCredential/models.js.map +7 -1
- package/dist/commonjs/credentials/managedIdentityCredential/options.js +16 -5
- package/dist/commonjs/credentials/managedIdentityCredential/options.js.map +7 -1
- package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js +56 -39
- package/dist/commonjs/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +7 -1
- package/dist/commonjs/credentials/managedIdentityCredential/utils.js +79 -75
- package/dist/commonjs/credentials/managedIdentityCredential/utils.js.map +7 -1
- package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/multiTenantTokenCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/onBehalfOfCredential.js +169 -127
- package/dist/commonjs/credentials/onBehalfOfCredential.js.map +7 -1
- package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/onBehalfOfCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/usernamePasswordCredential.js +113 -76
- package/dist/commonjs/credentials/usernamePasswordCredential.js.map +7 -1
- package/dist/commonjs/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/usernamePasswordCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/visualStudioCodeCredential.d.ts.map +1 -1
- package/dist/commonjs/credentials/visualStudioCodeCredential.js +144 -132
- package/dist/commonjs/credentials/visualStudioCodeCredential.js.map +7 -1
- package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/visualStudioCodeCredentialOptions.js.map +7 -1
- package/dist/commonjs/credentials/workloadIdentityCredential.js +123 -109
- package/dist/commonjs/credentials/workloadIdentityCredential.js.map +7 -1
- package/dist/commonjs/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
- package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js +16 -5
- package/dist/commonjs/credentials/workloadIdentityCredentialOptions.js.map +7 -1
- package/dist/commonjs/errors.js +131 -132
- package/dist/commonjs/errors.js.map +7 -1
- package/dist/commonjs/index.d.ts +33 -33
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +115 -67
- package/dist/commonjs/index.js.map +7 -1
- package/dist/commonjs/msal/msal.js +38 -9
- package/dist/commonjs/msal/msal.js.map +7 -1
- package/dist/commonjs/msal/nodeFlows/brokerOptions.js +16 -3
- package/dist/commonjs/msal/nodeFlows/brokerOptions.js.map +7 -1
- package/dist/commonjs/msal/nodeFlows/msalClient.js +449 -478
- package/dist/commonjs/msal/nodeFlows/msalClient.js.map +7 -1
- package/dist/commonjs/msal/nodeFlows/msalPlugins.d.ts.map +1 -1
- package/dist/commonjs/msal/nodeFlows/msalPlugins.js +140 -147
- package/dist/commonjs/msal/nodeFlows/msalPlugins.js.map +7 -1
- package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js +16 -5
- package/dist/commonjs/msal/nodeFlows/tokenCachePersistenceOptions.js.map +7 -1
- package/dist/commonjs/msal/types.js +16 -5
- package/dist/commonjs/msal/types.js.map +7 -1
- package/dist/commonjs/msal/utils.d.ts.map +1 -1
- package/dist/commonjs/msal/utils.js +179 -224
- package/dist/commonjs/msal/utils.js.map +7 -1
- package/dist/commonjs/plugins/consumer.js +32 -40
- package/dist/commonjs/plugins/consumer.js.map +7 -1
- package/dist/commonjs/plugins/provider.js +16 -5
- package/dist/commonjs/plugins/provider.js.map +7 -1
- package/dist/commonjs/regionalAuthority.js +93 -141
- package/dist/commonjs/regionalAuthority.js.map +7 -1
- package/dist/commonjs/tokenCredentialOptions.js +16 -5
- package/dist/commonjs/tokenCredentialOptions.js.map +7 -1
- package/dist/commonjs/tokenProvider.js +52 -52
- package/dist/commonjs/tokenProvider.js.map +7 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/util/identityTokenEndpoint.js +32 -12
- package/dist/commonjs/util/identityTokenEndpoint.js.map +7 -1
- package/dist/commonjs/util/logging.js +91 -97
- package/dist/commonjs/util/logging.js.map +7 -1
- package/dist/commonjs/util/processMultiTenantRequest.js +43 -33
- package/dist/commonjs/util/processMultiTenantRequest.js.map +7 -1
- package/dist/commonjs/util/processUtils.d.ts +14 -3
- package/dist/commonjs/util/processUtils.d.ts.map +1 -1
- package/dist/commonjs/util/processUtils.js +67 -35
- package/dist/commonjs/util/processUtils.js.map +7 -1
- package/dist/commonjs/util/scopeUtils.js +39 -28
- package/dist/commonjs/util/scopeUtils.js.map +7 -1
- package/dist/commonjs/util/subscriptionUtils.js +35 -17
- package/dist/commonjs/util/subscriptionUtils.js.map +7 -1
- package/dist/commonjs/util/tenantIdUtils.d.ts.map +1 -1
- package/dist/commonjs/util/tenantIdUtils.js +61 -45
- package/dist/commonjs/util/tenantIdUtils.js.map +7 -1
- package/dist/commonjs/util/tracing.js +33 -16
- package/dist/commonjs/util/tracing.js.map +7 -1
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/authorizationCodeCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/azureCliCredential.d.ts.map +1 -1
- package/dist/esm/credentials/azureCliCredential.js +21 -24
- package/dist/esm/credentials/azureCliCredential.js.map +1 -1
- package/dist/esm/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
- package/dist/esm/credentials/azureDeveloperCliCredential.js +16 -24
- package/dist/esm/credentials/azureDeveloperCliCredential.js.map +1 -1
- package/dist/esm/credentials/azurePipelinesCredential.js.map +1 -1
- package/dist/esm/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/azurePipelinesCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/azurePowerShellCredential.d.ts +10 -0
- package/dist/esm/credentials/azurePowerShellCredential.d.ts.map +1 -1
- package/dist/esm/credentials/azurePowerShellCredential.js +26 -6
- package/dist/esm/credentials/azurePowerShellCredential.js.map +1 -1
- package/dist/esm/credentials/brokerCredential.d.ts +2 -2
- package/dist/esm/credentials/brokerCredential.d.ts.map +1 -1
- package/dist/esm/credentials/brokerCredential.js.map +1 -1
- package/dist/esm/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/clientAssertionCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/clientCertificateCredentialModels.d.ts.map +1 -1
- package/dist/esm/credentials/clientCertificateCredentialModels.js.map +1 -1
- package/dist/esm/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/clientCertificateCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/clientSecretCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/defaultAzureCredential.js.map +1 -1
- package/dist/esm/credentials/defaultAzureCredentialFunctions.js.map +1 -1
- package/dist/esm/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/defaultAzureCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/deviceCodeCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/environmentCredential.d.ts.map +1 -1
- package/dist/esm/credentials/environmentCredential.js.map +1 -1
- package/dist/esm/credentials/environmentCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/environmentCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/interactiveCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/interactiveCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
- package/dist/esm/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/usernamePasswordCredentialOptions.js.map +1 -1
- package/dist/esm/credentials/visualStudioCodeCredential.d.ts.map +1 -1
- package/dist/esm/credentials/visualStudioCodeCredential.js.map +1 -1
- package/dist/esm/credentials/workloadIdentityCredential.js.map +1 -1
- package/dist/esm/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
- package/dist/esm/credentials/workloadIdentityCredentialOptions.js.map +1 -1
- package/dist/esm/index.d.ts +33 -33
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/msal/nodeFlows/msalPlugins.d.ts.map +1 -1
- package/dist/esm/msal/nodeFlows/msalPlugins.js.map +1 -1
- package/dist/esm/msal/utils.d.ts.map +1 -1
- package/dist/esm/msal/utils.js.map +1 -1
- package/dist/esm/util/processUtils.d.ts +14 -3
- package/dist/esm/util/processUtils.d.ts.map +1 -1
- package/dist/esm/util/processUtils.js +36 -19
- package/dist/esm/util/processUtils.js.map +1 -1
- package/dist/esm/util/tenantIdUtils.d.ts.map +1 -1
- package/dist/esm/util/tenantIdUtils.js.map +1 -1
- package/dist/workerd/constants.d.ts +1 -1
- package/dist/workerd/constants.js +1 -1
- package/dist/workerd/constants.js.map +1 -1
- package/dist/workerd/credentials/authorizationCodeCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/authorizationCodeCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/azureCliCredential.d.ts.map +1 -1
- package/dist/workerd/credentials/azureCliCredential.js +21 -24
- package/dist/workerd/credentials/azureCliCredential.js.map +1 -1
- package/dist/workerd/credentials/azureDeveloperCliCredential.d.ts.map +1 -1
- package/dist/workerd/credentials/azureDeveloperCliCredential.js +16 -24
- package/dist/workerd/credentials/azureDeveloperCliCredential.js.map +1 -1
- package/dist/workerd/credentials/azurePipelinesCredential.js.map +1 -1
- package/dist/workerd/credentials/azurePipelinesCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/azurePipelinesCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/azurePowerShellCredential.d.ts +10 -0
- package/dist/workerd/credentials/azurePowerShellCredential.d.ts.map +1 -1
- package/dist/workerd/credentials/azurePowerShellCredential.js +26 -6
- package/dist/workerd/credentials/azurePowerShellCredential.js.map +1 -1
- package/dist/workerd/credentials/brokerCredential.d.ts +2 -2
- package/dist/workerd/credentials/brokerCredential.d.ts.map +1 -1
- package/dist/workerd/credentials/brokerCredential.js.map +1 -1
- package/dist/workerd/credentials/clientAssertionCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/clientAssertionCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/clientCertificateCredentialModels.d.ts.map +1 -1
- package/dist/workerd/credentials/clientCertificateCredentialModels.js.map +1 -1
- package/dist/workerd/credentials/clientCertificateCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/clientCertificateCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/clientSecretCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/clientSecretCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/defaultAzureCredential.js.map +1 -1
- package/dist/workerd/credentials/defaultAzureCredentialFunctions.js.map +1 -1
- package/dist/workerd/credentials/defaultAzureCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/defaultAzureCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/deviceCodeCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/deviceCodeCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/environmentCredential.d.ts.map +1 -1
- package/dist/workerd/credentials/environmentCredential.js.map +1 -1
- package/dist/workerd/credentials/environmentCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/environmentCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/interactiveBrowserCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/interactiveBrowserCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/interactiveCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/interactiveCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +1 -1
- package/dist/workerd/credentials/usernamePasswordCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/usernamePasswordCredentialOptions.js.map +1 -1
- package/dist/workerd/credentials/visualStudioCodeCredential.d.ts.map +1 -1
- package/dist/workerd/credentials/visualStudioCodeCredential.js.map +1 -1
- package/dist/workerd/credentials/workloadIdentityCredential.js.map +1 -1
- package/dist/workerd/credentials/workloadIdentityCredentialOptions.d.ts.map +1 -1
- package/dist/workerd/credentials/workloadIdentityCredentialOptions.js.map +1 -1
- package/dist/workerd/index.d.ts +33 -33
- package/dist/workerd/index.d.ts.map +1 -1
- package/dist/workerd/index.js.map +1 -1
- package/dist/workerd/msal/nodeFlows/msalPlugins.d.ts.map +1 -1
- package/dist/workerd/msal/nodeFlows/msalPlugins.js.map +1 -1
- package/dist/workerd/msal/utils.d.ts.map +1 -1
- package/dist/workerd/msal/utils.js.map +1 -1
- package/dist/workerd/util/processUtils.d.ts +14 -3
- package/dist/workerd/util/processUtils.d.ts.map +1 -1
- package/dist/workerd/util/processUtils.js +36 -19
- package/dist/workerd/util/processUtils.js.map +1 -1
- package/dist/workerd/util/tenantIdUtils.d.ts.map +1 -1
- package/dist/workerd/util/tenantIdUtils.js.map +1 -1
- package/package.json +33 -35
- package/dist/browser/credentials/azureCliCredential.d.ts +0 -13
- package/dist/browser/credentials/azureDeveloperCliCredential.d.ts +0 -13
- package/dist/browser/credentials/azurePipelinesCredential.d.ts +0 -13
- package/dist/browser/credentials/azurePowerShellCredential.d.ts +0 -12
- package/dist/browser/credentials/brokerCredential.d.ts +0 -35
- package/dist/browser/credentials/brokerCredential.d.ts.map +0 -1
- package/dist/browser/credentials/brokerCredential.js +0 -69
- package/dist/browser/credentials/brokerCredential.js.map +0 -1
- package/dist/browser/credentials/clientAssertionCredential.d.ts +0 -12
- package/dist/browser/credentials/clientCertificateCredential.d.ts +0 -13
- package/dist/browser/credentials/defaultAzureCredentialFunctions.d.ts +0 -64
- package/dist/browser/credentials/defaultAzureCredentialFunctions.d.ts.map +0 -1
- package/dist/browser/credentials/defaultAzureCredentialFunctions.js +0 -147
- package/dist/browser/credentials/defaultAzureCredentialFunctions.js.map +0 -1
- package/dist/browser/credentials/deviceCodeCredential.d.ts +0 -13
- package/dist/browser/credentials/environmentCredential.d.ts +0 -13
- package/dist/browser/credentials/managedIdentityCredential/imdsMsi.d.ts +0 -18
- package/dist/browser/credentials/managedIdentityCredential/imdsMsi.d.ts.map +0 -1
- package/dist/browser/credentials/managedIdentityCredential/imdsMsi.js +0 -97
- package/dist/browser/credentials/managedIdentityCredential/imdsMsi.js.map +0 -1
- package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts +0 -13
- package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.d.ts.map +0 -1
- package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.js +0 -43
- package/dist/browser/credentials/managedIdentityCredential/imdsRetryPolicy.js.map +0 -1
- package/dist/browser/credentials/managedIdentityCredential/index.d.ts +0 -6
- package/dist/browser/credentials/managedIdentityCredential/models.d.ts +0 -24
- package/dist/browser/credentials/managedIdentityCredential/models.d.ts.map +0 -1
- package/dist/browser/credentials/managedIdentityCredential/models.js +0 -4
- package/dist/browser/credentials/managedIdentityCredential/models.js.map +0 -1
- package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts +0 -14
- package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.d.ts.map +0 -1
- package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.js +0 -38
- package/dist/browser/credentials/managedIdentityCredential/tokenExchangeMsi.js.map +0 -1
- package/dist/browser/credentials/onBehalfOfCredential.d.ts +0 -12
- package/dist/browser/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
- package/dist/browser/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
- package/dist/browser/credentials/visualStudioCodeCredentialPlugin.js +0 -4
- package/dist/browser/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
- package/dist/browser/msal/nodeFlows/msalClient.d.ts +0 -199
- package/dist/browser/msal/nodeFlows/msalClient.d.ts.map +0 -1
- package/dist/browser/msal/nodeFlows/msalClient.js +0 -499
- package/dist/browser/msal/nodeFlows/msalClient.js.map +0 -1
- package/dist/browser/msal/nodeFlows/msalPlugins.d.ts +0 -109
- package/dist/browser/msal/nodeFlows/msalPlugins.d.ts.map +0 -1
- package/dist/browser/msal/nodeFlows/msalPlugins.js +0 -160
- package/dist/browser/msal/nodeFlows/msalPlugins.js.map +0 -1
- package/dist/browser/regionalAuthority.d.ts +0 -122
- package/dist/browser/regionalAuthority.d.ts.map +0 -1
- package/dist/browser/regionalAuthority.js +0 -139
- package/dist/browser/regionalAuthority.js.map +0 -1
- package/dist/browser/util/authHostEnv-browser.d.mts +0 -4
- package/dist/browser/util/authHostEnv-browser.d.mts.map +0 -1
- package/dist/browser/util/authHostEnv-browser.mjs +0 -7
- package/dist/browser/util/authHostEnv-browser.mjs.map +0 -1
- package/dist/browser/util/processUtils.d.ts +0 -13
- package/dist/browser/util/processUtils.d.ts.map +0 -1
- package/dist/browser/util/processUtils.js +0 -32
- package/dist/browser/util/processUtils.js.map +0 -1
- package/dist/browser/util/subscriptionUtils.d.ts +0 -6
- package/dist/browser/util/subscriptionUtils.d.ts.map +0 -1
- package/dist/browser/util/subscriptionUtils.js +0 -16
- package/dist/browser/util/subscriptionUtils.js.map +0 -1
- package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
- package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
- package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js +0 -5
- package/dist/commonjs/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
- package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
- package/dist/commonjs/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
- package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js +0 -264
- package/dist/commonjs/msal/browserFlows/msalBrowserCommon.js.map +0 -1
- package/dist/commonjs/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
- package/dist/commonjs/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
- package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js +0 -5
- package/dist/commonjs/msal/browserFlows/msalBrowserOptions.js.map +0 -1
- package/dist/commonjs/msal/credentials.d.ts +0 -52
- package/dist/commonjs/msal/credentials.d.ts.map +0 -1
- package/dist/commonjs/msal/credentials.js +0 -5
- package/dist/commonjs/msal/credentials.js.map +0 -1
- package/dist/esm/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
- package/dist/esm/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
- package/dist/esm/credentials/visualStudioCodeCredentialPlugin.js +0 -4
- package/dist/esm/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
- package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
- package/dist/esm/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
- package/dist/esm/msal/browserFlows/msalBrowserCommon.js +0 -261
- package/dist/esm/msal/browserFlows/msalBrowserCommon.js.map +0 -1
- package/dist/esm/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
- package/dist/esm/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
- package/dist/esm/msal/browserFlows/msalBrowserOptions.js +0 -4
- package/dist/esm/msal/browserFlows/msalBrowserOptions.js.map +0 -1
- package/dist/esm/msal/credentials.d.ts +0 -52
- package/dist/esm/msal/credentials.d.ts.map +0 -1
- package/dist/esm/msal/credentials.js +0 -4
- package/dist/esm/msal/credentials.js.map +0 -1
- package/dist/esm/util/authHostEnv-browser.d.mts +0 -4
- package/dist/esm/util/authHostEnv-browser.d.mts.map +0 -1
- package/dist/esm/util/authHostEnv-browser.mjs +0 -7
- package/dist/esm/util/authHostEnv-browser.mjs.map +0 -1
- package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.d.ts +0 -12
- package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.d.ts.map +0 -1
- package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.js +0 -4
- package/dist/workerd/credentials/visualStudioCodeCredentialPlugin.js.map +0 -1
- package/dist/workerd/msal/browserFlows/msalBrowserCommon.d.ts +0 -19
- package/dist/workerd/msal/browserFlows/msalBrowserCommon.d.ts.map +0 -1
- package/dist/workerd/msal/browserFlows/msalBrowserCommon.js +0 -261
- package/dist/workerd/msal/browserFlows/msalBrowserCommon.js.map +0 -1
- package/dist/workerd/msal/browserFlows/msalBrowserOptions.d.ts +0 -87
- package/dist/workerd/msal/browserFlows/msalBrowserOptions.d.ts.map +0 -1
- package/dist/workerd/msal/browserFlows/msalBrowserOptions.js +0 -4
- package/dist/workerd/msal/browserFlows/msalBrowserOptions.js.map +0 -1
- package/dist/workerd/msal/credentials.d.ts +0 -52
- package/dist/workerd/msal/credentials.d.ts.map +0 -1
- package/dist/workerd/msal/credentials.js +0 -4
- package/dist/workerd/msal/credentials.js.map +0 -1
- package/dist/workerd/util/authHostEnv-browser.d.mts +0 -4
- package/dist/workerd/util/authHostEnv-browser.d.mts.map +0 -1
- package/dist/workerd/util/authHostEnv-browser.mjs +0 -7
- package/dist/workerd/util/authHostEnv-browser.mjs.map +0 -1
- /package/dist/browser/credentials/{clientSecretCredential.d.ts → clientSecretCredential-browser.d.mts} +0 -0
- /package/dist/browser/credentials/{clientSecretCredential.js → clientSecretCredential-browser.mjs} +0 -0
- /package/dist/browser/credentials/{interactiveBrowserCredential.d.ts → interactiveBrowserCredential-browser.d.mts} +0 -0
- /package/dist/browser/credentials/{interactiveBrowserCredential.js → interactiveBrowserCredential-browser.mjs} +0 -0
- /package/dist/browser/credentials/{usernamePasswordCredential.d.ts → usernamePasswordCredential-browser.d.mts} +0 -0
- /package/dist/browser/credentials/{usernamePasswordCredential.js → usernamePasswordCredential-browser.mjs} +0 -0
- /package/dist/browser/msal/{msal.d.ts → msal-browser.d.mts} +0 -0
- /package/dist/browser/msal/{msal.js → msal-browser.mjs} +0 -0
- /package/dist/browser/plugins/{consumer.d.ts → consumer-browser.d.mts} +0 -0
- /package/dist/browser/plugins/{consumer.js → consumer-browser.mjs} +0 -0
- /package/dist/browser/util/{processMultiTenantRequest.d.ts → processMultiTenantRequest-browser.d.mts} +0 -0
- /package/dist/browser/util/{processMultiTenantRequest.js → processMultiTenantRequest-browser.mjs} +0 -0
|
@@ -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
|
|
@@ -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 ClientCertificateCredential implements TokenCredential {
|
|
7
|
-
/**
|
|
8
|
-
* Only available in Node.js
|
|
9
|
-
*/
|
|
10
|
-
constructor();
|
|
11
|
-
getToken(): Promise<AccessToken | null>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=clientCertificateCredential-browser.d.mts.map
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import type { TokenCredential } from "@azure/core-auth";
|
|
2
|
-
import type { DefaultAzureCredentialClientIdOptions, DefaultAzureCredentialOptions, DefaultAzureCredentialResourceIdOptions } from "./defaultAzureCredentialOptions.js";
|
|
3
|
-
/**
|
|
4
|
-
* Creates a {@link BrokerCredential} instance with the provided options.
|
|
5
|
-
* This credential uses the Windows Authentication Manager (WAM) broker for authentication.
|
|
6
|
-
* It will only attempt to authenticate silently using the default broker account
|
|
7
|
-
*
|
|
8
|
-
* @param options - Options for configuring the credential.
|
|
9
|
-
*
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export declare function createDefaultBrokerCredential(options?: DefaultAzureCredentialOptions): TokenCredential;
|
|
13
|
-
/**
|
|
14
|
-
* Creates a {@link VisualStudioCodeCredential} from the provided options.
|
|
15
|
-
* @param options - Options to configure the credential.
|
|
16
|
-
*
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
export declare function createDefaultVisualStudioCodeCredential(options?: DefaultAzureCredentialOptions): TokenCredential;
|
|
20
|
-
/**
|
|
21
|
-
* Creates a {@link ManagedIdentityCredential} from the provided options.
|
|
22
|
-
* @param options - Options to configure the credential.
|
|
23
|
-
*
|
|
24
|
-
* @internal
|
|
25
|
-
*/
|
|
26
|
-
export declare function createDefaultManagedIdentityCredential(options?: (DefaultAzureCredentialOptions | DefaultAzureCredentialResourceIdOptions | DefaultAzureCredentialClientIdOptions) & {
|
|
27
|
-
sendProbeRequest?: boolean;
|
|
28
|
-
}): TokenCredential;
|
|
29
|
-
/**
|
|
30
|
-
* Creates a {@link WorkloadIdentityCredential} from the provided options.
|
|
31
|
-
* @param options - Options to configure the credential.
|
|
32
|
-
*
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
export declare function createDefaultWorkloadIdentityCredential(options?: DefaultAzureCredentialOptions | DefaultAzureCredentialClientIdOptions): TokenCredential;
|
|
36
|
-
/**
|
|
37
|
-
* Creates a {@link AzureDeveloperCliCredential} from the provided options.
|
|
38
|
-
* @param options - Options to configure the credential.
|
|
39
|
-
*
|
|
40
|
-
* @internal
|
|
41
|
-
*/
|
|
42
|
-
export declare function createDefaultAzureDeveloperCliCredential(options?: DefaultAzureCredentialOptions): TokenCredential;
|
|
43
|
-
/**
|
|
44
|
-
* Creates a {@link AzureCliCredential} from the provided options.
|
|
45
|
-
* @param options - Options to configure the credential.
|
|
46
|
-
*
|
|
47
|
-
* @internal
|
|
48
|
-
*/
|
|
49
|
-
export declare function createDefaultAzureCliCredential(options?: DefaultAzureCredentialOptions): TokenCredential;
|
|
50
|
-
/**
|
|
51
|
-
* Creates a {@link AzurePowerShellCredential} from the provided options.
|
|
52
|
-
* @param options - Options to configure the credential.
|
|
53
|
-
*
|
|
54
|
-
* @internal
|
|
55
|
-
*/
|
|
56
|
-
export declare function createDefaultAzurePowershellCredential(options?: DefaultAzureCredentialOptions): TokenCredential;
|
|
57
|
-
/**
|
|
58
|
-
* Creates an {@link EnvironmentCredential} from the provided options.
|
|
59
|
-
* @param options - Options to configure the credential.
|
|
60
|
-
*
|
|
61
|
-
* @internal
|
|
62
|
-
*/
|
|
63
|
-
export declare function createDefaultEnvironmentCredential(options?: DefaultAzureCredentialOptions): TokenCredential;
|
|
64
|
-
//# sourceMappingURL=defaultAzureCredentialFunctions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultAzureCredentialFunctions.d.ts","sourceRoot":"","sources":["../../../src/credentials/defaultAzureCredentialFunctions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,qCAAqC,EACrC,6BAA6B,EAC7B,uCAAuC,EACxC,MAAM,oCAAoC,CAAC;AAe5C;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAEjB;AAED;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAEjB;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,GAAE,CACL,6BAA6B,GAC7B,uCAAuC,GACvC,qCAAqC,CACxC,GAAG;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,eAAe,CAkDjB;AAED;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,OAAO,CAAC,EAAE,6BAA6B,GAAG,qCAAqC,GAC9E,eAAe,CA4BjB;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAEjB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAEjB;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAEjB;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAEjB"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
import { EnvironmentCredential } from "./environmentCredential.js";
|
|
4
|
-
import { ManagedIdentityCredential } from "./managedIdentityCredential/index.js";
|
|
5
|
-
import { WorkloadIdentityCredential } from "./workloadIdentityCredential.js";
|
|
6
|
-
import { AzureDeveloperCliCredential } from "./azureDeveloperCliCredential.js";
|
|
7
|
-
import { AzureCliCredential } from "./azureCliCredential.js";
|
|
8
|
-
import { AzurePowerShellCredential } from "./azurePowerShellCredential.js";
|
|
9
|
-
import { VisualStudioCodeCredential } from "./visualStudioCodeCredential.js";
|
|
10
|
-
import { BrokerCredential } from "./brokerCredential.js";
|
|
11
|
-
/**
|
|
12
|
-
* Creates a {@link BrokerCredential} instance with the provided options.
|
|
13
|
-
* This credential uses the Windows Authentication Manager (WAM) broker for authentication.
|
|
14
|
-
* It will only attempt to authenticate silently using the default broker account
|
|
15
|
-
*
|
|
16
|
-
* @param options - Options for configuring the credential.
|
|
17
|
-
*
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
20
|
-
export function createDefaultBrokerCredential(options = {}) {
|
|
21
|
-
return new BrokerCredential(options);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Creates a {@link VisualStudioCodeCredential} from the provided options.
|
|
25
|
-
* @param options - Options to configure the credential.
|
|
26
|
-
*
|
|
27
|
-
* @internal
|
|
28
|
-
*/
|
|
29
|
-
export function createDefaultVisualStudioCodeCredential(options = {}) {
|
|
30
|
-
return new VisualStudioCodeCredential(options);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Creates a {@link ManagedIdentityCredential} from the provided options.
|
|
34
|
-
* @param options - Options to configure the credential.
|
|
35
|
-
*
|
|
36
|
-
* @internal
|
|
37
|
-
*/
|
|
38
|
-
export function createDefaultManagedIdentityCredential(options = {}) {
|
|
39
|
-
options.retryOptions ??= {
|
|
40
|
-
maxRetries: 5,
|
|
41
|
-
retryDelayInMs: 800,
|
|
42
|
-
};
|
|
43
|
-
// ManagedIdentityCredential inside DAC chain should send a probe request by default.
|
|
44
|
-
// This is different from standalone ManagedIdentityCredential behavior
|
|
45
|
-
// or when AZURE_TOKEN_CREDENTIALS is set to only ManagedIdentityCredential.
|
|
46
|
-
options.sendProbeRequest ??= true;
|
|
47
|
-
const managedIdentityClientId = options?.managedIdentityClientId ??
|
|
48
|
-
process.env.AZURE_CLIENT_ID;
|
|
49
|
-
const workloadIdentityClientId = options?.workloadIdentityClientId ??
|
|
50
|
-
managedIdentityClientId;
|
|
51
|
-
const managedResourceId = options
|
|
52
|
-
?.managedIdentityResourceId;
|
|
53
|
-
const workloadFile = process.env.AZURE_FEDERATED_TOKEN_FILE;
|
|
54
|
-
const tenantId = options?.tenantId ?? process.env.AZURE_TENANT_ID;
|
|
55
|
-
if (managedResourceId) {
|
|
56
|
-
const managedIdentityResourceIdOptions = {
|
|
57
|
-
...options,
|
|
58
|
-
resourceId: managedResourceId,
|
|
59
|
-
};
|
|
60
|
-
return new ManagedIdentityCredential(managedIdentityResourceIdOptions);
|
|
61
|
-
}
|
|
62
|
-
if (workloadFile && workloadIdentityClientId) {
|
|
63
|
-
const workloadIdentityCredentialOptions = {
|
|
64
|
-
...options,
|
|
65
|
-
tenantId: tenantId,
|
|
66
|
-
};
|
|
67
|
-
return new ManagedIdentityCredential(workloadIdentityClientId, workloadIdentityCredentialOptions);
|
|
68
|
-
}
|
|
69
|
-
if (managedIdentityClientId) {
|
|
70
|
-
const managedIdentityClientOptions = {
|
|
71
|
-
...options,
|
|
72
|
-
clientId: managedIdentityClientId,
|
|
73
|
-
};
|
|
74
|
-
return new ManagedIdentityCredential(managedIdentityClientOptions);
|
|
75
|
-
}
|
|
76
|
-
// We may be able to return a UnavailableCredential here, but that may be a breaking change
|
|
77
|
-
return new ManagedIdentityCredential(options);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Creates a {@link WorkloadIdentityCredential} from the provided options.
|
|
81
|
-
* @param options - Options to configure the credential.
|
|
82
|
-
*
|
|
83
|
-
* @internal
|
|
84
|
-
*/
|
|
85
|
-
export function createDefaultWorkloadIdentityCredential(options) {
|
|
86
|
-
const managedIdentityClientId = options?.managedIdentityClientId ??
|
|
87
|
-
process.env.AZURE_CLIENT_ID;
|
|
88
|
-
const workloadIdentityClientId = options?.workloadIdentityClientId ??
|
|
89
|
-
managedIdentityClientId;
|
|
90
|
-
const workloadFile = process.env.AZURE_FEDERATED_TOKEN_FILE;
|
|
91
|
-
const tenantId = options?.tenantId ?? process.env.AZURE_TENANT_ID;
|
|
92
|
-
if (workloadFile && workloadIdentityClientId) {
|
|
93
|
-
const workloadIdentityCredentialOptions = {
|
|
94
|
-
...options,
|
|
95
|
-
tenantId,
|
|
96
|
-
clientId: workloadIdentityClientId,
|
|
97
|
-
tokenFilePath: workloadFile,
|
|
98
|
-
};
|
|
99
|
-
return new WorkloadIdentityCredential(workloadIdentityCredentialOptions);
|
|
100
|
-
}
|
|
101
|
-
if (tenantId) {
|
|
102
|
-
const workloadIdentityClientTenantOptions = {
|
|
103
|
-
...options,
|
|
104
|
-
tenantId,
|
|
105
|
-
};
|
|
106
|
-
return new WorkloadIdentityCredential(workloadIdentityClientTenantOptions);
|
|
107
|
-
}
|
|
108
|
-
// We may be able to return a UnavailableCredential here, but that may be a breaking change
|
|
109
|
-
return new WorkloadIdentityCredential(options);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Creates a {@link AzureDeveloperCliCredential} from the provided options.
|
|
113
|
-
* @param options - Options to configure the credential.
|
|
114
|
-
*
|
|
115
|
-
* @internal
|
|
116
|
-
*/
|
|
117
|
-
export function createDefaultAzureDeveloperCliCredential(options = {}) {
|
|
118
|
-
return new AzureDeveloperCliCredential(options);
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Creates a {@link AzureCliCredential} from the provided options.
|
|
122
|
-
* @param options - Options to configure the credential.
|
|
123
|
-
*
|
|
124
|
-
* @internal
|
|
125
|
-
*/
|
|
126
|
-
export function createDefaultAzureCliCredential(options = {}) {
|
|
127
|
-
return new AzureCliCredential(options);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Creates a {@link AzurePowerShellCredential} from the provided options.
|
|
131
|
-
* @param options - Options to configure the credential.
|
|
132
|
-
*
|
|
133
|
-
* @internal
|
|
134
|
-
*/
|
|
135
|
-
export function createDefaultAzurePowershellCredential(options = {}) {
|
|
136
|
-
return new AzurePowerShellCredential(options);
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Creates an {@link EnvironmentCredential} from the provided options.
|
|
140
|
-
* @param options - Options to configure the credential.
|
|
141
|
-
*
|
|
142
|
-
* @internal
|
|
143
|
-
*/
|
|
144
|
-
export function createDefaultEnvironmentCredential(options = {}) {
|
|
145
|
-
return new EnvironmentCredential(options);
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=defaultAzureCredentialFunctions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultAzureCredentialFunctions.js","sourceRoot":"","sources":["../../../src/credentials/defaultAzureCredentialFunctions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type {\n DefaultAzureCredentialClientIdOptions,\n DefaultAzureCredentialOptions,\n DefaultAzureCredentialResourceIdOptions,\n} from \"./defaultAzureCredentialOptions.js\";\nimport { EnvironmentCredential } from \"./environmentCredential.js\";\nimport type {\n ManagedIdentityCredentialClientIdOptions,\n ManagedIdentityCredentialResourceIdOptions,\n} from \"./managedIdentityCredential/options.js\";\nimport { ManagedIdentityCredential } from \"./managedIdentityCredential/index.js\";\nimport { WorkloadIdentityCredential } from \"./workloadIdentityCredential.js\";\nimport { AzureDeveloperCliCredential } from \"./azureDeveloperCliCredential.js\";\nimport { AzureCliCredential } from \"./azureCliCredential.js\";\nimport { AzurePowerShellCredential } from \"./azurePowerShellCredential.js\";\nimport type { WorkloadIdentityCredentialOptions } from \"./workloadIdentityCredentialOptions.js\";\nimport { VisualStudioCodeCredential } from \"./visualStudioCodeCredential.js\";\nimport { BrokerCredential } from \"./brokerCredential.js\";\n\n/**\n * Creates a {@link BrokerCredential} instance with the provided options.\n * This credential uses the Windows Authentication Manager (WAM) broker for authentication.\n * It will only attempt to authenticate silently using the default broker account\n *\n * @param options - Options for configuring the credential.\n *\n * @internal\n */\nexport function createDefaultBrokerCredential(\n options: DefaultAzureCredentialOptions = {},\n): TokenCredential {\n return new BrokerCredential(options);\n}\n\n/**\n * Creates a {@link VisualStudioCodeCredential} from the provided options.\n * @param options - Options to configure the credential.\n *\n * @internal\n */\nexport function createDefaultVisualStudioCodeCredential(\n options: DefaultAzureCredentialOptions = {},\n): TokenCredential {\n return new VisualStudioCodeCredential(options);\n}\n\n/**\n * Creates a {@link ManagedIdentityCredential} from the provided options.\n * @param options - Options to configure the credential.\n *\n * @internal\n */\nexport function createDefaultManagedIdentityCredential(\n options: (\n | DefaultAzureCredentialOptions\n | DefaultAzureCredentialResourceIdOptions\n | DefaultAzureCredentialClientIdOptions\n ) & { sendProbeRequest?: boolean } = {},\n): TokenCredential {\n options.retryOptions ??= {\n maxRetries: 5,\n retryDelayInMs: 800,\n };\n // ManagedIdentityCredential inside DAC chain should send a probe request by default.\n // This is different from standalone ManagedIdentityCredential behavior\n // or when AZURE_TOKEN_CREDENTIALS is set to only ManagedIdentityCredential.\n options.sendProbeRequest ??= true;\n const managedIdentityClientId =\n (options as DefaultAzureCredentialClientIdOptions)?.managedIdentityClientId ??\n process.env.AZURE_CLIENT_ID;\n const workloadIdentityClientId =\n (options as DefaultAzureCredentialClientIdOptions)?.workloadIdentityClientId ??\n managedIdentityClientId;\n const managedResourceId = (options as DefaultAzureCredentialResourceIdOptions)\n ?.managedIdentityResourceId;\n const workloadFile = process.env.AZURE_FEDERATED_TOKEN_FILE;\n const tenantId = options?.tenantId ?? process.env.AZURE_TENANT_ID;\n if (managedResourceId) {\n const managedIdentityResourceIdOptions: ManagedIdentityCredentialResourceIdOptions = {\n ...options,\n resourceId: managedResourceId,\n };\n return new ManagedIdentityCredential(managedIdentityResourceIdOptions);\n }\n\n if (workloadFile && workloadIdentityClientId) {\n const workloadIdentityCredentialOptions: DefaultAzureCredentialOptions = {\n ...options,\n tenantId: tenantId,\n };\n\n return new ManagedIdentityCredential(\n workloadIdentityClientId,\n workloadIdentityCredentialOptions,\n );\n }\n\n if (managedIdentityClientId) {\n const managedIdentityClientOptions: ManagedIdentityCredentialClientIdOptions = {\n ...options,\n clientId: managedIdentityClientId,\n };\n\n return new ManagedIdentityCredential(managedIdentityClientOptions);\n }\n\n // We may be able to return a UnavailableCredential here, but that may be a breaking change\n return new ManagedIdentityCredential(options);\n}\n\n/**\n * Creates a {@link WorkloadIdentityCredential} from the provided options.\n * @param options - Options to configure the credential.\n *\n * @internal\n */\nexport function createDefaultWorkloadIdentityCredential(\n options?: DefaultAzureCredentialOptions | DefaultAzureCredentialClientIdOptions,\n): TokenCredential {\n const managedIdentityClientId =\n (options as DefaultAzureCredentialClientIdOptions)?.managedIdentityClientId ??\n process.env.AZURE_CLIENT_ID;\n const workloadIdentityClientId =\n (options as DefaultAzureCredentialClientIdOptions)?.workloadIdentityClientId ??\n managedIdentityClientId;\n const workloadFile = process.env.AZURE_FEDERATED_TOKEN_FILE;\n const tenantId = options?.tenantId ?? process.env.AZURE_TENANT_ID;\n if (workloadFile && workloadIdentityClientId) {\n const workloadIdentityCredentialOptions: WorkloadIdentityCredentialOptions = {\n ...options,\n tenantId,\n clientId: workloadIdentityClientId,\n tokenFilePath: workloadFile,\n };\n return new WorkloadIdentityCredential(workloadIdentityCredentialOptions);\n }\n if (tenantId) {\n const workloadIdentityClientTenantOptions: WorkloadIdentityCredentialOptions = {\n ...options,\n tenantId,\n };\n return new WorkloadIdentityCredential(workloadIdentityClientTenantOptions);\n }\n\n // We may be able to return a UnavailableCredential here, but that may be a breaking change\n return new WorkloadIdentityCredential(options);\n}\n\n/**\n * Creates a {@link AzureDeveloperCliCredential} from the provided options.\n * @param options - Options to configure the credential.\n *\n * @internal\n */\nexport function createDefaultAzureDeveloperCliCredential(\n options: DefaultAzureCredentialOptions = {},\n): TokenCredential {\n return new AzureDeveloperCliCredential(options);\n}\n\n/**\n * Creates a {@link AzureCliCredential} from the provided options.\n * @param options - Options to configure the credential.\n *\n * @internal\n */\nexport function createDefaultAzureCliCredential(\n options: DefaultAzureCredentialOptions = {},\n): TokenCredential {\n return new AzureCliCredential(options);\n}\n\n/**\n * Creates a {@link AzurePowerShellCredential} from the provided options.\n * @param options - Options to configure the credential.\n *\n * @internal\n */\nexport function createDefaultAzurePowershellCredential(\n options: DefaultAzureCredentialOptions = {},\n): TokenCredential {\n return new AzurePowerShellCredential(options);\n}\n\n/**\n * Creates an {@link EnvironmentCredential} from the provided options.\n * @param options - Options to configure the credential.\n *\n * @internal\n */\nexport function createDefaultEnvironmentCredential(\n options: DefaultAzureCredentialOptions = {},\n): TokenCredential {\n return new EnvironmentCredential(options);\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { AccessToken, TokenCredential } from "@azure/core-auth";
|
|
2
|
-
/**
|
|
3
|
-
* Enables authentication to Microsoft Entra ID using a device code
|
|
4
|
-
* that the user can enter into https://microsoft.com/devicelogin.
|
|
5
|
-
*/
|
|
6
|
-
export declare class DeviceCodeCredential implements TokenCredential {
|
|
7
|
-
/**
|
|
8
|
-
* Only available in Node.js
|
|
9
|
-
*/
|
|
10
|
-
constructor();
|
|
11
|
-
getToken(): Promise<AccessToken | null>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=deviceCodeCredential-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 client secret
|
|
4
|
-
* details configured in environment variables
|
|
5
|
-
*/
|
|
6
|
-
export declare class EnvironmentCredential implements TokenCredential {
|
|
7
|
-
/**
|
|
8
|
-
* Only available in Node.js
|
|
9
|
-
*/
|
|
10
|
-
constructor();
|
|
11
|
-
getToken(): Promise<AccessToken | null>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=environmentCredential-browser.d.mts.map
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { GetTokenOptions } from "@azure/core-auth";
|
|
2
|
-
import type { IdentityClient } from "../../client/identityClient.js";
|
|
3
|
-
/**
|
|
4
|
-
* Defines how to determine whether the Azure IMDS MSI is available.
|
|
5
|
-
*
|
|
6
|
-
* Actually getting the token once we determine IMDS is available is handled by MSAL.
|
|
7
|
-
*/
|
|
8
|
-
export declare const imdsMsi: {
|
|
9
|
-
name: string;
|
|
10
|
-
isAvailable(options: {
|
|
11
|
-
scopes: string | string[];
|
|
12
|
-
identityClient?: IdentityClient;
|
|
13
|
-
clientId?: string;
|
|
14
|
-
resourceId?: string;
|
|
15
|
-
getTokenOptions?: GetTokenOptions;
|
|
16
|
-
}): Promise<boolean>;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=imdsMsi.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imdsMsi.d.ts","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/imdsMsi.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAmCrE;;;;GAIG;AACH,eAAO,MAAM,OAAO;;yBAES;QACzB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;CAgErB,CAAC"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
import { createHttpHeaders, createPipelineRequest } from "@azure/core-rest-pipeline";
|
|
4
|
-
import { isError } from "@azure/core-util";
|
|
5
|
-
import { credentialLogger } from "../../util/logging.js";
|
|
6
|
-
import { mapScopesToResource } from "./utils.js";
|
|
7
|
-
import { tracingClient } from "../../util/tracing.js";
|
|
8
|
-
const msiName = "ManagedIdentityCredential - IMDS";
|
|
9
|
-
const logger = credentialLogger(msiName);
|
|
10
|
-
const imdsHost = "http://169.254.169.254";
|
|
11
|
-
const imdsEndpointPath = "/metadata/identity/oauth2/token";
|
|
12
|
-
/**
|
|
13
|
-
* Generates an invalid request options to get a response quickly from IMDS endpoint.
|
|
14
|
-
* The response indicates the availability of IMSD service; otherwise the request would time out.
|
|
15
|
-
*/
|
|
16
|
-
function prepareInvalidRequestOptions(scopes) {
|
|
17
|
-
const resource = mapScopesToResource(scopes);
|
|
18
|
-
if (!resource) {
|
|
19
|
-
throw new Error(`${msiName}: Multiple scopes are not supported.`);
|
|
20
|
-
}
|
|
21
|
-
// Pod Identity will try to process this request even if the Metadata header is missing.
|
|
22
|
-
// We can exclude the request query to ensure no IMDS endpoint tries to process the ping request.
|
|
23
|
-
const url = new URL(imdsEndpointPath, process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST ?? imdsHost);
|
|
24
|
-
const rawHeaders = {
|
|
25
|
-
Accept: "application/json",
|
|
26
|
-
// intentionally leave out the Metadata header to invoke an error from IMDS endpoint.
|
|
27
|
-
};
|
|
28
|
-
return {
|
|
29
|
-
// intentionally not including any query
|
|
30
|
-
url: `${url}`,
|
|
31
|
-
method: "GET",
|
|
32
|
-
headers: createHttpHeaders(rawHeaders),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Defines how to determine whether the Azure IMDS MSI is available.
|
|
37
|
-
*
|
|
38
|
-
* Actually getting the token once we determine IMDS is available is handled by MSAL.
|
|
39
|
-
*/
|
|
40
|
-
export const imdsMsi = {
|
|
41
|
-
name: "imdsMsi",
|
|
42
|
-
async isAvailable(options) {
|
|
43
|
-
const { scopes, identityClient, getTokenOptions } = options;
|
|
44
|
-
const resource = mapScopesToResource(scopes);
|
|
45
|
-
if (!resource) {
|
|
46
|
-
logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
// if the PodIdentityEndpoint environment variable was set no need to probe the endpoint, it can be assumed to exist
|
|
50
|
-
if (process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST) {
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
if (!identityClient) {
|
|
54
|
-
throw new Error("Missing IdentityClient");
|
|
55
|
-
}
|
|
56
|
-
const requestOptions = prepareInvalidRequestOptions(resource);
|
|
57
|
-
return tracingClient.withSpan("ManagedIdentityCredential-pingImdsEndpoint", getTokenOptions ?? {}, async (updatedOptions) => {
|
|
58
|
-
requestOptions.tracingOptions = updatedOptions.tracingOptions;
|
|
59
|
-
// Create a request with a timeout since we expect that
|
|
60
|
-
// not having a "Metadata" header should cause an error to be
|
|
61
|
-
// returned quickly from the endpoint, proving its availability.
|
|
62
|
-
const request = createPipelineRequest(requestOptions);
|
|
63
|
-
// Default to 1000 if the default of 0 is used.
|
|
64
|
-
// Negative values can still be used to disable the timeout.
|
|
65
|
-
request.timeout = updatedOptions.requestOptions?.timeout || 1000;
|
|
66
|
-
// This MSI uses the imdsEndpoint to get the token, which only uses http://
|
|
67
|
-
request.allowInsecureConnection = true;
|
|
68
|
-
let response;
|
|
69
|
-
try {
|
|
70
|
-
logger.info(`${msiName}: Pinging the Azure IMDS endpoint`);
|
|
71
|
-
response = await identityClient.sendRequest(request);
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
// If the request failed, or Node.js was unable to establish a connection,
|
|
75
|
-
// or the host was down, we'll assume the IMDS endpoint isn't available.
|
|
76
|
-
if (isError(err)) {
|
|
77
|
-
logger.verbose(`${msiName}: Caught error ${err.name}: ${err.message}`);
|
|
78
|
-
}
|
|
79
|
-
// This is a special case for Docker Desktop which responds with a 403 with a message that contains "A socket operation was attempted to an unreachable network" or "A socket operation was attempted to an unreachable host"
|
|
80
|
-
// rather than just timing out, as expected.
|
|
81
|
-
logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
if (response.status === 403) {
|
|
85
|
-
if (response.bodyAsText?.includes("unreachable")) {
|
|
86
|
-
logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);
|
|
87
|
-
logger.info(`${msiName}: ${response.bodyAsText}`);
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
// If we received any response, the endpoint is available
|
|
92
|
-
logger.info(`${msiName}: The Azure IMDS endpoint is available`);
|
|
93
|
-
return true;
|
|
94
|
-
});
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
//# sourceMappingURL=imdsMsi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imdsMsi.js","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/imdsMsi.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,MAAM,OAAO,GAAG,kCAAkC,CAAC;AACnD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEzC,MAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D;;;GAGG;AACH,SAAS,4BAA4B,CAAC,MAAyB;IAC7D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAED,wFAAwF;IACxF,iGAAiG;IACjG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,QAAQ,CAAC,CAAC;IAEjG,MAAM,UAAU,GAA2B;QACzC,MAAM,EAAE,kBAAkB;QAC1B,qFAAqF;KACtF,CAAC;IAEF,OAAO;QACL,wCAAwC;QACxC,GAAG,EAAE,GAAG,GAAG,EAAE;QACb,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,SAAS;IACf,KAAK,CAAC,WAAW,CAAC,OAMjB;QACC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAC5D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,mDAAmD,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oHAAoH;QACpH,IAAI,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,cAAc,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAE9D,OAAO,aAAa,CAAC,QAAQ,CAC3B,4CAA4C,EAC5C,eAAe,IAAI,EAAE,EACrB,KAAK,EAAE,cAAc,EAAE,EAAE;YACvB,cAAc,CAAC,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;YAE9D,uDAAuD;YACvD,6DAA6D;YAC7D,gEAAgE;YAChE,MAAM,OAAO,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;YAEtD,+CAA+C;YAC/C,4DAA4D;YAC5D,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,EAAE,OAAO,IAAI,IAAI,CAAC;YAEjE,2EAA2E;YAC3E,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACvC,IAAI,QAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,mCAAmC,CAAC,CAAC;gBAC3D,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,0EAA0E;gBAC1E,wEAAwE;gBACxE,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,kBAAkB,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,6NAA6N;gBAC7N,4CAA4C;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,0CAA0C,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,0CAA0C,CAAC,CAAC;oBAClE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;oBAClD,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,yDAAyD;YACzD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,wCAAwC,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineRequestOptions, PipelineResponse } from \"@azure/core-rest-pipeline\";\nimport { createHttpHeaders, createPipelineRequest } from \"@azure/core-rest-pipeline\";\nimport { isError } from \"@azure/core-util\";\n\nimport type { GetTokenOptions } from \"@azure/core-auth\";\nimport { credentialLogger } from \"../../util/logging.js\";\nimport { mapScopesToResource } from \"./utils.js\";\nimport { tracingClient } from \"../../util/tracing.js\";\nimport type { IdentityClient } from \"../../client/identityClient.js\";\n\nconst msiName = \"ManagedIdentityCredential - IMDS\";\nconst logger = credentialLogger(msiName);\n\nconst imdsHost = \"http://169.254.169.254\";\nconst imdsEndpointPath = \"/metadata/identity/oauth2/token\";\n\n/**\n * Generates an invalid request options to get a response quickly from IMDS endpoint.\n * The response indicates the availability of IMSD service; otherwise the request would time out.\n */\nfunction prepareInvalidRequestOptions(scopes: string | string[]): PipelineRequestOptions {\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n throw new Error(`${msiName}: Multiple scopes are not supported.`);\n }\n\n // Pod Identity will try to process this request even if the Metadata header is missing.\n // We can exclude the request query to ensure no IMDS endpoint tries to process the ping request.\n const url = new URL(imdsEndpointPath, process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST ?? imdsHost);\n\n const rawHeaders: Record<string, string> = {\n Accept: \"application/json\",\n // intentionally leave out the Metadata header to invoke an error from IMDS endpoint.\n };\n\n return {\n // intentionally not including any query\n url: `${url}`,\n method: \"GET\",\n headers: createHttpHeaders(rawHeaders),\n };\n}\n\n/**\n * Defines how to determine whether the Azure IMDS MSI is available.\n *\n * Actually getting the token once we determine IMDS is available is handled by MSAL.\n */\nexport const imdsMsi = {\n name: \"imdsMsi\",\n async isAvailable(options: {\n scopes: string | string[];\n identityClient?: IdentityClient;\n clientId?: string;\n resourceId?: string;\n getTokenOptions?: GetTokenOptions;\n }): Promise<boolean> {\n const { scopes, identityClient, getTokenOptions } = options;\n const resource = mapScopesToResource(scopes);\n if (!resource) {\n logger.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);\n return false;\n }\n\n // if the PodIdentityEndpoint environment variable was set no need to probe the endpoint, it can be assumed to exist\n if (process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST) {\n return true;\n }\n\n if (!identityClient) {\n throw new Error(\"Missing IdentityClient\");\n }\n\n const requestOptions = prepareInvalidRequestOptions(resource);\n\n return tracingClient.withSpan(\n \"ManagedIdentityCredential-pingImdsEndpoint\",\n getTokenOptions ?? {},\n async (updatedOptions) => {\n requestOptions.tracingOptions = updatedOptions.tracingOptions;\n\n // Create a request with a timeout since we expect that\n // not having a \"Metadata\" header should cause an error to be\n // returned quickly from the endpoint, proving its availability.\n const request = createPipelineRequest(requestOptions);\n\n // Default to 1000 if the default of 0 is used.\n // Negative values can still be used to disable the timeout.\n request.timeout = updatedOptions.requestOptions?.timeout || 1000;\n\n // This MSI uses the imdsEndpoint to get the token, which only uses http://\n request.allowInsecureConnection = true;\n let response: PipelineResponse;\n try {\n logger.info(`${msiName}: Pinging the Azure IMDS endpoint`);\n response = await identityClient.sendRequest(request);\n } catch (err: unknown) {\n // If the request failed, or Node.js was unable to establish a connection,\n // or the host was down, we'll assume the IMDS endpoint isn't available.\n if (isError(err)) {\n logger.verbose(`${msiName}: Caught error ${err.name}: ${err.message}`);\n }\n // This is a special case for Docker Desktop which responds with a 403 with a message that contains \"A socket operation was attempted to an unreachable network\" or \"A socket operation was attempted to an unreachable host\"\n // rather than just timing out, as expected.\n logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);\n return false;\n }\n if (response.status === 403) {\n if (response.bodyAsText?.includes(\"unreachable\")) {\n logger.info(`${msiName}: The Azure IMDS endpoint is unavailable`);\n logger.info(`${msiName}: ${response.bodyAsText}`);\n return false;\n }\n }\n // If we received any response, the endpoint is available\n logger.info(`${msiName}: The Azure IMDS endpoint is available`);\n return true;\n },\n );\n },\n};\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { PipelinePolicy } from "@azure/core-rest-pipeline";
|
|
2
|
-
import type { MSIConfiguration } from "./models.js";
|
|
3
|
-
/**
|
|
4
|
-
* An additional policy that retries on 404 and 410 errors. The default retry policy does not retry on
|
|
5
|
-
* 404s or 410s, but the IMDS endpoint can return these when the token is not yet available or when
|
|
6
|
-
* the identity is still being set up. This policy will retry on 404s and 410s with an exponential backoff.
|
|
7
|
-
* For 410 responses, it uses a minimum 3-second initial delay to ensure at least 70 seconds total duration.
|
|
8
|
-
*
|
|
9
|
-
* @param msiRetryConfig - The retry configuration for the MSI credential.
|
|
10
|
-
* @returns - The policy that will retry on 404s and 410s.
|
|
11
|
-
*/
|
|
12
|
-
export declare function imdsRetryPolicy(msiRetryConfig: MSIConfiguration["retryConfig"]): PipelinePolicy;
|
|
13
|
-
//# sourceMappingURL=imdsRetryPolicy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imdsRetryPolicy.d.ts","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/imdsRetryPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAYpD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,cAAc,CA2B/F"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
import { retryPolicy } from "@azure/core-rest-pipeline";
|
|
4
|
-
import { calculateRetryDelay } from "@azure/core-util";
|
|
5
|
-
// Matches the default retry configuration in expontentialRetryStrategy.ts
|
|
6
|
-
const DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;
|
|
7
|
-
// For 410 responses, we need at least 70 seconds total retry duration
|
|
8
|
-
// With 5 retries using exponential backoff: delays of d, 2d, 4d, 8d, 16d sum to 31d
|
|
9
|
-
// Accounting for jitter (which can reduce delays by 20%), we need 31d * 0.8 >= 70
|
|
10
|
-
// So we need d >= 70/24.8 = 2.82 seconds. Using 3 seconds to be safe.
|
|
11
|
-
const MIN_DELAY_FOR_410_MS = 3000;
|
|
12
|
-
/**
|
|
13
|
-
* An additional policy that retries on 404 and 410 errors. The default retry policy does not retry on
|
|
14
|
-
* 404s or 410s, but the IMDS endpoint can return these when the token is not yet available or when
|
|
15
|
-
* the identity is still being set up. This policy will retry on 404s and 410s with an exponential backoff.
|
|
16
|
-
* For 410 responses, it uses a minimum 3-second initial delay to ensure at least 70 seconds total duration.
|
|
17
|
-
*
|
|
18
|
-
* @param msiRetryConfig - The retry configuration for the MSI credential.
|
|
19
|
-
* @returns - The policy that will retry on 404s and 410s.
|
|
20
|
-
*/
|
|
21
|
-
export function imdsRetryPolicy(msiRetryConfig) {
|
|
22
|
-
return retryPolicy([
|
|
23
|
-
{
|
|
24
|
-
name: "imdsRetryPolicy",
|
|
25
|
-
retry: ({ retryCount, response }) => {
|
|
26
|
-
if (response?.status !== 404 && response?.status !== 410) {
|
|
27
|
-
return { skipStrategy: true };
|
|
28
|
-
}
|
|
29
|
-
// For 410 responses, use a minimum 3-second delay to ensure at least 70 seconds total retry duration
|
|
30
|
-
const initialDelayMs = response?.status === 410
|
|
31
|
-
? Math.max(MIN_DELAY_FOR_410_MS, msiRetryConfig.startDelayInMs)
|
|
32
|
-
: msiRetryConfig.startDelayInMs;
|
|
33
|
-
return calculateRetryDelay(retryCount, {
|
|
34
|
-
retryDelayInMs: initialDelayMs,
|
|
35
|
-
maxRetryDelayInMs: DEFAULT_CLIENT_MAX_RETRY_INTERVAL,
|
|
36
|
-
});
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
], {
|
|
40
|
-
maxRetries: msiRetryConfig.maxRetries,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=imdsRetryPolicy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imdsRetryPolicy.js","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/imdsRetryPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,iCAAiC,GAAG,IAAI,GAAG,EAAE,CAAC;AAEpD,sEAAsE;AACtE,oFAAoF;AACpF,kFAAkF;AAClF,sEAAsE;AACtE,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,cAA+C;IAC7E,OAAO,WAAW,CAChB;QACE;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAClC,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;oBACzD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;gBAChC,CAAC;gBAED,qGAAqG;gBACrG,MAAM,cAAc,GAClB,QAAQ,EAAE,MAAM,KAAK,GAAG;oBACtB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAAC;oBAC/D,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC;gBAEpC,OAAO,mBAAmB,CAAC,UAAU,EAAE;oBACrC,cAAc,EAAE,cAAc;oBAC9B,iBAAiB,EAAE,iCAAiC;iBACrD,CAAC,CAAC;YACL,CAAC;SACF;KACF,EACD;QACE,UAAU,EAAE,cAAc,CAAC,UAAU;KACtC,CACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelinePolicy } from \"@azure/core-rest-pipeline\";\nimport { retryPolicy } from \"@azure/core-rest-pipeline\";\n\nimport type { MSIConfiguration } from \"./models.js\";\nimport { calculateRetryDelay } from \"@azure/core-util\";\n\n// Matches the default retry configuration in expontentialRetryStrategy.ts\nconst DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;\n\n// For 410 responses, we need at least 70 seconds total retry duration\n// With 5 retries using exponential backoff: delays of d, 2d, 4d, 8d, 16d sum to 31d\n// Accounting for jitter (which can reduce delays by 20%), we need 31d * 0.8 >= 70\n// So we need d >= 70/24.8 = 2.82 seconds. Using 3 seconds to be safe.\nconst MIN_DELAY_FOR_410_MS = 3000;\n\n/**\n * An additional policy that retries on 404 and 410 errors. The default retry policy does not retry on\n * 404s or 410s, but the IMDS endpoint can return these when the token is not yet available or when\n * the identity is still being set up. This policy will retry on 404s and 410s with an exponential backoff.\n * For 410 responses, it uses a minimum 3-second initial delay to ensure at least 70 seconds total duration.\n *\n * @param msiRetryConfig - The retry configuration for the MSI credential.\n * @returns - The policy that will retry on 404s and 410s.\n */\nexport function imdsRetryPolicy(msiRetryConfig: MSIConfiguration[\"retryConfig\"]): PipelinePolicy {\n return retryPolicy(\n [\n {\n name: \"imdsRetryPolicy\",\n retry: ({ retryCount, response }) => {\n if (response?.status !== 404 && response?.status !== 410) {\n return { skipStrategy: true };\n }\n\n // For 410 responses, use a minimum 3-second delay to ensure at least 70 seconds total retry duration\n const initialDelayMs =\n response?.status === 410\n ? Math.max(MIN_DELAY_FOR_410_MS, msiRetryConfig.startDelayInMs)\n : msiRetryConfig.startDelayInMs;\n\n return calculateRetryDelay(retryCount, {\n retryDelayInMs: initialDelayMs,\n maxRetryDelayInMs: DEFAULT_CLIENT_MAX_RETRY_INTERVAL,\n });\n },\n },\n ],\n {\n maxRetries: msiRetryConfig.maxRetries,\n },\n );\n}\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { AccessToken } from "@azure/core-auth";
|
|
2
|
-
import type { IdentityClient } from "../../client/identityClient.js";
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export interface MSIConfiguration {
|
|
7
|
-
retryConfig: {
|
|
8
|
-
maxRetries: number;
|
|
9
|
-
startDelayInMs: number;
|
|
10
|
-
intervalIncrement: number;
|
|
11
|
-
};
|
|
12
|
-
identityClient: IdentityClient;
|
|
13
|
-
scopes: string | string[];
|
|
14
|
-
clientId?: string;
|
|
15
|
-
resourceId?: string;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* @internal
|
|
19
|
-
* Represents an access token for {@link ManagedIdentity} for internal usage,
|
|
20
|
-
* with an expiration time and the time in which token should refresh.
|
|
21
|
-
*/
|
|
22
|
-
export declare interface MSIToken extends AccessToken {
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/credentials/managedIdentityCredential/models.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,QAAS,SAAQ,WAAW;CAAG"}
|