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 URL-а каде што се дозволени јавни посредници, списокот на HTTP проксија нуди кандидати за URL-то на WebProxy.
Пребарувањето прво презема discovery, потоа го користи истиот доставен retriever за jwks_uri кога е присутен. Тие URL-а може да се на различни домаќини, а проксито мора да ги дозволи двете.
За автентикација на проксито, конфигурирајте ја сметката на WebProxy пред изградбата. Тоа не е клиентска тајна на издавачот.
Во долготрајна услуга за автентикација, дајте го овој retriever на поддржаната поставеност за кеширање и освежување наместо да ја преземате конфигурацијата за секое дојдовно барање. Држете ја политиката за издавач, HTTPS доверба и валидација на токени независна од овој избор на транспорт.