I-configure ang Proxy para sa Microsoft Graph SDK v5 at Azure Identity
I-configure ang transport ng Graph API at transport ng ClientSecretCredential sa panahon ng initialization upang ang mga kahilingan sa API at token ay may ruta.
Ang mga tawag sa Graph API at mga kahilingan sa token ng ClientSecretCredential ay may magkahiwalay na pasukan ng transport. Sa Microsoft.Graph 5 at Azure.Identity, i-configure ang pareho bago buuin ang 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);Para sa isang pampublikong rutang HTTP na walang authentication, ang listahan ng HTTP proxy ay nagbibigay ng mga kandidatong address para sa pinagsasaluhang WebProxy. Ibinibigay ng application ang tenantId, clientId at clientSecret sa pamamagitan ng dati nitong paghawak ng credential. Ginagamit ng saklaw na .default ang mga pahintulot ng application na na-configure para sa rehistrasyong iyon; hindi makapagbibigay ng pahintulot ang isang ruta.
Basahin ang dalawang linya ng transport bilang ang mahalagang pares. Dinadala ng HttpClientTransport(tokenHandler) ang kahilingan sa token ng credential. Pinapanatili ng GraphClientFactory.Create(proxy: proxy) ang pagbuo ng HTTP middleware ng Graph SDK habang kinokonfigure ang ruta ng API nito.
Kung kailangan ng authentication ng intermediary, italaga ang kinakailangang account sa Credentials ng proxy object. Panatilihin ang mga pagmamay-aring transport sa buong buhay ng component at i-dispose ang mga ito sa shutdown.
Gamitin ang pattern na ito sa nakasaad na henerasyon ng SDK. Ang mga halimbawa ng HttpProvider at DelegateAuthenticationProvider ay kabilang sa naunang henerasyon at hindi maaaring ihalo sa constructor chain na ito.