Starpniekservera konfigurēšana Microsoft Graph SDK v5 un Azure Identity
Inicializācijas laikā konfigurējiet Graph API transportu un ClientSecretCredential transportu, lai gan API, gan tokena pieprasījumiem būtu maršruts.
Graph API izsaukumiem un ClientSecretCredential tokena pieprasījumiem ir atsevišķi transporta ieejas punkti. Ar Microsoft.Graph 5 un Azure.Identity konfigurējiet abus pirms klienta izveides:
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);Neautentificētam publiskam HTTP maršrutam HTTP starpniekserveru saraksts piedāvā kandidātu adreses koplietotajam WebProxy. Lietojumprogramma nodrošina tenantId, clientId un clientSecret, izmantojot esošo akreditācijas datu apstrādi. .default tvērums izmanto šai reģistrācijai konfigurētās lietojumprogrammas atļaujas; maršruts nevar piešķirt atļaujas.
Lasiet abas transporta rindas kā svarīgo pāri. HttpClientTransport(tokenHandler) pārsūta akreditācijas datu tokena pieprasījumu. GraphClientFactory.Create(proxy: proxy) saglabā Graph SDK HTTP starpprogrammatūras uzbūvi un vienlaikus konfigurē tā API maršrutu.
Ja starpnieks pieprasa autentifikāciju, piešķiriet nepieciešamo kontu starpniekservera objekta rekvizītam Credentials. Saglabājiet savus transportus visā komponenta darbmūžā un atbrīvojiet tos izslēgšanas laikā.
Izmantojiet šo modeli ar norādīto SDK paaudzi. HttpProvider un DelegateAuthenticationProvider piemēri pieder iepriekšējai paaudzei, un tos nevar iejaukt šajā konstruktoru ķēdē.