Прокси настройки на Microsoft Graph Java 6 за API и токен клиенти
Използвайте маршрута Netty на Azure Identity и маршрута OkHttp на Graph, който запазва middleware при инициализация.
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);Използвайте съществуващите идентификационни данни на наемател/клиент. Където публичните посредници са разрешени и за крайните точки на токена, и на Graph, списъкът с HTTP прокси сървъри предоставя кандидати за споделения HTTP прокси адрес без акаунт. Показаните обхвати на публичния облак и разрешеният хост трябва да съответстват на предвиденото облачно внедряване.
httpClient(tokenHttp) осигурява маршрута за токени на Azure Identity. GraphClientFactory.create() запазва стандартния middleware на Graph, като добавя API проксито; използвайте крайния клиент graph за операции.
Удостовереният посредник изисква настройка на акаунт по двата пътя: Azure ProxyOptions.setCredentials и OkHttp proxyAuthenticator обслужват съответните си транспорти. Кеширан токен може да скрие ненастроен път за токени.
Запазете и почистете собствените транспорти заедно с компонента. По-старите builders TokenCredentialAuthProvider са насочени към друго поколение на SDK.