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 доверба и валидација на токени независна од овој избор на транспорт.

Поврзани статии