تكوين وكيل لـ Microsoft Graph SDK v5 وAzure Identity
كوِّن نقل Graph API ونقل ClientSecretCredential أثناء التهيئة ليكون لكل من طلبات API وطلبات الرمز المميز مسار.
لطلبات Graph API وطلبات الرمز المميز الخاصة بـ ClientSecretCredential نقاط دخول نقل منفصلة. مع Microsoft.Graph 5 وAzure.Identity، كوِّن الاثنين قبل إنشاء العميل:
var proxy = new System.Net.WebProxy(
"http://proxy.example.net:8080");
var tokenHandler = new System.Net.Http.HttpClientHandler
{
Proxy = proxy,
UseProxy = true
};
var credentialOptions = new Azure.Identity.ClientSecretCredentialOptions
{
Transport = new Azure.Core.Pipeline.HttpClientTransport(tokenHandler)
};
var credential = new Azure.Identity.ClientSecretCredential(
tenantId, clientId, clientSecret, credentialOptions);
var authProvider =
new Microsoft.Kiota.Authentication.Azure.AzureIdentityAuthenticationProvider(
credential, scopes: new[] { "https://graph.microsoft.com/.default" });
var graphHttp = Microsoft.Graph.GraphClientFactory.Create(proxy: proxy);
var graphClient = new Microsoft.Graph.GraphServiceClient(
graphHttp, authProvider);على مسار HTTP عام غير موثَّق، توفّر قائمة وكلاء HTTP عناوين مرشحة لكائن WebProxy المشترك. يوفّر التطبيق tenantId وclientId وclientSecret عبر معالجة بيانات الاعتماد القائمة لديه. يستخدم نطاق .default أذونات التطبيق المكوَّنة لذلك التسجيل؛ لا يمكن لمسار أن يمنح أذونات.
اقرأ سطري النقل باعتبارهما الزوج المهم. ينقل HttpClientTransport(tokenHandler) طلب الرمز المميز الخاص ببيانات الاعتماد. يُبقي GraphClientFactory.Create(proxy: proxy) بناء الوسيط HTTP الخاص بـ Graph SDK مع تكوين مسار API الخاص به.
إذا كان الوسيط يتطلب مصادقة، عيّن الحساب المطلوب إلى Credentials الخاص بكائن الوكيل. احتفظ بعمليات النقل المملوكة طوال عمر المكوّن وحرّرها عند الإيقاف.
استخدم هذا النمط مع جيل SDK المذكور. تنتمي أمثلة HttpProvider وDelegateAuthenticationProvider إلى جيل أقدم ولا يمكن دمجها في سلسلة المُنشئ هذه.