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);

Utilitzeu les credencials existents d'arrendatari/client. On es permeten intermediaris públics tant per al token com per als punts finals de Graph, la llista de proxys HTTP proporciona candidats per a l'adreça HTTP compartida sense compte. Els àmbits del núvol públic i l'amfitrió permès mostrats han de coincidir amb el desplegament al núvol previst.

httpClient(tokenHttp) proporciona la ruta del token d'Azure Identity. GraphClientFactory.create() conserva el middleware per defecte de Graph tot afegint el proxy de l'API; feu servir el client final graph per a les operacions.

Un intermediari autenticat necessita configurar el compte en tots dos camins: Azure ProxyOptions.setCredentials i OkHttp proxyAuthenticator serveixen els seus transports respectius. Un token en memòria cau pot amagar una ruta de token sense configurar.

Conserveu i netegeu els transports propis amb el component. Els constructors TokenCredentialAuthProvider més antics s'adrecen a una altra generació d'SDK.

Articles relacionats