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) ले Graph SDK को HTTP मिडलवेयर निर्माण जोगाउँदै यसको API मार्ग कन्फिगर गर्छ।

यदि मध्यस्थकर्तालाई प्रमाणीकरण चाहिन्छ भने, आवश्यक खाता प्रोक्सी वस्तुको Credentials मा तोक्नुहोस्। कम्पोनेन्टको जीवनकालभर आफ्ना ट्रान्सपोर्टहरू राख्नुहोस् र बन्द गर्दा तिनीहरूलाई मुक्त गर्नुहोस्।

यो ढाँचा उल्लेख गरिएको SDK पुस्तासँग प्रयोग गर्नुहोस्। HttpProvider र DelegateAuthenticationProvider का उदाहरणहरू अघिल्लो पुस्ताका हुन् र यो कन्स्ट्रक्टर शृंखलामा मिसाउन सकिँदैन।

सम्बन्धित लेखहरू