Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Microsoft Entra ID-Authentifizierungspipeline besteht aus mehreren integrierten Authentifizierungsereignissen, z. B. der Überprüfung von Benutzeranmeldeinformationen, Richtlinien für bedingten Zugriff, mehrstufige Authentifizierung, Self-Service-Kennwortzurücksetzung und mehr.
Mit benutzerdefinierten Microsoft Entra-Authentifizierungserweiterungen können Sie Authentifizierungsflüsse an bestimmten Stellen innerhalb des Authentifizierungsflusses mit Ihrer eigenen Geschäftslogik erweitern. Eine benutzerdefinierte Authentifizierungserweiterung ist im Wesentlichen ein Ereignis-Listener, der bei Aktivierung einen HTTP-Aufruf an einen REST-API-Endpunkt ausführt, an dem Sie eine Workflowaktion definiert haben.
Sie können z. B. einen benutzerdefinierten Anspruchsanbieter verwenden, um dem Sicherheitstoken externe Benutzerdaten hinzuzufügen, bevor das Token ausgestellt wird. Sie können einen Attributauflistungsworkflow hinzufügen, um die Attribute zu überprüfen, die ein Benutzer während der Registrierung eingibt. Dieser Artikel enthält eine allgemeine technische Übersicht über benutzerdefinierte Authentifizierungserweiterungen von Microsoft Entra ID.
Das Video "Microsoft Entra Custom Authentication Extension Overview " bietet eine umfassende Übersicht über die wichtigsten Features und Funktionen der benutzerdefinierten Authentifizierungserweiterungen.
Komponentenübersicht
Es gibt zwei Komponenten, die Sie konfigurieren müssen: eine benutzerdefinierte Authentifizierungserweiterung in Microsoft Entra und eine REST-API. Die benutzerdefinierte Authentifizierungserweiterung gibt Ihren REST-API-Endpunkt an, wenn die REST-API aufgerufen werden soll, und die Anmeldeinformationen zum Aufrufen der REST-API.
Dieses Video enthält detaillierte Anweisungen zum Konfigurieren von benutzerdefinierten Authentifizierungserweiterungen von Microsoft Entra und bietet bewährte Methoden und wertvolle Tipps für eine optimale Implementierung.
Anmeldeablauf
Das folgende Diagramm zeigt den Anmeldeflow, der in eine benutzerdefinierte Authentifizierungserweiterung integriert ist.
- Ein Benutzer versucht, sich bei einer App anzumelden, und wird zur Microsoft Entra-Anmeldeseite umgeleitet.
- Sobald ein Benutzer einen bestimmten Schritt in der Authentifizierung abgeschlossen hat, wird ein Ereignislistener ausgelöst.
- Ihre benutzerdefinierte Authentifizierungserweiterung sendet eine HTTP-Anforderung an Ihren REST-API-Endpunkt. Die Anforderung enthält Informationen über das Ereignis, das Benutzerprofil, Sitzungsdaten und andere Kontextinformationen.
- Die REST-API führt einen benutzerdefinierten Workflow aus.
- Die REST-API gibt eine HTTP-Antwort an Microsoft Entra ID zurück.
- Die benutzerdefinierte Authentifizierungserweiterungvon Microsoft Entra verarbeitet die Antwort und passt die Authentifizierung basierend auf dem Ereignistyp und den HTTP-Antwortnutzdaten an.
- Ein Token wird an die App zurückgegeben.
REST-API-Endpunkte
Wenn ein Ereignis ausgelöst wird, ruft Die Microsoft Entra-ID einen REST-API-Endpunkt auf, den Sie besitzen. Die REST-API muss öffentlich zugänglich sein. Sie kann mit Azure Functions, Azure App Service, Azure Logic Apps oder einem anderen öffentlich verfügbaren API-Endpunkt gehostet werden.
Sie haben die Flexibilität, jede Programmiersprache, jedes Framework oder jede Low-Code-No-Code-Lösung, z. B. Azure Logic Apps, zu verwenden, um Ihre REST-API zu entwickeln und bereitzustellen. Um schnell loszulegen, erwägen Sie die Verwendung der Azure-Funktion. Damit können Sie Ihren Code in einer serverlosen Umgebung ausführen, ohne zuerst einen virtuellen Computer (VM) erstellen oder eine Webanwendung veröffentlichen zu müssen.
Ihre REST-API muss Folgendes verarbeiten:
- Tokenüberprüfung zum Sichern der REST-API-Aufrufe.
- Geschäftslogik
- Zurückgeben von Daten und Aktionstyp
- Eingehende und ausgehende Überprüfung von HTTP-Anforderungs- und Antwortschemata.
- Überwachung und Protokollierung.
- Verfügbarkeit, Leistung und Sicherheitskontrollen.
In diesem Video erfahren Sie, wie Sie einen REST-API-Endpunkt für Authentifizierungserweiterungen mit Azure Logic Apps erstellen, ohne Code zu schreiben. Azure Logic App ermöglicht Benutzern das Erstellen von Workflows mit einem visuellen Designer. Das Video behandelt das Anpassen von Überprüfungs-E-Mails und gilt für alle Arten von benutzerdefinierten Authentifizierungserweiterungen, einschließlich benutzerdefinierter Anspruchsanbieter.
Anforderungsnutzlast
Die Anforderung an die REST-API enthält eine JSON-Nutzlast mit Details zum Ereignis, Benutzerprofil, Authentifizierungsanforderungsdaten und anderen Kontextinformationen. Die Attribute innerhalb der JSON-Nutzlast können verwendet werden, um Logik mit Ihrer API zu steuern.
Beispielsweise kann die Anforderungsnutzlast im Ereignis Token-Ausgabe-Start den eindeutigen Bezeichner des Benutzers enthalten, sodass Sie das Benutzerprofil aus Ihrer eigenen Datenbank abrufen können. Die Anforderungsnutzlastdaten müssen dem Schema entsprechen, wie im Ereignisdokument angegeben.
Zurückgeben von Daten und Aktionstyp
Nachdem Ihre Web-API den Workflow mit Ihrer Geschäftslogik ausgeführt hat, muss sie einen Aktionstyp zurückgeben, der Microsoft Entra weiterleitet, um mit dem Authentifizierungsprozess fortzufahren.
Beispielsweise gibt der von Ihrer Web-API zurückgegebene Aktionstyp im Falle des Start- und Attributsammlungsvorgangs an, ob das Konto im Verzeichnis erstellt werden kann, einen Überprüfungsfehler anzeigen oder den Registrierungsablauf vollständig blockieren.
Die REST-API-Antwort kann Daten enthalten. Das Startereignis für die Tokenausstellung kann z. B. eine Reihe von Attributen bereitstellen, die dem Sicherheitstoken zugeordnet werden können.
Schützen Ihrer REST-API
Um sicherzustellen, dass die Kommunikation zwischen der benutzerdefinierten Authentifizierungserweiterung und Ihrer REST-API ordnungsgemäß geschützt ist, müssen mehrere Sicherheitskontrollen angewendet werden.
- Wenn die benutzerdefinierte Authentifizierungserweiterung Ihre REST-API aufruft, sendet sie einen HTTP-
Authorization
-Header mit einem von Microsoft Entra ID ausgestellten Bearertoken. - Das Bearertoken enthält einen
appid
- oderazp
-Anspruch. Überprüfen Sie, ob der jeweilige Anspruch den Wert99045fe1-7639-4a75-9d4a-577b6ca3810f
enthält. Dieser Wert stellt sicher, dass die REST-API tatsächlich durch Microsoft Entra ID aufgerufen wird.- Überprüfen Sie für V1-Anwendungen den
appid
-Anspruch. - Überprüfen Sie für V2-Anwendungen den
azp
-Anspruch.
- Überprüfen Sie für V1-Anwendungen den
- Der Bearertoken-
aud
-Zielgruppenanspruch enthält die ID der zugeordneten Anwendungsregistrierung. Ihr REST-API-Endpunkt muss überprüfen, ob das Bearertoken für diese bestimmte Zielgruppe ausgestellt wird. - Der Bearertoken-
iss
-Ausstelleranspruch enthält die URL des Microsoft Entra-Ausstellers. Je nach Mandantenkonfiguration ist die Aussteller-URL eine der folgenden:- Mitarbeiter:
https://login.microsoftonline.com/{tenantId}/v2.0
. - Kunde:
https://{domainName}.ciamlogin.com/{tenantId}/v2.0
.
- Mitarbeiter:
Benutzerdefinierte Authentifizierungsereignistypen
In diesem Abschnitt werden die Ereignisse für benutzerdefinierte Authentifizierungserweiterungen aufgeführt, die in der Belegschaft von Microsoft Entra ID und bei externen Mandanten verfügbar sind. Ausführliche Informationen zu den Veranstaltungen finden Sie in der jeweiligen Dokumentation.
Ereignis | Mitarbeitermandant | Externer Mieter |
---|---|---|
Start der Tokenausstellung | ![]() |
![]() |
Start der Attributauflistung | ![]() |
|
Attributauflistung übermitteln | ![]() |
|
Einmaliger Passcode senden | ![]() |
Start der Tokenausstellung
Das Startereignis für die Tokenausstellung wird OnTokenIssuanceStart ausgelöst, wenn ein Token an eine Anwendung ausgegeben werden soll. Es handelt sich um einen Ereignistyp, der in einem benutzerdefinierten Anspruchsanbieter eingerichtet ist. Der benutzerdefinierte Anspruchsanbieter ist eine benutzerdefinierte Authentifizierungserweiterung, die eine REST-API aufruft, um Ansprüche von externen Systemen abzurufen. Ein benutzerdefinierter Anspruchsanbieter ordnet Ansprüche aus externen Systemen Token zu und kann einer oder mehreren Anwendungen in Ihrem Verzeichnis zugewiesen werden.
Tipp
Um dieses Feature auszuprobieren, wechseln Sie zur Woodgrove Groceries-Demo, und starten Sie den Anwendungsfall „Ansprüche zu Sicherheitstoken aus einer REST-API hinzufügen“.
Starten der Attributauflistung
Startereignisse der Attributsammlung können mit benutzerdefinierten Authentifizierungserweiterungen verwendet werden, um Logik hinzuzufügen, bevor Attribute von einem Benutzer erfasst werden. Das OnAttributeCollectionStart-Ereignis tritt am Anfang des Attributauflistungsschritts auf, bevor die Attributauflistungsseite gerendert wird. Sie können Aktionen wie das Vorbefüllen von Werten und das Anzeigen eines Blockierungsfehlers hinzufügen.
Tipp
Um dieses Feature auszuprobieren, wechseln Sie zur Woodgrove Groceries Demo, und starten Sie den Anwendungsfall "Vorfüllen von Anmeldeattributen".
Übermitteln der Attributauflistung
Attributauflistungs-Übermittlungsereignisse können mit benutzerdefinierten Authentifizierungserweiterungen verwendet werden, um Logik hinzuzufügen, nachdem Attribute von einem Benutzer gesammelt wurden. Das OnAttributeCollectionSubmit-Ereignis wird ausgelöst, nachdem der Benutzer Attribute eingegeben und übermittelt hat, sodass Sie Aktionen wie das Überprüfen von Einträgen oder Ändern von Attributen hinzufügen können.
Tipp
Um dieses Feature auszuprobieren, wechseln Sie zur Woodgrove Groceries-Demo, und starten Sie den Anwendungsfall "Sign-up-Attribute überprüfen" oder den Anwendungsfall "Benutzer daran hindern, den Anmeldevorgang fortzusetzen".
Einmalpasswort senden
Das OnOtpSend-Ereignis wird ausgelöst, wenn eine Einmal-Passcode-E-Mail aktiviert wird. Sie können eine REST-API aufrufen, um Ihren eigenen E-Mail-Anbieter zu verwenden. Dieses Ereignis kann verwendet werden, um angepasste E-Mails an Benutzer zu senden, die sich mit E-Mail-Adresse anmelden, sich mit einer Einmalkennung (Email OTP) anmelden, ihr Kennwort mithilfe von E-Mail-OTP zurücksetzen oder E-Mail OTP für die mehrstufige Authentifizierung (MFA) verwenden.
Wenn das OnOtpSend-Ereignis aktiviert ist, sendet Microsoft Entra einen Einmal-Passcode an Ihre angegebene REST-API. Die REST-API verwendet dann Ihren ausgewählten E-Mail-Anbieter, z. B. Azure Communication Service oder SendGrid, um das Einmalpasswort mit Ihrer benutzerdefinierten E-Mail-Vorlage, der Absenderadresse und dem E-Mail-Betreff zu senden, während sie gleichzeitig die Lokalisierung unterstützt.
Tipp
Um dieses Feature auszuprobieren, wechseln Sie zur Woodgrove Groceries-Demo, und starten Sie den Anwendungsfall „Verwenden eines benutzerdefinierten E-Mail-Anbieters für einen einmaligen Code“.
Verwandte Inhalte
- Erfahren Sie mehr über benutzerdefinierte Anspruchsanbieter
- Erstellen von benutzerdefinierten Authentifizierungserweiterungen für Start- und Sendeereignisse der Attributauflistung mit einer OpenID Connect-Beispielanwendung
- Konfigurieren eines benutzerdefinierten E-Mail-Anbieters für Sendeereignisse einmaliger Passcodes