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

ใช้ vaultUrl, tenantId, clientId และ clientSecret จริงของแอปพลิเคชัน การกำหนด Transport = transport สองครั้งเป็นเจตนา: ครั้งหนึ่งกำหนดเส้นทางการรับโทเค็น อีกครั้งกำหนดคำขอความลับของ Key Vault

เก็บ vaultUrl ไว้เป็นปลายทางจริงของตู้เก็บความลับ WebProxy ของตัวจัดการถือตัวกลางไว้ ผู้สมัคร HTTP สาธารณะมีอยู่ในรายการพร็อกซี่ HTTPเมื่อนโยบายเครือข่ายของตู้ยอมให้ใช้เส้นทางนั้น กำหนดค่า Credentials ก่อนสร้างไคลเอนต์หากเครือข่ายต้องการ

ใช้การขนส่งซ้ำสำหรับภาระงานของไคลเอนต์และคืนทรัพยากรที่ถือครองเมื่อปิด การเชื่อมต่อพร็อกซี่ที่สำเร็จจะสร้างเส้นทาง แต่นโยบายเครือข่ายและการเข้าถึงของ Key Vault ยังคงตัดสินว่าแอปพลิเคชันอ่านความลับได้หรือไม่

บทความที่เกี่ยวข้อง