Volania Graph API a požiadavky na token ClientSecretCredential majú samostatné vstupné body transportu. S Microsoft.Graph 5 a Azure.Identity nakonfigurujte oba pred vytvorením klienta:

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);

Pre neoverenú verejnú trasu HTTP ponúka zoznam HTTP proxy kandidátske adresy pre zdieľaný WebProxy. Aplikácia dodáva tenantId, clientId a clientSecret prostredníctvom svojho existujúceho spracovania poverení. Rozsah .default používa povolenia aplikácie nakonfigurované pre túto registráciu; trasa nemôže udeľovať povolenia.

Čítajte oba transportné riadky ako dôležitú dvojicu. HttpClientTransport(tokenHandler) prenáša požiadavku na token poverenia. GraphClientFactory.Create(proxy: proxy) zachováva zostavenie HTTP middlewaru Graph SDK a zároveň konfiguruje jeho trasu API.

Ak sprostredkovateľ vyžaduje overenie, priraďte požadovaný účet vlastnosti Credentials objektu proxy. Vlastnené transporty uchovávajte počas celej životnosti komponentu a pri vypnutí ich uvoľnite.

Tento vzor používajte s uvedenou generáciou SDK. Príklady s HttpProvider a DelegateAuthenticationProvider patria k staršej generácii a nemožno ich miešať do tohto reťazca konštruktorov.

Súvisiace články