Proxy-OIDC-discovery en JWKS in .NET met HttpDocumentRetriever
Voeg die proxy-bewuste HttpClient in by die retriever wat Microsoft.IdentityModel se konfigurasie-opsoek gebruik, terwyl die verversings- en valideringsbeleid ongeskonde bly.
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 kom uit Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever kom uit die OpenIdConnect-pakket daarvan. Hou die HTTP-kliënt lewend vir sy werklading. Vir openbare discovery- en JWKS-URL's waar openbare tussengangers toegelaat word, bied die HTTP-proxylys kandidate vir die WebProxy-URL.
Die opsoek haal eers discovery en gebruik dan dieselfde verskafde retriever vir jwks_uri wanneer dit teenwoordig is. Daardie URL's kan verskillende gashere hê, en die proxy moet albei toelaat.
Vir proxy-verifikasie stel die rekening van WebProxy op voor konstruksie. Dit is nie 'n uitgewerskliëntgeheim nie.
In 'n langdurige verifikasiediens moet hierdie retriever aan die ondersteunde kas- en verfrissingsreëling gegee word eerder as om die konfigurasie vir elke inkomende versoek af te laai. Hou uitgewers-, HTTPS-vertroue- en tokenvalideringsbeleid onafhanklik van hierdie vervoerkeuse.