Cài đặt proxy Microsoft Graph Java 6 cho máy khách API và token
Dùng tuyến Netty của Azure Identity và tuyến OkHttp của Graph vốn giữ nguyên middleware trong quá trình khởi tạo.
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);Dùng thông tin xác thực tenant/client hiện có. Khi các trung gian công cộng được phép cho cả điểm cuối token lẫn Graph, danh sách proxy HTTP cung cấp các ứng viên cho địa chỉ HTTP proxy dùng chung không cần tài khoản. Phạm vi đám mây công cộng và máy chủ được phép hiển thị phải khớp với triển khai đám mây dự kiến.
httpClient(tokenHttp) cung cấp tuyến token của Azure Identity. GraphClientFactory.create() giữ nguyên middleware mặc định của Graph trong khi thêm proxy của API; dùng máy khách graph cuối cùng cho các thao tác.
Một trung gian đã xác thực cần thiết lập tài khoản trên cả hai đường: Azure ProxyOptions.setCredentials và OkHttp proxyAuthenticator phục vụ phương thức truyền tải tương ứng. Một token đã lưu trong bộ nhớ đệm có thể che giấu đường token chưa được cấu hình.
Giữ lại và dọn dẹp các phương thức truyền tải thuộc sở hữu cùng với thành phần. Các builder TokenCredentialAuthProvider cũ hơn nhắm tới một thế hệ SDK khác.