Penemuan OIDC melalui proksi dan JWKS di .NET dengan HttpDocumentRetriever
Suntikkan HttpClient yang sadar proksi ke retriever yang dipakai pencarian konfigurasi Microsoft.IdentityModel, dengan kebijakan penyegaran dan validasi tetap utuh.
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 berasal dari Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever berasal dari paket OpenIdConnect-nya. Jaga klien HTTP tetap hidup selama beban kerjanya. Untuk URL discovery dan JWKS publik yang mengizinkan perantara publik, daftar proksi HTTP menyediakan kandidat untuk URL WebProxy.
Pencarian mengambil discovery lebih dulu, lalu memakai retriever yang sama untuk jwks_uri bila ada. URL tersebut dapat berada di host berbeda, dan proksi harus mengizinkan keduanya.
Untuk autentikasi proksi, konfigurasikan akun WebProxy sebelum konstruksi. Itu bukan rahasia klien penerbit.
Dalam layanan autentikasi yang berjalan lama, serahkan retriever ini kepada pengaturan cache dan penyegaran yang didukung alih-alih mengunduh konfigurasi untuk setiap permintaan masuk. Jaga kebijakan penerbit, kepercayaan HTTPS, dan validasi token tetap independen dari pilihan transport ini.