var handler = new HttpClientHandler
{
    Proxy = new WebProxy("http://proxy.example:8080"),
    UseProxy = true
};
var http = new HttpClient(handler);
var documents = new HttpDocumentRetriever(http);

var configuration = await OpenIdConnectConfigurationRetriever.GetAsync(
    "https://issuer.example/.well-known/openid-configuration",
    documents,
    cancellationToken);

HttpDocumentRetriever มาจาก Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever มาจากแพ็กเกจ OpenIdConnect ของไลบรารีนั้น รักษา HTTP client ให้คงอยู่ตลอดระยะเวลาการทำงาน สำหรับ URL ของ discovery และ JWKS สาธารณะที่อนุญาตให้ใช้ตัวกลางสาธารณะ รายการพร็อกซี HTTP มีผู้สมัครสำหรับ URL ของ WebProxy

การค้นหาจะดึง discovery ก่อน แล้วใช้ retriever เดียวกันที่ให้มาเพื่อดึง jwks_uri เมื่อมีอยู่ URL เหล่านั้นอาจอยู่บนโฮสต์ที่ต่างกัน และพร็อกซีต้องอนุญาตทั้งสอง

สำหรับการรับรองความถูกต้องของพร็อกซี ให้กำหนดค่าบัญชีของ WebProxy ก่อนสร้าง บัญชีนี้ไม่ใช่ความลับไคลเอนต์ของผู้ออกโทเค็น

ในบริการรับรองความถูกต้องที่ทำงานยาวนาน ให้ส่ง retriever นี้ให้กลไกแคชและการรีเฟรชที่รองรับ แทนการดาวน์โหลดการกำหนดค่าสำหรับทุกคำขอที่เข้ามา คงนโยบายเกี่ยวกับผู้ออก การเชื่อถือ HTTPS และการตรวจสอบโทเค็นให้เป็นอิสระจากการเลือกเส้นทางรับส่งนี้

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