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 را هدف می‌گیرند.

مقالات مرتبط