Simu za Graph API na maombi ya tokeni ya ClientSecretCredential zina sehemu tofauti za kuingia za usafirishaji. Ukiwa na Microsoft.Graph 5 na Azure.Identity, sanidi zote mbili kabla ya kuunda mteja:

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

Kwa njia ya umma ya HTTP isiyo na uthibitishaji, orodha ya proksi za HTTP hutoa anwani zinazofaa kwa WebProxy inayoshirikiwa. Programu hutoa tenantId, clientId na clientSecret kupitia usimamizi wake wa sasa wa vitambulisho. Wigo wa .default hutumia ruhusa za programu zilizosanidiwa kwa usajili huo; njia haiwezi kutoa ruhusa.

Soma mistari miwili ya usafirishaji kama jozi muhimu. HttpClientTransport(tokenHandler) hubeba ombi la tokeni la kitambulisho. GraphClientFactory.Create(proxy: proxy) huhifadhi ujenzi wa middleware wa HTTP wa Graph SDK huku ikisanidi njia yake ya API.

Ikiwa mpatanishi anahitaji uthibitishaji, kabidhi akaunti inayohitajika kwa Credentials ya kitu cha proksi. Shikilia usafirishaji unaomilikiwa kwa muda wote wa maisha ya sehemu na uzitupilie mbali wakati wa kuzima.

Tumia muundo huu na kizazi cha SDK kilichotajwa. Mifano ya HttpProvider na DelegateAuthenticationProvider ni ya kizazi cha awali na haiwezi kuchanganywa katika mnyororo huu wa kijenzi.

Makala zinazohusiana