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
    });

Bruk applikasjonens ekte vaultUrl, tenantId, clientId og clientSecret. De to Transport = transport-tilordningene er bevisste: én ruter tokenhenting og den andre ruter Key Vault-hemmelighetsforespørsler.

Behold vaultUrl som det faktiske vault-endepunktet. Behandlerens WebProxy holder mellomleddet; offentlige HTTP-kandidater er tilgjengelige i HTTP-proxylisten når vaultens nettverkspolicy tillater den ruten; konfigurer dens Credentials før klientene opprettes hvis nettverket krever det.

Bruk transporten på nytt for klientenes arbeidsbelastning og frigjør egne ressurser ved avslutning. En vellykket proxyforbindelse etablerer en rute, men Key Vaults nettverks- og tilgangspolicyer avgjør fortsatt om applikasjonen kan lese hemmeligheten.

Relaterte artikler