Налада проксі для 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) захоўвае пабудову HTTP-прамежкавага праграмнага забеспячэння Graph SDK, адначасова наладжваючы маршрут API.
Калі пасярэднік патрабуе аўтэнтыфікацыі, прызначце патрэбны ўліковы запіс уласцівасці Credentials аб'екта проксі. Захоўвайце ўласныя транспарты на працягу ўсяго жыцця кампанента і вызваляйце іх пры завяршэнні.
Выкарыстоўвайце гэты ўзор з указаным пакаленнем SDK. Прыклады HttpProvider і DelegateAuthenticationProvider належаць да папярэдняга пакалення і не могуць быць змешаны ў гэты ланцужок канструктара.