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() بالبرمجيات الوسيطة الافتراضية في Graph مع إضافة وكيل API؛ استخدم عميل graph النهائي للعمليات.

يحتاج الوسيط الموثّق إلى إعداد حساب على كلا المسارين: يخدم Azure ProxyOptions.setCredentials وOkHttp proxyAuthenticator ناقليهما المعنيين. ويمكن أن يخفي الرمز المخزن مؤقتًا مسار رمز غير مُهيأ.

احتفظ بالناقلات المملوكة ونظّفها مع المكوّن. تستهدف مُنشئات TokenCredentialAuthProvider الأقدم جيلًا آخر من SDK.

مقالات ذات صلة