Ffurfweddu dirprwy ar gyfer Microsoft Graph SDK v5 ac Azure Identity
Ffurfweddwch gludiant Graph API a chludiant ClientSecretCredential yn ystod cychwyn fel bod gan geisiadau API a cheisiadau tocyn ill dau lwybr.
Mae gan alwadau Graph API a cheisiadau tocyn ClientSecretCredential bwyntiau mynediad cludiant ar wahân. Gyda Microsoft.Graph 5 ac Azure.Identity, ffurfweddwch y ddau cyn adeiladu'r cleient:
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);Ar gyfer llwybr HTTP cyhoeddus heb ei ddilysu, mae'r rhestr ddirprwyon HTTP yn darparu cyfeiriadau ymgeisiol ar gyfer y WebProxy a rennir. Mae'r cymhwysiad yn cyflenwi tenantId, clientId a clientSecret trwy ei driniaeth credenfeydd presennol. Mae cwmpas .default yn defnyddio'r caniatadau cymhwysiad a ffurfweddwyd ar gyfer y cofrestriad hwnnw; ni all llwybr roi caniatadau.
Darllenwch y ddwy linell gludiant fel y pâr pwysig. Mae HttpClientTransport(tokenHandler) yn cario cais tocyn y creden. Mae GraphClientFactory.Create(proxy: proxy) yn cadw adeiladwaith middleware HTTP y Graph SDK wrth ffurfweddu ei lwybr API.
Os yw'r cyfryngwr yn gofyn am ddilysu, neilltuwch y cyfrif gofynnol i Credentials y gwrthrych dirprwy. Cadwch gludiant sy'n eiddo i'r gydran am ei hoes a'i ryddhau wrth gau.
Defnyddiwch y patrwm hwn gyda'r genhedlaeth SDK a nodwyd. Mae enghreifftiau HttpProvider a DelegateAuthenticationProvider yn perthyn i genhedlaeth gynharach ac ni ellir eu cymysgu i'r gadwyn adeiladydd hon.