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 ના ઉદાહરણો અગાઉની પેઢીના છે અને આ કન્સ્ટ્રક્ટર શૃંખલામાં ભેળવી શકાતા નથી.

સંબંધિત લેખો