Microsoft Graph SDK v5 və Azure Identity üçün proksi konfiqurasiya edin
Graph API nəqliyyatını və ClientSecretCredential nəqliyyatını işə salma zamanı konfiqurasiya edin ki, həm API, həm də token sorğularının marşrutu olsun.
Graph API çağırışları və ClientSecretCredential token sorğuları üçün ayrı nəqliyyat giriş nöqtələri var. Microsoft.Graph 5 və Azure.Identity ilə müştəri yaradılmazdan əvvəl hər ikisini konfiqurasiya edin:
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);Autentifikasiyasız açıq HTTP marşrutu üçün HTTP proksi siyahısı paylaşılan WebProxy üçün namizəd ünvanlar təqdim edir. Tətbiq tenantId, clientId və clientSecret dəyərlərini mövcud etimad məlumatı emalı vasitəsilə verir. .default sahəsi həmin qeydiyyat üçün konfiqurasiya edilmiş tətbiq icazələrindən istifadə edir; marşrut icazə verə bilməz.
İki nəqliyyat sətrini vacib cüt kimi oxuyun. HttpClientTransport(tokenHandler) etimad məlumatının token sorğusunu daşıyır. GraphClientFactory.Create(proxy: proxy) Graph SDK-nın HTTP aralıq proqram quruluşunu saxlayaraq API marşrutunu konfiqurasiya edir.
Əgər vasitəçi autentifikasiya tələb edirsə, tələb olunan hesabı proksi obyektinin Credentials xassəsinə təyin edin. Sahib olduğunuz nəqliyyatları komponentin ömrü boyu saxlayın və söndürmə zamanı buraxın.
Bu nümunəni göstərilən SDK nəsli ilə istifadə edin. HttpProvider və DelegateAuthenticationProvider nümunələri əvvəlki nəslə aiddir və bu konstruktor zəncirinə qarışdırıla bilməz.