var handler = new System.Net.Http.HttpClientHandler
{
    UseProxy = true,
    Proxy = new System.Net.WebProxy(
        "http://proxy.example.net:8080")
};

var transport = new Azure.Core.Pipeline.HttpClientTransport(handler);

var credential = new Azure.Identity.ClientSecretCredential(
    tenantId, clientId, clientSecret,
    new Azure.Identity.ClientSecretCredentialOptions
    {
        Transport = transport
    });

var vault = new Azure.Security.KeyVault.Secrets.SecretClient(
    new Uri(vaultUrl),
    credential,
    new Azure.Security.KeyVault.Secrets.SecretClientOptions
    {
        Transport = transport
    });

Use los vaultUrl, tenantId, clientId y clientSecret reales de la aplicación. Las dos asignaciones Transport = transport son deliberadas: una enruta la obtención del token y la otra las solicitudes de secretos de Key Vault.

Mantenga vaultUrl como el punto de conexión real del almacén. El WebProxy del controlador contiene el intermediario; hay candidatos HTTP públicos en la lista de proxies HTTP cuando la directiva de red del almacén permite esa ruta; configure sus Credentials antes de crear los clientes si la red los exige.

Reutilice el transporte para la carga de trabajo de los clientes y libere los recursos propios al apagar. Una conexión de proxy correcta establece una ruta, pero las directivas de red y acceso de Key Vault siguen decidiendo si la aplicación puede leer el secreto.

Artículos relacionados