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 kilęs iš Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever kilęs iš jo OpenIdConnect paketo. Laikykite HTTP klientą gyvą visą jo darbo laiką. Viešiems discovery ir JWKS URL, kur leidžiami vieši tarpininkai, HTTP tarpinių serverių sąrašas siūlo kandidatus WebProxy URL.

Paieška pirmiausia gauna discovery, tada naudoja tą patį pateiktą retriever jwks_uri, kai jis yra. Šie URL gali būti skirtinguose hostuose, o tarpinis serveris turi leisti abu.

Tarpinio serverio autentifikavimui sukonfigūruokite WebProxy paskyrą prieš kūrimą. Tai nėra išdavėjo kliento paslaptis.

Ilgai veikiančioje autentifikavimo tarnyboje perduokite šį retriever palaikomai podėliavimo ir atnaujinimo schemai, o ne atsisiųskite konfigūraciją kiekvienai gaunamai užklausai. Išlaikykite išdavėjo, HTTPS pasitikėjimo ir tokenų tikrinimo politiką nepriklausomą nuo šio transporto pasirinkimo.

Susiję straipsniai