Proxy-OIDC-oppdagelse og JWKS i .NET med HttpDocumentRetriever
Injiser den proxybevisste HttpClient i retrieveren som Microsoft.IdentityModels konfigurasjonsoppslag bruker, og behold retningslinjene for oppdatering 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 gjennom hele arbeidsbelastningen. For offentlige discovery- og JWKS-adresser der offentlige mellommenn er tillatt, gir HTTP-proxylisten kandidater for WebProxy-adressen.
Oppslaget henter først discovery og bruker deretter den samme medfølgende retrieveren for jwks_uri når den finnes. Disse adressene kan ligge på ulike verter, og proxyen må tillate begge.
For proxyautentisering konfigurerer du WebProxy-kontoen før konstruksjon. Det er ikke en klienthemmelighet hos utstederen.
I en langvarig autentiseringstjeneste gir du denne retrieveren til den støttede cache- og oppdateringsordningen i stedet for å laste ned konfigurasjonen for hver innkommende forespørsel. Hold utsteder-, HTTPS-tillits- og tokenvalideringsretningslinjer uavhengige av dette transportvalget.