Graph API kutsed ja ClientSecretCredential märgipäringud on eraldi transporti sisendpunktidega. Microsoft.Graph 5 ja Azure.Identity korral seadistage mõlemad enne kliendi loomist:

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

Autentimata avaliku HTTP-marsruudi jaoks pakub HTTP puhverserverite loend jagatud WebProxy jaoks kandidaataadresse. Rakendus edastab tenantId, clientId ja clientSecret oma olemasoleva mandaatide käsitlemise kaudu. Ulatus .default kasutab selle registreerimise jaoks seadistatud rakenduse õigusi; marsruut ei saa õigusi anda.

Lugege kahte transpordirida olulise paarina. HttpClientTransport(tokenHandler) kannab mandaadi märgipäringut. GraphClientFactory.Create(proxy: proxy) säilitab Graph SDK HTTP vahetarkvara ehituse, seadistades samal ajal selle API-marsruudi.

Kui vahendaja nõuab autentimist, määrake nõutav konto puhverserveri objekti omadusele Credentials. Hoidke omatud transporte komponendi kogu eluea jooksul ja vabastage need sulgemisel.

Kasutage seda mustrit nimetatud SDK põlvkonnaga. HttpProvider ja DelegateAuthenticationProvider näited kuuluvad varasemasse põlvkonda ja neid ei saa sellesse konstruktori ahelasse segada.

Seotud artiklid