Vokoj al Graph API kaj ĵetonpetoj de ClientSecretCredential havas apartajn transportajn enirpunktojn. Kun Microsoft.Graph 5 kaj Azure.Identity, agordu ambaŭ antaŭ ol krei la klienton:

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

Por neaŭtentikigita publika HTTP-vojo, la listo de HTTP-prokuriloj provizas kandidatajn adresojn por la komuna WebProxy. La aplikaĵo provizas tenantId, clientId kaj clientSecret per sia ekzistanta prizorgo de akreditaĵoj. La amplekso .default uzas la aplikaĵpermesojn agorditajn por tiu registriĝo; vojo ne povas doni permesojn.

Legu la du transportajn liniojn kiel la gravan paron. HttpClientTransport(tokenHandler) portas la ĵetonpeton de la akreditaĵo. GraphClientFactory.Create(proxy: proxy) konservas la konstruadon de la HTTP-mezprogramo de Graph SDK dum ĝi agordas sian API-vojon.

Se la peranto postulas aŭtentikigon, atribuu la postulatan konton al la eco Credentials de la prokurila objekto. Konservu posedatajn transportojn dum la tuta vivo de la komponanto kaj liberigu ilin ĉe malŝalto.

Uzu ĉi tiun ŝablonon kun la indikita SDK-generacio. Ekzemploj kun HttpProvider kaj DelegateAuthenticationProvider apartenas al pli frua generacio kaj ne povas esti miksitaj en ĉi tiun konstruilan ĉenon.

Rilataj artikoloj