اكتشاف OIDC عبر الوكيل وJWKS في .NET باستخدام HttpDocumentRetriever
احقن HttpClient المدرك للوكيل في المسترجع الذي تستخدمه طلبات إعداد Microsoft.IdentityModel، مع الحفاظ على سياسة التحديث والتحقق دون تغيير.
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، ويأتي OpenIdConnectConfigurationRetriever من حزمة OpenIdConnect الخاصة به. أبقِ عميل HTTP حيًا طوال فترة عمله. بالنسبة لعناوين الاكتشاف وJWKS العامة حيث يُسمح بالوسطاء العامين، توفّر قائمة وكلاء HTTP مرشحين لعنوان WebProxy.
يجلب البحث بيانات الاكتشاف أولًا ثم يستخدم المسترجع نفسه المزوّد من أجل jwks_uri عند وجوده. قد تكون لهذه العناوين مضيفات مختلفة، ويجب أن يسمح الوكيل بكليهما.
لمصادقة الوكيل، اضبط حساب WebProxy قبل إنشائه. وهو ليس سرًا للعميل لدى الجهة المُصدرة.
في خدمة مصادقة طويلة التشغيل، قدّم هذا المسترجع لترتيب التخزين المؤقت والتحديث المدعوم بدلًا من تنزيل الإعداد لكل طلب وارد. أبقِ سياسة المُصدر وثقة HTTPS والتحقق من الرموز مستقلة عن اختيار النقل هذا.