MicrosoftIdentityMessageHandler Costruttori

Definizione

Overload

MicrosoftIdentityMessageHandler(IAuthorizationHeaderProvider, MicrosoftIdentityMessageHandlerOptions, ILogger<MicrosoftIdentityMessageHandler>)

Inizializza una nuova istanza della classe MicrosoftIdentityMessageHandler.

public MicrosoftIdentityMessageHandler(Microsoft.Identity.Abstractions.IAuthorizationHeaderProvider headerProvider, Microsoft.Identity.Web.MicrosoftIdentityMessageHandlerOptions? defaultOptions = default, Microsoft.Extensions.Logging.ILogger<Microsoft.Identity.Web.MicrosoftIdentityMessageHandler>? logger = default);
new Microsoft.Identity.Web.MicrosoftIdentityMessageHandler : Microsoft.Identity.Abstractions.IAuthorizationHeaderProvider * Microsoft.Identity.Web.MicrosoftIdentityMessageHandlerOptions * Microsoft.Extensions.Logging.ILogger<Microsoft.Identity.Web.MicrosoftIdentityMessageHandler> -> Microsoft.Identity.Web.MicrosoftIdentityMessageHandler
Public Sub New (headerProvider As IAuthorizationHeaderProvider, Optional defaultOptions As MicrosoftIdentityMessageHandlerOptions = Nothing, Optional logger As ILogger(Of MicrosoftIdentityMessageHandler) = Nothing)

Parametri

headerProvider
IAuthorizationHeaderProvider

Oggetto IAuthorizationHeaderProvider utilizzato per acquisire le intestazioni di autorizzazione per le richieste in uscita. Questo viene in genere ottenuto dal contenitore di inserimento delle dipendenze.

defaultOptions
MicrosoftIdentityMessageHandlerOptions

Opzioni di autenticazione predefinite che verranno usate per tutte le richieste a meno che non venga sottoposto a override per ogni richiesta tramite WithAuthenticationOptions(HttpRequestMessage, MicrosoftIdentityMessageHandlerOptions). Se null, ogni richiesta deve specificare le proprie opzioni di autenticazione o verrà generata un'eccezione.

logger
ILogger<MicrosoftIdentityMessageHandler>

Logger facoltativo per il debug e il monitoraggio delle operazioni di autenticazione. Se specificato, il gestore logicherà le informazioni sull'acquisizione, le sfide e gli errori dei token.

Eccezioni

Generata quando headerProvider è null.

Esempio

Utilizzo di base con opzioni predefinite:

var handler = new MicrosoftIdentityMessageHandler(
    headerProvider,
    new MicrosoftIdentityMessageHandlerOptions
    {
        Scopes = { "https://api.example.com/.default" }
    });

Utilizzo senza opzioni predefinite (configurazione per richiesta obbligatoria):

var handler = new MicrosoftIdentityMessageHandler(headerProvider);

// Each request must specify options
var request = new HttpRequestMessage(HttpMethod.Get, "/api/data")
    .WithAuthenticationOptions(options =>
        options.Scopes.Add("custom.scope"));

Utilizzo con registrazione:

var logger = serviceProvider.GetService<ILogger<MicrosoftIdentityMessageHandler>>();
var handler = new MicrosoftIdentityMessageHandler(headerProvider, defaultOptions, logger);

Commenti

Il defaultOptions parametro fornisce un modo pratico per impostare le opzioni di autenticazione applicabili a tutte le richieste effettuate tramite questa istanza del gestore. Le singole richieste possono comunque eseguire l'override di queste impostazioni predefinite usando i metodi di estensione.

Quando logger viene specificato, il gestore logrà a vari livelli:

  • Debug: Aggiunta dell'intestazione di autorizzazione riuscita
  • Informazioni: rilevamento e gestione delle richieste di verifica WWW-Authenticate
  • Avviso: Errori di gestione delle sfide
  • Errore: Errori di acquisizione dei token

Si applica a

MicrosoftIdentityMessageHandler(IAuthorizationHeaderProvider, MicrosoftIdentityMessageHandlerOptions, IMsalMtlsHttpClientFactory, ILogger<MicrosoftIdentityMessageHandler>)

Inizializza una nuova istanza della classe con supporto dell'associazione MicrosoftIdentityMessageHandler di token poP mTLS.

public MicrosoftIdentityMessageHandler(Microsoft.Identity.Abstractions.IAuthorizationHeaderProvider headerProvider, Microsoft.Identity.Web.MicrosoftIdentityMessageHandlerOptions? defaultOptions, Microsoft.Identity.Client.IMsalMtlsHttpClientFactory? mtlsHttpClientFactory, Microsoft.Extensions.Logging.ILogger<Microsoft.Identity.Web.MicrosoftIdentityMessageHandler>? logger = default);
new Microsoft.Identity.Web.MicrosoftIdentityMessageHandler : Microsoft.Identity.Abstractions.IAuthorizationHeaderProvider * Microsoft.Identity.Web.MicrosoftIdentityMessageHandlerOptions * Microsoft.Identity.Client.IMsalMtlsHttpClientFactory * Microsoft.Extensions.Logging.ILogger<Microsoft.Identity.Web.MicrosoftIdentityMessageHandler> -> Microsoft.Identity.Web.MicrosoftIdentityMessageHandler
Public Sub New (headerProvider As IAuthorizationHeaderProvider, defaultOptions As MicrosoftIdentityMessageHandlerOptions, mtlsHttpClientFactory As IMsalMtlsHttpClientFactory, Optional logger As ILogger(Of MicrosoftIdentityMessageHandler) = Nothing)

Parametri

headerProvider
IAuthorizationHeaderProvider

Oggetto IAuthorizationHeaderProvider utilizzato per acquisire le intestazioni di autorizzazione per le richieste in uscita. Questo viene in genere ottenuto dal contenitore di inserimento delle dipendenze.

defaultOptions
MicrosoftIdentityMessageHandlerOptions

Opzioni di autenticazione predefinite che verranno usate per tutte le richieste, a meno che non venga sottoposto a override per ogni richiesta. Se null, ogni richiesta deve specificare le proprie opzioni di autenticazione o verrà generata un'eccezione.

mtlsHttpClientFactory
IMsalMtlsHttpClientFactory

Factory facoltativa per la creazione di client HTTP configurati con certificati client mTLS per scenari di associazione di token (poP mTLS). Se specificato e ProtocolScheme è impostato su "MTLS_POP", il gestore userà questa factory per creare un client HTTP con il certificato di associazione e inviare richieste tramite di esso.

logger
ILogger<MicrosoftIdentityMessageHandler>

Logger facoltativo per il debug e il monitoraggio delle operazioni di autenticazione.

Eccezioni

Generata quando headerProvider è null.

Commenti

MTLS PoP (Mutual TLS Proof-of-Possession) token binding, come descritto in RFC 8705, associa crittograficamente i token di accesso a un certificato X.509 specifico. Se abilitato, il gestore acquisisce un token associato con l'identificazione personale del certificato nell'attestazione cnf , crea un client HTTP mTLS con il certificato di associazione e invia le richieste tramite il canale mTLS.

L'associazione di token supporta attualmente solo i token dell'applicazione (solo app). Impostare RequestAppToken su true.

Preferisce usare i MicrosoftIdentityHttpClientBuilderExtensions metodi di estensione per configurare questo gestore tramite inserimento delle dipendenze anziché crearne direttamente un'istanza.

Si applica a