Pengaturan proksi Microsoft Graph Java 6 untuk klien API dan token
Gunakan rute Netty Azure Identity dan rute OkHttp Graph yang mempertahankan middleware saat inisialisasi.
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);Gunakan kredensial tenant/klien yang sudah ada. Jika perantara publik diizinkan untuk endpoint token maupun Graph, daftar proksi HTTP menyediakan kandidat untuk alamat proksi HTTP bersama tanpa akun. Cakupan cloud publik dan host yang diizinkan yang ditampilkan harus sesuai dengan penerapan cloud yang dimaksud.
httpClient(tokenHttp) menyediakan rute token Azure Identity. GraphClientFactory.create() mempertahankan middleware bawaan Graph sekaligus menambahkan proksi API; gunakan klien graph final untuk operasi.
Perantara yang terautentikasi memerlukan penyiapan akun pada kedua jalur: Azure ProxyOptions.setCredentials dan OkHttp proxyAuthenticator melayani transportnya masing-masing. Token yang di-cache dapat menyembunyikan jalur token yang belum dikonfigurasi.
Pertahankan dan bersihkan transport yang Anda miliki bersama komponen. Pembangun TokenCredentialAuthProvider yang lebih lama menyasar generasi SDK lain.