პროქსის კონფიგურაცია 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) ინარჩუნებს Graph SDK-ის HTTP შუამავალი პროგრამული უზრუნველყოფის აგებულებას და ამავდროულად აკონფიგურირებს მის API მარშრუტს.
თუ შუამავალი მოითხოვს ავთენტიფიკაციას, მიუთითეთ საჭირო ანგარიში პროქსი ობიექტის Credentials თვისებას. შეინახეთ თქვენი ტრანსპორტები კომპონენტის სიცოცხლის განმავლობაში და გაათავისუფლეთ ისინი გამორთვისას.
გამოიყენეთ ეს ნიმუში მითითებულ SDK თაობასთან. HttpProvider-ისა და DelegateAuthenticationProvider-ის მაგალითები წინა თაობას ეკუთვნის და ამ კონსტრუქტორის ჯაჭვში ვერ აირევა.