Proxy-OIDC-discovery en JWKS in .NET met HttpDocumentRetriever
Injecteer de proxybewuste HttpClient in de retriever die Microsoft.IdentityModels configuratieopzoeking gebruikt, met behoud van het vernieuwings- en validatiebeleid.
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 komt uit Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever komt uit het OpenIdConnect-pakket daarvan. Houd de HTTP-client in leven gedurende zijn werkbelasting. Voor openbare discovery- en JWKS-URL's waar openbare tussenpartijen zijn toegestaan, biedt de HTTP-proxylijst kandidaten voor de WebProxy-URL.
De opzoeking haalt eerst discovery op en gebruikt daarna dezelfde aangeleverde retriever voor jwks_uri, wanneer aanwezig. Die URL's kunnen op verschillende hosts staan, en de proxy moet beide toestaan.
Voor proxy-authenticatie configureert u het account van WebProxy vóór de constructie. Het is geen clientgeheim van de uitgever.
Geef in een langdurige authenticatiedienst deze retriever aan de ondersteunde cache- en vernieuwingsregeling in plaats van de configuratie voor elk inkomend verzoek te downloaden. Houd het beleid voor uitgever, HTTPS-vertrouwen en tokenvalidatie onafhankelijk van deze transportkeuze.