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

Folosiți vaultUrl, tenantId, clientId și clientSecret reale ale aplicației. Cele două atribuiri Transport = transport sunt intenționate: una dirijează obținerea tokenului, cealaltă cererile de secrete Key Vault.

Păstrați vaultUrl ca punct final real al seifului. WebProxy handlerului conține intermediarul; candidați HTTP publici sunt disponibili în lista de proxy HTTP când politica de rețea a seifului permite acea rută; configurați Credentials înainte de a crea clienții dacă rețeaua le cere.

Reutilizați transportul pentru sarcina clienților și eliberați resursele deținute la oprire. O conexiune proxy reușită stabilește o rută, dar politicile de rețea și de acces ale Key Vault decid în continuare dacă aplicația poate citi secretul.

Articole similare