MicrosoftIdentityMessageHandler Costruttori
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.
Overload
| Nome | Descrizione |
|---|---|
| MicrosoftIdentityMessageHandler(IAuthorizationHeaderProvider, MicrosoftIdentityMessageHandlerOptions, ILogger<MicrosoftIdentityMessageHandler>) |
Inizializza una nuova istanza della classe MicrosoftIdentityMessageHandler. |
| MicrosoftIdentityMessageHandler(IAuthorizationHeaderProvider, MicrosoftIdentityMessageHandlerOptions, IMsalMtlsHttpClientFactory, ILogger<MicrosoftIdentityMessageHandler>) |
Inizializza una nuova istanza della classe con supporto dell'associazione MicrosoftIdentityMessageHandler di token poP mTLS. |
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 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 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.