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() שומר על ה-middleware המוגדר כברירת מחדל של Graph ומוסיף את פרוקסי ה-API; השתמשו בלקוח הסופי graph לפעולות.

מתווך מאומת דורש הגדרת חשבון בשני המסלולים: Azure ProxyOptions.setCredentials ו-OkHttp proxyAuthenticator משרתים את התעבורה המתאימה להם. טוקן שמור במטמון יכול להסתיר מסלול טוקן שאינו מוגדר.

שמרו ונקו את התעבורה שבבעלותכם יחד עם הרכיב. בוני TokenCredentialAuthProvider ישנים יותר מכוונים לדור SDK אחר.

מאמרים קשורים