Volání Graph API a požadavky na token ClientSecretCredential mají samostatné vstupní body transportu. S Microsoft.Graph 5 a Azure.Identity nakonfigurujte oba před vytvoření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);

Pro neověřenou veřejnou trasu HTTP nabízí seznam HTTP proxy kandidátní adresy pro sdílený WebProxy. Aplikace dodává tenantId, clientId a clientSecret prostřednictvím stávajícího zpracování přihlašovacích údajů. Rozsah .default používá oprávnění aplikace nakonfigurovaná pro danou registraci; trasa nemůže udělovat oprávnění.

Čtěte oba transportní řádky jako důležitou dvojici. HttpClientTransport(tokenHandler) přenáší požadavek na token přihlašovacích údajů. GraphClientFactory.Create(proxy: proxy) zachovává konstrukci HTTP middlewaru Graph SDK a zároveň konfiguruje jeho trasu API.

Pokud zprostředkovatel vyžaduje ověření, přiřaďte požadovaný účet vlastnosti Credentials objektu proxy. Vlastněné transporty uchovávejte po celou dobu životnosti komponenty a při ukončení je uvolněte.

Tento vzor používejte s uvedenou generací SDK. Příklady s HttpProvider a DelegateAuthenticationProvider patří k dřívější generaci a nelze je do tohoto řetězce konstruktorů míchat.

Související články