Microsoft Graph SDK v5, Azure Identity എന്നിവയ്ക്കായി പ്രോക്സി കൺഫിഗർ ചെയ്യുക
ഇനിഷ്യലൈസേഷൻ സമയത്ത് Graph API ട്രാൻസ്പോർട്ടും ClientSecretCredential ട്രാൻസ്പോർട്ടും കൺഫിഗർ ചെയ്യുക, അങ്ങനെ API അഭ്യർത്ഥനകൾക്കും ടോക്കൺ അഭ്യർത്ഥനകൾക്കും ഒരു റൂട്ട് ഉണ്ടാകും.
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 എന്നിവയുള്ള ഉദാഹരണങ്ങൾ മുൻ തലമുറയുടേതാണ്, ഈ കൺസ്ട്രക്ടർ ശൃംഖലയിൽ കലർത്താനാകില്ല.