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

Օգտագործեք գոյություն ունեցող վարձակալի/հաճախորդի հավատարմագրերը։ Այնտեղ, որտեղ հանրային միջնորդները թույլատրվում են և՛ token-ի, և՛ Graph-ի վերջնակետերի համար, HTTP փրոքսիների ցանկը թեկնածուներ է տրամադրում ընդհանուր առանց հաշվի HTTP փրոքսի հասցեի համար։ Ցուցադրված հանրային ամպի scope-երը և թույլատրված հոսթը պետք է համապատասխանեն նախատեսված ամպային տեղակայմանը։

httpClient(tokenHttp)-ը տրամադրում է Azure Identity-ի token-ի երթուղին։ GraphClientFactory.create()-ը պահպանում է Graph-ի լռելյայն middleware-ը՝ ավելացնելով API փրոքսին. գործողությունների համար օգտագործեք վերջնական graph հաճախորդը։

Նույնականացված միջնորդը պահանջում է հաշվի կարգավորում երկու ուղիներում էլ՝ Azure ProxyOptions.setCredentials-ը և OkHttp proxyAuthenticator-ը սպասարկում են իրենց համապատասխան տրանսպորտները։ Քեշավորված token-ը կարող է թաքցնել չկարգավորված token-ի ուղին։

Պահեք և մաքրեք սեփական տրանսպորտները բաղադրիչի հետ միասին։ Ավելի հին TokenCredentialAuthProvider կառուցիչները նպատակաուղղված են SDK-ի այլ սերնդի։

Առնչվող հոդվածներ