MicrosoftIdentityHttpClientBuilderExtensions Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Metodi di estensione per IHttpClientBuilder aggiungere MicrosoftIdentityMessageHandler alla pipeline client HTTP con varie opzioni di configurazione.
public static class MicrosoftIdentityHttpClientBuilderExtensions
type MicrosoftIdentityHttpClientBuilderExtensions = class
Public Module MicrosoftIdentityHttpClientBuilderExtensions
- Ereditarietà
-
MicrosoftIdentityHttpClientBuilderExtensions
Esempio
Utilizzo di base con configurazione inline:
services.AddHttpClient("MyApiClient", client =>
{
client.BaseAddress = new Uri("https://api.example.com");
})
.AddMicrosoftIdentityMessageHandler(options =>
{
options.Scopes.Add("https://api.example.com/.default");
});
Configurazione da appsettings.json:
// In appsettings.json:
// {
// "DownstreamApi": {
// "Scopes": ["https://graph.microsoft.com/.default"]
// }
// }
services.AddHttpClient("GraphClient")
.AddMicrosoftIdentityMessageHandler(
configuration.GetSection("DownstreamApi"),
"DownstreamApi");
Senza parametri per la configurazione per richiesta:
services.AddHttpClient("FlexibleClient")
.AddMicrosoftIdentityMessageHandler();
// Later, in a service:
var request = new HttpRequestMessage(HttpMethod.Get, "/api/data")
.WithAuthenticationOptions(options =>
{
options.Scopes.Add("custom.scope");
});
var response = await httpClient.SendAsync(request);
Commenti
Questi metodi di estensione offrono un modo pratico per configurare le istanze HttpClient con l'autenticazione automatica Microsoft Identity usando MicrosoftIdentityMessageHandler. Il gestore aggiungerà automaticamente le intestazioni di autorizzazione alle richieste HTTP in uscita in base alle opzioni configurate.
Sono disponibili quattro overload per supportare diversi scenari di configurazione:
- Senza parametri: per scenari in cui le opzioni vengono impostate per richiesta
- Istanza di opzioni: per la configurazione a livello di codice con un oggetto opzioni predefinito
- Delegato azione: per la configurazione inline tramite un delegato di configurazione
- IConfiguration: per la configurazione da appsettings.json o altre origini di configurazione
Metodi
| Nome | Descrizione |
|---|---|
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, Action<MicrosoftIdentityMessageHandlerOptions>) |
Aggiunge un MicrosoftIdentityMessageHandler oggetto alla pipeline client HTTP con le opzioni configurate tramite delegato. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, IConfiguration, String) |
Aggiunge un oggetto MicrosoftIdentityMessageHandler alla pipeline client HTTP con opzioni associate da IConfiguration. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, MicrosoftIdentityMessageHandlerOptions) |
Aggiunge un oggetto MicrosoftIdentityMessageHandler alla pipeline client HTTP con le opzioni specificate. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder) |
Aggiunge un oggetto MicrosoftIdentityMessageHandler alla pipeline client HTTP senza opzioni predefinite. Le opzioni devono essere configurate per richiesta tramite WithAuthenticationOptions(HttpRequestMessage, MicrosoftIdentityMessageHandlerOptions). |