Las llamadas a Graph API y las solicitudes de token de ClientSecretCredential tienen puntos de entrada de transporte independientes. Con Microsoft.Graph 5 y Azure.Identity, configure ambos antes de crear el cliente:

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);

Para una ruta HTTP pública sin autenticar, la lista de proxies HTTP ofrece direcciones candidatas para el WebProxy compartido. La aplicación proporciona tenantId, clientId y clientSecret mediante su gestión de credenciales existente. El ámbito .default utiliza los permisos de aplicación configurados para ese registro; una ruta no puede conceder permisos.

Lea las dos líneas de transporte como el par importante. HttpClientTransport(tokenHandler) transporta la solicitud de token de la credencial. GraphClientFactory.Create(proxy: proxy) mantiene la construcción del middleware HTTP del Graph SDK mientras configura su ruta de API.

Si el intermediario requiere autenticación, asigne la cuenta necesaria a la propiedad Credentials del objeto proxy. Conserve los transportes propios durante la vida útil del componente y libérelos al apagar.

Utilice este patrón con la generación de SDK indicada. Los ejemplos con HttpProvider y DelegateAuthenticationProvider pertenecen a una generación anterior y no pueden mezclarse en esta cadena de constructores.

Artículos relacionados