A Graph API hívásoknak és a ClientSecretCredential tokénkéréseinek külön átviteli belépési pontjaik vannak. A Microsoft.Graph 5 és az Azure.Identity használatakor mindkettőt állítsa be az ügyfél létrehozása elő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);

Egy nem hitelesített nyilvános HTTP-útvonalhoz a HTTP-proxy lista jelölt címeket kínál a közös WebProxy számára. Az alkalmazás a meglévő hitelesítőadat-kezelésén keresztül adja meg a tenantId, clientId és clientSecret értéket. A .default hatókör az adott regisztrációhoz beállított alkalmazásengedélyeket használja; egy útvonal nem adhat engedélyeket.

A két átviteli sort tekintse a fontos párnak. A HttpClientTransport(tokenHandler) továbbítja a hitelesítő adat tokénkérését. A GraphClientFactory.Create(proxy: proxy) megőrzi a Graph SDK HTTP-köztes rétegének felépítését, miközben beállítja az API-útvonalát.

Ha a közvetítő hitelesítést igényel, rendelje a szükséges fiókot a proxy objektum Credentials tulajdonságához. Tartsa meg a saját átviteleit az összetevő élettartama alatt, és leállításkor szabadítsa fel őket.

Ezt a mintát a megadott SDK-generációval használja. A HttpProvider és DelegateAuthenticationProvider példák egy korábbi generációhoz tartoznak, és nem keverhetők ebbe a konstruktorláncba.

Kapcsolódó cikkek