גילוי OIDC דרך פרוקסי ו-JWKS ב-.NET עם HttpDocumentRetriever
הזריקו את ה-HttpClient המודע לפרוקסי אל ה-retriever שבו משתמש חיפוש התצורה של Microsoft.IdentityModel, תוך שמירה על מדיניות הרענון והאימות.
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 פעיל לאורך כל העבודה שלו. עבור כתובות discovery ו-JWKS ציבוריות שבהן מתירים מתווכים ציבוריים, רשימת פרוקסי ה-HTTP מספקת מועמדים לכתובת WebProxy.
החיפוש מביא תחילה את ה-discovery, ואז משתמש באותו retriever שסופק עבור jwks_uri, כשהוא קיים. לכתובות אלה עשויים להיות מארחים שונים, והפרוקסי חייב להתיר את שניהם.
לאימות מול הפרוקסי, הגדירו את החשבון של WebProxy לפני הבנייה. זה אינו סוד לקוח של המנפיק.
בשירות אימות ארוך-טווח, מסרו את ה-retriever הזה למנגנון המטמון והרענון הנתמך במקום להוריד את התצורה בכל בקשה נכנסת. שמרו על מדיניות המנפיק, אמון ה-HTTPS ואימות האסימונים בלתי תלויה בבחירת התעבורה הזו.