Konfigurace proxy pro Microsoft Graph SDK v5 a Azure Identity
Nakonfigurujte transport Graph API a transport ClientSecretCredential při inicializaci, aby jak požadavky API, tak požadavky na token měly trasu.
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.