.NET'te HttpDocumentRetriever ile proxy OIDC keşfi ve JWKS
Microsoft.IdentityModel'in yapılandırma aramasının kullandığı retriever'a proxy'yi bilen HttpClient'ı enjekte edin; yenileme ve doğrulama ilkesi bozulmadan kalsın.
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 Microsoft.IdentityModel.Protocols paketinden gelir; OpenIdConnectConfigurationRetriever ise onun OpenIdConnect paketinden gelir. HTTP istemcisini iş yükü boyunca canlı tutun. Genel aracıların izin verildiği genel discovery ve JWKS URL'leri için HTTP proxy listesi, WebProxy URL'si için adaylar sunar.
Arama önce discovery belgesini çeker, ardından mevcut olduğunda jwks_uri için aynı sağlanan retriever'ı kullanır. Bu URL'ler farklı ana bilgisayarlarda olabilir ve proxy her ikisine de izin vermelidir.
Proxy kimlik doğrulaması için WebProxy hesabını oluşturmadan önce yapılandırın. Bu, verenin istemci gizli anahtarı değildir.
Uzun süre çalışan bir kimlik doğrulama hizmetinde, her gelen istek için yapılandırmayı indirmek yerine bu retriever'ı desteklenen önbellek ve yenileme düzenine verin. Veren, HTTPS güveni ve belirteç doğrulama ilkesini bu aktarım seçiminden bağımsız tutun.