Повиците на Graph API и барањата за токен на ClientSecretCredential имаат одделни влезни точки на транспортот. Со Microsoft.Graph 5 и Azure.Identity, конфигурирајте ги двете пред да го креирате клиентот:

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

За неавтентифицирана јавна HTTP рута списокот на HTTP прокси нуди кандидат-адреси за заедничкиот WebProxy. Апликацијата ги доставува tenantId, clientId и clientSecret преку постоечката обработка на акредитиви. Опсегот .default ги користи дозволите на апликацијата конфигурирани за таа регистрација; рутата не може да доделува дозволи.

Читајте ги двата транспортни реда како важен пар. HttpClientTransport(tokenHandler) го пренесува барањето за токен на акредитивот. GraphClientFactory.Create(proxy: proxy) ја задржува конструкцијата на HTTP средниот софтвер на Graph SDK додека ја конфигурира неговата API рута.

Ако посредникот бара автентикација, доделете ја потребната сметка на својството Credentials на прокси објектот. Задржете ги сопствените транспорти за целиот животен век на компонентата и ослободете ги при исклучување.

Користете го овој образец со наведената генерација на SDK. Примерите со HttpProvider и DelegateAuthenticationProvider припаѓаат на претходна генерација и не можат да се мешаат во овој синџир конструктори.

Поврзани статии