var address = new java.net.InetSocketAddress("proxy.example", 8080);
var tokenProxy = new com.azure.core.http.ProxyOptions(
    com.azure.core.http.ProxyOptions.Type.HTTP, address);
var tokenHttp = new com.azure.core.http.netty.NettyAsyncHttpClientBuilder()
    .proxy(tokenProxy).build();
var credential = new com.azure.identity.ClientSecretCredentialBuilder()
    .tenantId(tenantId).clientId(clientId).clientSecret(clientSecret)
    .httpClient(tokenHttp).build();

String[] scopes = {"https://graph.microsoft.com/.default"};
String[] allowedHosts = {"graph.microsoft.com"};
var auth = new com.microsoft.kiota.authentication.AzureIdentityAuthenticationProvider(
    credential, allowedHosts, scopes);
var graphHttp = com.microsoft.graph.core.requests.GraphClientFactory.create()
    .proxy(new java.net.Proxy(java.net.Proxy.Type.HTTP, address))
    .build();
var graph = new com.microsoft.graph.serviceclient.GraphServiceClient(auth, graphHttp);

Folosiți acreditările existente de tenant/client. Acolo unde intermediarii publici sunt permisivi atât pentru punctul final al tokenului, cât și pentru Graph, lista de proxy-uri HTTP oferă candidați pentru adresa HTTP partajată fără cont. Domeniile de aplicare din cloudul public și gazda permisă afișate trebuie să corespundă implementării cloud preconizate.

httpClient(tokenHttp) furnizează ruta tokenului din Azure Identity. GraphClientFactory.create() păstrează middleware-ul implicit din Graph adăugând proxy-ul API; folosiți clientul final graph pentru operațiuni.

Un intermediar autentificat necesită configurarea contului pe ambele căi: Azure ProxyOptions.setCredentials și OkHttp proxyAuthenticator deservesc transporturile respective. Un token memorat în cache poate ascunde o cale de token neconfigurată.

Păstrați și curățați transporturile proprii împreună cu componenta. Constructorii TokenCredentialAuthProvider mai vechi vizează o altă generație de SDK.

Articole similare