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 எடுத்துக்காட்டுகள் முந்தைய தலைமுறையைச் சேர்ந்தவை, இந்த கன்ஸ்ட்ரக்டர் சங்கிலியில் கலக்க முடியாது.