Objavovanie OIDC cez proxy a JWKS v .NET s HttpDocumentRetriever
Vložte HttpClient s podporou proxy do retrievera, ktorý používa vyhľadávanie konfigurácie Microsoft.IdentityModel, a zachovajte politiku obnovy a validácie.
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ádza z Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever pochádza z jeho balíka OpenIdConnect. Udržujte HTTP klienta nažive po celý čas jeho práce. Pre verejné adresy discovery a JWKS, kde sú povolení verejní sprostredkovatelia, ponúka zoznam HTTP proxy kandidátov pre adresu WebProxy.
Vyhľadávanie najprv načíta discovery a potom použije ten istý dodaný retriever pre jwks_uri, ak existuje. Tieto adresy môžu byť na rôznych hostiteľoch a proxy musí povoliť oba.
Pre autentifikáciu proxy nastavte účet WebProxy pred vytvorením. Nie je to klientske tajomstvo vydavateľa.
V dlho bežiacej autentifikačnej službe odovzdajte tento retriever podporovanému usporiadaniu vyrovnávacej pamäte a obnovy, namiesto sťahovania konfigurácie pri každej prichádzajúcej požiadavke. Udržujte politiku vydavateľa, dôvery HTTPS a validácie tokenov nezávislou od tejto voľby prenosu.