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

مەۋجۇت tenant/client ھۆججىتىنى ئىشلىتىڭ. token ۋە Graph ئاخىرقى نۇقتىلىرىنىڭ ھەر ئىككىسىگە ئاممىۋى ۋاسىتىچىلەر رۇخسەت قىلىنغان يەردە، HTTP ۋاكالەتچى تىزىملىكى ئورتاق ھېساباتسىز HTTP ۋاكالەتچى ئادرېسى ئۈچۈن نامزاتلارنى تەمىنلەيدۇ. كۆرسىتىلگەن ئاممىۋى بۇلۇت scope لىرى ۋە رۇخسەت قىلىنغان host مەقسەت قىلىنغان بۇلۇت ئورۇنلاشتۇرۇشىغا ماس كېلىشى كېرەك.

httpClient(tokenHttp) Azure Identity نىڭ token يولىنى تەمىنلەيدۇ. GraphClientFactory.create() API ۋاكالەتچىسىنى قوشقاندا Graph نىڭ سۈكۈتتىكى middleware نى ساقلايدۇ؛ مەشغۇلاتلار ئۈچۈن ئاخىرقى graph خېرىدارنى ئىشلىتىڭ.

دەلىللەنگەن ۋاسىتىچى ھەر ئىككى يولدىلا ھېسابات تەڭشەشنى تەلەپ قىلىدۇ: Azure ProxyOptions.setCredentials ۋە OkHttp proxyAuthenticator ئۆزلىرىنىڭ يۆتكەش قاتنىشىغا مۇلازىمەت قىلىدۇ. ساقلىغان token تەڭشەلمىگەن token يولىنى يوشۇرۇشى مۇمكىن.

ئۆزىڭىزگە تەۋە يۆتكەشلەرنى زاپچاس بىلەن بىرگە ساقلاڭ ۋە تازىلاڭ. كونا TokenCredentialAuthProvider قۇرغۇچىلار باشقا SDK ئەۋلادىنى نىشانلايدۇ.

مۇناسىۋەتلىك ماقالىلەر