E Proxy fir Microsoft Graph SDK v5 an Azure Identity astellen
Stellt den Graph API-Transport an den ClientSecretCredential-Transport bei der Initialiséierung an, sou datt API- an Token-Ufroen allebéid eng Route hunn.
Graph API-Ufruffer an Token-Ufroen vun ClientSecretCredential hunn getrennt Transport-Entréespunkten. Mat Microsoft.Graph 5 an Azure.Identity stellt béid an, ier de Client erstallt gëtt:
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);Fir eng net authentifizéiert ëffentlech HTTP-Route liwwert d'HTTP-Proxy-Lëscht Kandidatadressen fir de gedeelte WebProxy. D'Applikatioun liwwert tenantId, clientId an clientSecret iwwer hir existent Ëmgank mat Umeldungsinformatiounen. De Beräich .default benotzt d'Applikatiounsberechtegungen, déi fir déi Umeldung konfiguréiert sinn; eng Route kann keng Berechtegungen ginn.
Liest déi zwou Transportlinne als dat wichtegt Paar. HttpClientTransport(tokenHandler) droen d'Token-Ufro vun den Umeldungsinformatiounen. GraphClientFactory.Create(proxy: proxy) behält den Opbau vum HTTP-Middleware vum Graph SDK, während et seng API-Route konfiguréiert.
Wann den Tëschemann eng Authentifizéierung verlaangt, gitt de erfuerderlechen Kont op d'Eegenschaft Credentials vum Proxy-Objet. Hält eegen Transporten iwwer d'Liewensdauer vum Komponent a gitt se beim Ausschalten fräi.
Benotzt dëst Muster mat der genannter SDK-Generatioun. Beispiller mat HttpProvider an DelegateAuthenticationProvider gehéieren zu enger fréierer Generatioun a kënnen net an dës Konstruktorsketten gemëscht ginn.