Подесите прокси за 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 припадају ранијој генерацији и не могу се мешати у овај ланац конструктора.