Välityspalvelimen määrittäminen Microsoft Graph SDK v5:lle ja Azure Identitylle
Määritä Graph API -siirto ja ClientSecretCredential-siirto alustuksen aikana, jotta sekä API- että tunnuspyynnöillä on reitti.
Graph API -kutsuilla ja ClientSecretCredential-tunnuspyynnöillä on erilliset siirron aloituspisteet. Kun käytät Microsoft.Graph 5:tä ja Azure.Identityä, määritä molemmat ennen asiakkaan luomista:
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);Todentamattomalle julkiselle HTTP-reitille HTTP-välityspalvelinluettelo tarjoaa ehdokasosoitteita jaetulle WebProxylle. Sovellus toimittaa tenantId, clientId ja clientSecret olemassa olevan tunnistetietojen käsittelynsä kautta. .default-laajuus käyttää kyseiselle rekisteröinnille määritettyjä sovelluksen käyttöoikeuksia; reitti ei voi myöntää käyttöoikeuksia.
Lue kaksi siirtoriviä tärkeänä parina. HttpClientTransport(tokenHandler) välittää tunnistetietojen tunnuspyynnön. GraphClientFactory.Create(proxy: proxy) säilyttää Graph SDK:n HTTP-välikerroksen rakenteen ja määrittää samalla sen API-reitin.
Jos välittäjä vaatii todentamisen, kohdista tarvittava tili välityspalvelinobjektin ominaisuuteen Credentials. Pidä omistetut siirrot komponentin elinkaaren ajan ja vapauta ne sammutuksessa.
Käytä tätä mallia mainitun SDK-sukupolven kanssa. Esimerkit HttpProvider ja DelegateAuthenticationProvider kuuluvat aiempaan sukupolveen, eikä niitä voi sekoittaa tähän konstruktoriketjuun.