Proxy OIDC discovery a JWKS v .NET s HttpDocumentRetriever
Vložte HttpClient s podporou proxy do retrieveru, který používá vyhledávání konfigurace Microsoft.IdentityModel, a zachovejte politiku obnovy a validace.
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.