កំណត់រចនាសម្ព័ន្ធ proxy សម្រាប់ Microsoft Graph SDK v5 និង Azure Identity
កំណត់រចនាសម្ព័ន្ធការដឹកជញ្ជូន Graph API និងការដឹកជញ្ជូន ClientSecretCredential ក្នុងអំឡុងពេលចាប់ផ្តើម ដើម្បីឱ្យទាំងសំណើ API និងសំណើ token មានផ្លូវ។
ការហៅ Graph API និងសំណើ token របស់ ClientSecretCredential មានចំណុចចូលដឹកជញ្ជូនដាច់ដោយឡែក។ ជាមួយ Microsoft.Graph 5 និង Azure.Identity សូមកំណត់ទាំងពីរមុនពេលបង្កើត client:
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 សាធារណៈដែលមិនមានការផ្ទៀងផ្ទាត់ បញ្ជី proxy HTTP ផ្តល់អាសយដ្ឋានបេក្ខជនសម្រាប់ WebProxy រួម។ កម្មវិធីផ្តល់ tenantId, clientId និង clientSecret តាមរយៈការគ្រប់គ្រងព័ត៌មានសម្ងាត់ដែលមានស្រាប់។ វិសាលភាព .default ប្រើការអនុញ្ញាតកម្មវិធីដែលបានកំណត់សម្រាប់ការចុះឈ្មោះនោះ; ផ្លូវមួយមិនអាចផ្តល់ការអនុញ្ញាតបានទេ។
អានបន្ទាត់ដឹកជញ្ជូនទាំងពីរជាគូសំខាន់។ HttpClientTransport(tokenHandler) ដឹកសំណើ token របស់ព័ត៌មានសម្ងាត់។ GraphClientFactory.Create(proxy: proxy) រក្សាការសាងសង់ middleware HTTP របស់ Graph SDK ខណៈពេលកំណត់ផ្លូវ API របស់វា។
ប្រសិនបើអ្នកកណ្តាលត្រូវការការផ្ទៀងផ្ទាត់ សូមកំណត់គណនីដែលត្រូវការទៅ Credentials របស់វត្ថុ proxy។ រក្សាការដឹកជញ្ជូនដែលអ្នកគ្រប់គ្រងពេញអាយុកាលសមាសភាព ហើយដោះលែងពួកវានៅពេលបិទ។
ប្រើលំនាំនេះជាមួយជំនាន់ SDK ដែលបានបញ្ជាក់។ ឧទាហរណ៍ជាមួយ HttpProvider និង DelegateAuthenticationProvider ជារបស់ជំនាន់មុន ហើយមិនអាចលាយចូលក្នុងខ្សែសង្វាក់ constructor នេះបានទេ។