Konfigurer ein proxy for Microsoft Graph SDK v5 og Azure Identity
Konfigurer Graph API-transporten og ClientSecretCredential-transporten under initialisering slik at både API- og tokenførespurnader har ei rute.
Graph API-kall og tokenførespurnader frå ClientSecretCredential har separate transportinngangspunkt. Med Microsoft.Graph 5 og Azure.Identity konfigurerer du båe før klienten blir oppretta:
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);For ei uautentisert offentleg HTTP-rute gir lista over HTTP-proxyar kandidatadresser for den delte WebProxy. Applikasjonen leverer tenantId, clientId og clientSecret via den eksisterande handteringa si av legitimasjon. Omfanget .default brukar applikasjonstilgangane som er konfigurerte for den registreringa; ei rute kan ikkje gi tilgangar.
Les dei to transportlinjene som det viktige paret. HttpClientTransport(tokenHandler) ber tokenførespurnaden til legitimasjonen. GraphClientFactory.Create(proxy: proxy) held på oppbygginga av HTTP-mellomvaren i Graph SDK og konfigurerer samstundes API-ruta.
Viss mellomleddet krev autentisering, tildel den nødvendige kontoen til eigenskapen Credentials på proxyobjektet. Hald på eigne transporter gjennom levetida til komponenten og slepp dei ved avslutning.
Bruk dette mønsteret med den oppgitte SDK-generasjonen. Døme med HttpProvider og DelegateAuthenticationProvider høyrer til ein tidlegare generasjon og kan ikkje blandast inn i denne konstruktørkjeda.