Configuración de proxy de Microsoft Graph Java 6 para clientes de API e de token
Use a ruta Netty de Azure Identity e a ruta OkHttp de Graph que conserva o middleware durante a inicialización.
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);Use as credenciais existentes de inquilino/cliente. Cando se permiten intermediarios públicos tanto para o token como para os puntos de conexión de Graph, a lista de proxies HTTP ofrece candidatos para o enderezo HTTP compartido sen conta. Os ámbitos da nube pública e o host permitido mostrados deben coincidir co despregamento na nube previsto.
httpClient(tokenHttp) fornece a ruta de token de Azure Identity. GraphClientFactory.create() conserva o middleware predeterminado de Graph ao engadir o proxy da API; use o cliente final graph para as operacións.
Un intermediario autenticado necesita configurar a conta en ambas as rutas: Azure ProxyOptions.setCredentials e OkHttp proxyAuthenticator serven aos seus respectivos transportes. Un token en caché pode ocultar unha ruta de token sen configurar.
Conserve e limpe os transportes propios xunto co compoñente. Os construtores TokenCredentialAuthProvider máis antigos apuntan a outra xeración do SDK.