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);

Χρησιμοποιήστε τα υπάρχοντα διαπιστευτήρια tenant/client. Όπου επιτρέπονται δημόσιοι διαμεσολαβητές και για το τελικό σημείο token και για το Graph, η λίστα διαμεσολαβητών HTTP παρέχει υποψηφίους για την κοινή διεύθυνση HTTP proxy χωρίς λογαριασμό. Τα εύρη δημόσιου cloud και ο επιτρεπόμενος κεντρικός υπολογιστής που εμφανίζονται πρέπει να ταιριάζουν με την προβλεπόμενη ανάπτυξη στο cloud.

Το httpClient(tokenHttp) παρέχει τη διαδρομή token του Azure Identity. Το GraphClientFactory.create() διατηρεί το προεπιλεγμένο middleware του Graph προσθέτοντας τον διαμεσολαβητή API· χρησιμοποιήστε τον τελικό πελάτη graph για τις λειτουργίες.

Ένας πιστοποιημένος διαμεσολαβητής απαιτεί ρύθμιση λογαριασμού και στις δύο διαδρομές: το Azure ProxyOptions.setCredentials και το OkHttp proxyAuthenticator εξυπηρετούν τα αντίστοιχα μεταφορικά τους μέσα. Ένα προσωρινά αποθηκευμένο token μπορεί να κρύψει μια μη ρυθμισμένη διαδρομή token.

Διατηρήστε και καθαρίστε τα δικά σας μεταφορικά μέσα μαζί με το στοιχείο. Οι παλαιότεροι builders TokenCredentialAuthProvider στοχεύουν άλλη γενιά SDK.

Σχετικά άρθρα