IHttpClient Interfaccia

public interface IHttpClient

Interfaccia da implementare quando si configura un client HTTP personalizzato per IPublicClientApplication o IConfidentialClientApplication.

MSAL Java usa HTTP per comunicare con il Microsoft Identity Platform per l'autenticazione e l'acquisizione di token. Per impostazione predefinita, MSAL usa HttpURLConnection di JDK, ma questa interfaccia consente alle applicazioni di fornire la propria implementazione client HTTP. Ciò è utile quando:

  • Le applicazioni devono personalizzare il comportamento di rete (ad esempio, configurare proxy, aggiungere intestazioni personalizzate)
  • Le applicazioni vogliono usare una libreria client HTTP specifica, ad esempio Apache HttpClient o OkHttp
  • Le applicazioni devono integrarsi con sistemi di registrazione o infrastruttura di rete esistenti

Per informazioni dettagliate, vedi https://aka.ms/msal4j-http-client

Riepilogo dei metodi

Modificatore e tipo Metodo e descrizione
abstract IHttpResponse send(HttpRequest httpRequest)

Esegue una richiesta HTTP in uscita usando l'implementazione client HTTP scelta.

Dettagli metodo

send

public abstract IHttpResponse send(HttpRequest httpRequest)

Esegue una richiesta HTTP in uscita usando l'implementazione client HTTP scelta.

Questo metodo deve gestire tutti i dettagli dell'esecuzione della richiesta HTTP e dell'adattamento della risposta all'interfaccia IHttpResponse . L'implementazione deve includere anche la gestione degli errori appropriata per i problemi correlati alla rete.

Parametri:

httpRequest - Contenente HttpRequest i dettagli della richiesta da eseguire, inclusi URL, intestazioni, metodo HTTP e corpo.

Valori restituiti:

Oggetto IHttpResponse contenente il codice di stato, le intestazioni e il corpo della risposta.

Genera un'eccezione:

java.lang.Exception - Eccezioni non recuperabili che non possono essere gestite dall'implementazione del client HTTP. Si noti che gli errori ripristinabili (ad esempio, codici di stato HTTP riprovabili, problemi di rete temporanei) devono essere gestiti dall'implementazione stessa.

Si applica a