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-ի օրինակները պատկանում են ավելի վաղ սերնդի և չեն կարող խառնվել այս կոնստրուկտորի շղթայում։

Առնչվող հոդվածներ