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 ፕሮክሲ አድራሻ እጩዎችን ያቀርባል። የሚታዩት የሕዝባዊ ደመና scopes እና የተፈቀደው አስተናጋጅ ከታሰበው የደመና ማሰማራት ጋር መመሳሰል አለባቸው።

httpClient(tokenHttp) የAzure Identity የቶከን መንገድን ያቀርባል። GraphClientFactory.create() የGraph ነባሪ ሚድልዌርን እየጠበቀ የAPI ፕሮክሲን ይጨምራል፤ ለክወናዎች የመጨረሻውን graph ደንበኛ ይጠቀሙ።

የተረጋገጠ አማላጅ በሁለቱም መንገዶች የመለያ ማዋቀር ይፈልጋል፤ Azure ProxyOptions.setCredentials እና OkHttp proxyAuthenticator የራሳቸውን ማጓጓዣዎች ያገለግላሉ። የተሸጎጠ ቶከን ያልተዋቀረ የቶከን መንገድን ሊደብቅ ይችላል።

በባለቤትነት የተያዙ ማጓጓዣዎችን ከአካላቱ ጋር ያቆዩ እና ያጽዱ። የቆዩ TokenCredentialAuthProvider ገንቢዎች ሌላ የSDK ትውልድን ይመለከታሉ።

ተዛማጅ ጽሑፎች