Proxy-Einstellungen für Microsoft Graph Java 6 für API- und Token-Clients
Verwenden Sie die Netty-Route von Azure Identity und die middleware-erhaltende OkHttp-Route von Graph während der Initialisierung.
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);Verwenden Sie vorhandene Tenant-/Client-Anmeldedaten. Wo öffentliche Vermittler sowohl für den Token- als auch für den Graph-Endpunkt zulässig sind, liefert die HTTP-Proxy-Liste Kandidaten für die gemeinsame konto-lose HTTP-Proxy-Adresse. Die gezeigten Public-Cloud-Scopes und der zulässige Host müssen zur vorgesehenen Cloud-Bereitstellung passen.
httpClient(tokenHttp) liefert die Token-Route von Azure Identity. GraphClientFactory.create() behält die Standard-Middleware von Graph bei und fügt den API-Proxy hinzu; verwenden Sie den endgültigen graph-Client für Operationen.
Ein authentifizierter Vermittler erfordert Kontoeinrichtung auf beiden Wegen: Azure ProxyOptions.setCredentials und OkHttp proxyAuthenticator bedienen ihre jeweiligen Transporte. Ein zwischengespeichertes Token kann einen nicht konfigurierten Token-Pfad verbergen.
Behalten und bereinigen Sie eigene Transporte zusammen mit der Komponente. Ältere TokenCredentialAuthProvider-Builder zielen auf eine andere SDK-Generation.