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) Graph SDKର HTTP ମିଡଲୱେର ନିର୍ମାଣ ରଖି ଏହାର API ମାର୍ଗ କନଫିଗର କରେ।

ଯଦି ମଧ୍ୟସ୍ଥ ପ୍ରମାଣୀକରଣ ଆବଶ୍ୟକ କରେ, ଆବଶ୍ୟକ ଖାତାକୁ ପ୍ରକ୍ସି ଅବଜେକ୍ଟର Credentials ରେ ନ୍ୟସ୍ତ କରନ୍ତୁ। କମ୍ପୋନେଣ୍ଟର ଜୀବନକାଳ ପର୍ଯ୍ୟନ୍ତ ନିଜର ଟ୍ରାନ୍ସପୋର୍ଟ ରଖନ୍ତୁ ଏବଂ ବନ୍ଦ କରିବା ସମୟରେ ସେଗୁଡ଼ିକୁ ମୁକ୍ତ କରନ୍ତୁ।

ଉଲ୍ଲେଖିତ SDK ପିଢ଼ି ସହିତ ଏହି ଢାଞ୍ଚା ବ୍ୟବହାର କରନ୍ତୁ। HttpProvider ଏବଂ DelegateAuthenticationProvider ର ଉଦାହରଣ ପୂର୍ବ ପିଢ଼ିର ଏବଂ ଏହି କନଷ୍ଟ୍ରକ୍ଟର ଶୃଙ୍ଖଳାରେ ମିଶାଯାଇ ପାରିବ ନାହିଁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ