Proxy-OIDC-upptäckt och JWKS i .NET med HttpDocumentRetriever
Injicera den proxy-medvetna HttpClient i den retriever som Microsoft.IdentityModels konfigurationssökning använder, med bevarad policy för uppdatering och 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 från Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever kommer från dess OpenIdConnect-paket. Håll HTTP-klienten vid liv under hela dess arbetsbelastning. För offentliga discovery- och JWKS-URL:er där offentliga mellanhänder tillåts erbjuder HTTP-proxylistan kandidater för WebProxy-URL:en.
Sökningen hämtar först discovery och använder sedan samma medföljande retriever för jwks_uri när den finns. Dessa URL:er kan ligga på olika värdar, och proxyn måste tillåta båda.
För proxyautentisering konfigurerar du WebProxy-kontot före konstruktionen. Det är inte en klienthemlighet hos utfärdaren.
I en långvarig autentiseringstjänst ger du denna retriever till den stödda cache- och uppdateringsordningen i stället för att ladda ner konfigurationen för varje inkommande begäran. Håll policyn för utfärdare, HTTPS-förtroende och tokenvalidering oberoende av detta transportval.