Konfiguroni një proxy për Microsoft Graph SDK v5 dhe Azure Identity
Konfiguroni transportin e Graph API dhe transportin e ClientSecretCredential gjatë inicializimit që kërkesat e API-së dhe të token-it të kenë të dyja një rrugë.
Thirrjet e Graph API dhe kërkesat e token-it të ClientSecretCredential kanë pika të veçanta hyrjeje për transportin. Me Microsoft.Graph 5 dhe Azure.Identity, konfiguroni të dyja përpara se të ndërtoni klientin:
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);Për një rrugë publike HTTP pa autentikim, lista e proxy-ve HTTP ofron adresa kandidate për WebProxy-n e përbashkët. Aplikacioni furnizon tenantId, clientId dhe clientSecret përmes trajtimit ekzistues të kredencialeve. Fusha .default përdor lejet e aplikacionit të konfiguruara për atë regjistrim; një rrugë nuk mund të japë leje.
Lexoni dy rreshtat e transportit si çiftin e rëndësishëm. HttpClientTransport(tokenHandler) mban kërkesën e token-it të kredencialit. GraphClientFactory.Create(proxy: proxy) ruan ndërtimin e middleware-it HTTP të Graph SDK ndërsa konfiguron rrugën e API-së.
Nëse ndërmjetësi kërkon autentikim, caktoni llogarinë e kërkuar te Credentials e objektit proxy. Mbani transportet që zotëroni gjatë gjithë jetës së komponentit dhe asgjësojini në mbyllje.
Përdorni këtë model me gjeneratën e deklaruar të SDK-së. Shembujt me HttpProvider dhe DelegateAuthenticationProvider i përkasin një gjenerate më të hershme dhe nuk mund të përzihen në këtë zinxhir konstruktorësh.