Proxy-OIDC-discovery og JWKS i .NET med HttpDocumentRetriever
Indsæt den proxybevidste HttpClient i den retriever, som Microsoft.IdentityModels konfigurationsopslag bruger, og bevar politikken for opdatering og validering.
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 kommer fra Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever kommer fra dens OpenIdConnect-pakke. Hold HTTP-klienten i live gennem hele dens arbejdsbyrde. Til offentlige discovery- og JWKS-adresser, hvor offentlige mellemled er tilladt, giver HTTP-proxylisten kandidater til WebProxy-adressen.
Opslaget henter først discovery og bruger derefter den samme leverede retriever til jwks_uri, når den findes. Disse adresser kan ligge på forskellige værter, og proxyen skal tillade begge.
Til proxygodkendelse skal du konfigurere WebProxy-kontoen før konstruktion. Det er ikke en klienthemmelighed hos udstederen.
I en langvarig godkendelsestjeneste skal du give denne retriever til den understøttede cache- og opdateringsordning i stedet for at hente konfigurationen for hver indgående anmodning. Hold udsteder-, HTTPS-tillids- og tokenvalideringspolitik uafhængig af dette transportvalg.