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 pochází z Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever pochází z jeho balíčku OpenIdConnect. Udržujte HTTP klienta živého po celou dobu jeho práce. Pro veřejné adresy discovery a JWKS, kde jsou povoleni veřejní prostředníci, nabízí seznam HTTP proxy kandidáty pro adresu WebProxy.

Vyhledávání nejprve načte discovery a poté použije stejný dodaný retriever pro jwks_uri, pokud existuje. Tyto adresy mohou být na různých hostitelích a proxy musí povolit oba.

Pro autentizaci proxy nastavte účet WebProxy před vytvořením. Nejde o klientské tajemství vydavatele.

V dlouho běžící autentizační službě předávejte tento retriever podporovanému uspořádání mezipaměti a obnovy, místo abyste konfiguraci stahovali při každém příchozím požadavku. Udržujte politiku vydavatele, důvěry HTTPS a validace tokenů nezávislou na této volbě přenosu.

Související články