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 мисалдары мурунку муунга таандык жана бул конструктор тизмегине аралаштырууга болбойт.