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 Credentials før klientene opprettes hvis nettverket krever det.

Gjenbruk transporten 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