MicrosoftIdentityMessageHandler Konstruktoren

Definition

Überlädt

MicrosoftIdentityMessageHandler(IAuthorizationHeaderProvider, MicrosoftIdentityMessageHandlerOptions, ILogger<MicrosoftIdentityMessageHandler>)

Initialisiert eine neue Instanz der MicrosoftIdentityMessageHandler-Klasse.

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)

Parameter

headerProvider
IAuthorizationHeaderProvider

Wird IAuthorizationHeaderProvider zum Abrufen von Autorisierungsheadern für ausgehende Anforderungen verwendet. Dies wird in der Regel aus dem Container zum Einfügen von Abhängigkeiten abgerufen.

defaultOptions
MicrosoftIdentityMessageHandlerOptions

Standardauthentifizierungsoptionen, die für alle Anforderungen verwendet werden, es sei denn, sie werden per WithAuthenticationOptions(HttpRequestMessage, MicrosoftIdentityMessageHandlerOptions)Anforderung überschrieben. Wenn nulljede Anforderung eigene Authentifizierungsoptionen angeben muss oder eine Ausnahme ausgelöst wird.

logger
ILogger<MicrosoftIdentityMessageHandler>

Optionaler Logger zum Debuggen und Überwachen von Authentifizierungsvorgängen. Wenn angegeben, protokolliert der Handler Informationen zu Tokenakquisition, Herausforderungen und Fehlern.

Ausnahmen

Wird ausgelöst, wenn headerProvider ist null.

Beispiele

Grundlegende Verwendung mit Standardoptionen:

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

Verwendung ohne Standardoptionen (pro Anforderungskonfiguration erforderlich):

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

Verwendung mit Protokollierung:

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

Hinweise

Der defaultOptions Parameter bietet eine bequeme Möglichkeit zum Festlegen von Authentifizierungsoptionen, die für alle Anforderungen gelten, die über diese Handlerinstanz ausgeführt werden. Einzelne Anforderungen können diese Standardwerte weiterhin mithilfe der Erweiterungsmethoden überschreiben.

Wenn logger dieser bereitgestellt wird, protokolliert der Handler auf verschiedenen Ebenen:

  • Debuggen: Erfolgreiche Autorisierungsheaderzufügung
  • Informationen: WWW-Authenticate Erkennung und Behandlung von Herausforderungen
  • Warnung: Problembehandlungsfehler
  • Fehler: Tokenerwerbsfehler

Gilt für:

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

Initialisiert eine neue Instanz der MicrosoftIdentityMessageHandler Klasse mit mTLS-PoP-Tokenbindungsunterstützung.

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)

Parameter

headerProvider
IAuthorizationHeaderProvider

Wird IAuthorizationHeaderProvider zum Abrufen von Autorisierungsheadern für ausgehende Anforderungen verwendet. Dies wird in der Regel aus dem Container zum Einfügen von Abhängigkeiten abgerufen.

defaultOptions
MicrosoftIdentityMessageHandlerOptions

Standardauthentifizierungsoptionen, die für alle Anforderungen verwendet werden, es sei denn, sie werden pro Anforderung außer Kraft gesetzt. Wenn nulljede Anforderung eigene Authentifizierungsoptionen angeben muss oder eine Ausnahme ausgelöst wird.

mtlsHttpClientFactory
IMsalMtlsHttpClientFactory

Optionale Factory zum Erstellen von HTTP-Clients, die mit mTLS-Clientzertifikaten für Tokenbindungsszenarien (mTLS PoP) konfiguriert sind. Wenn angegeben und auf ProtocolScheme diese Einstellung festgelegt "MTLS_POP", verwendet der Handler diese Factory, um einen HTTP-Client mit dem Bindungszertifikat zu erstellen und Anforderungen darüber zu senden.

logger
ILogger<MicrosoftIdentityMessageHandler>

Optionaler Logger zum Debuggen und Überwachen von Authentifizierungsvorgängen.

Ausnahmen

Wird ausgelöst, wenn headerProvider ist null.

Hinweise

mTLS PoP (Mutual TLS Proof-of-Possession)-Tokenbindung, wie in RFC 8705 beschrieben, bindet kryptografisch Zugriffstoken an ein bestimmtes X.509-Zertifikat. Wenn diese Option aktiviert ist, erhält der Handler ein gebundenes Token mit dem Zertifikatfingerabdruck im cnf Anspruch, erstellt einen MTLS-HTTP-Client mit dem Bindungszertifikat und sendet Anforderungen über den mTLS-Kanal.

Tokenbindung unterstützt derzeit nur Anwendungstoken (nur App-Token). Setze RequestAppToken auf true.

Verwenden Sie lieber die MicrosoftIdentityHttpClientBuilderExtensions Erweiterungsmethoden, um diesen Handler durch Abhängigkeitsinjektion zu konfigurieren, anstatt ihn direkt zu instanziieren.

Gilt für: