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 प्रॉक्सी पते के लिए उम्मीदवार देती है। दिखाए गए पब्लिक-क्लाउड स्कोप और अनुमत होस्ट को इच्छित क्लाउड डिप्लॉयमेंट से मेल खाना चाहिए।

httpClient(tokenHttp) Azure Identity का टोकन रूट प्रदान करता है। GraphClientFactory.create() API प्रॉक्सी जोड़ते समय Graph का डिफ़ॉल्ट मिडलवेयर बनाए रखता है; संचालन के लिए अंतिम graph क्लाइंट उपयोग करें।

प्रमाणित मध्यस्थ को दोनों रास्तों पर खाता सेटअप चाहिए: Azure ProxyOptions.setCredentials और OkHttp proxyAuthenticator अपने-अपने ट्रांसपोर्ट की सेवा करते हैं। कैश किया गया टोकन बिना कॉन्फ़िगर किया गया टोकन पथ छिपा सकता है।

स्वामित्व वाले ट्रांसपोर्ट को कंपोनेंट के साथ रखें और साफ़ करें। पुराने TokenCredentialAuthProvider बिल्डर किसी अन्य SDK पीढ़ी को लक्षित करते हैं।

संबंधित लेख