Freigeben über


Definieren eines technischen Profils für die mehrstufige Authentifizierung von Microsoft Entra-ID in einer benutzerdefinierten Azure AD B2C-Richtlinie

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

Azure Active Directory B2C (Azure AD B2C) bietet Unterstützung für die Überprüfung einer Telefonnummer mithilfe eines Überprüfungscodes oder das Überprüfen eines zeitbasierten ToTP-Codes (Einmaliges Kennwort).

Protokoll

Das Name-Attribut des Protocol-Elements muss auf Proprietary festgelegt werden. Das Handler-Attribut muss den vollqualifizierten Namen der Protokollhandlerassembly enthalten, die von Azure AD B2C verwendet wird:

Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

Das folgende Beispiel zeigt ein technisches Profil für die mehrstufige Authentifizierung von Microsoft Entra ID:

<TechnicalProfile Id="AzureMfa-SendSms">
    <DisplayName>Send Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    ...

Überprüfen des Telefonmodus

Im Modus "Telefon überprüfen" generiert und sendet das technische Profil einen Code an eine Telefonnummer und überprüft dann den Code. Das technische Profil der microsoft Entra-ID für die mehrstufige Authentifizierung gibt möglicherweise auch eine Fehlermeldung zurück. Das technische Überprüfungsprofil überprüft die vom Benutzer bereitgestellten Daten, bevor die Benutzerreise fortgesetzt wird. Mit dem technischen Profil der Validierung wird eine Fehlermeldung auf einer selbst bestätigten Seite angezeigt. Das technische Profil:

  • Stellt keine Schnittstelle für die Interaktion mit dem Benutzer bereit. Stattdessen wird die Benutzeroberfläche von einem selbst bestätigten technischen Profil oder einem Anzeigesteuerelement als technisches Validierungsprofil aufgerufen.
  • Verwendet den mehrstufigen Microsoft Entra-Authentifizierungsdienst, um einen Code an eine Telefonnummer zu generieren und zu senden und dann den Code zu überprüfen.
  • Überprüft eine Telefonnummer über Textnachrichten.

Das technische Profil stellt Methoden zum Senden des Überprüfungscodes per SMS-Sms bereit und überprüft den Code. Der folgende Screenshot zeigt den Fluss der Telefonüberprüfung.

Screenshot des TOTP-Flusses

Senden einer SMS

Um ein Telefon zu überprüfen, generiert der erste Schritt einen Code und sendet ihn an die Telefonnummer. Die folgenden Optionen können für diesen Schritt konfiguriert werden.

Eingabeansprüche

Das InputClaims-Element enthält eine Liste der Ansprüche, die an die mehrstufige Microsoft Entra-Authentifizierung gesendet werden sollen. Sie können auch den Namen Ihres Anspruchs dem im technischen Profil der MFA definierten Namen zuordnen.

ClaimReferenceId Erforderlich BESCHREIBUNG
userPrincipalName Ja Der Bezeichner für den Benutzer, der die Telefonnummer besitzt.
phoneNumber Ja Die Telefonnummer, an die ein SMS-Code gesendet werden soll.
companyName Nein Der Firmenname in der SMS. Falls nicht angegeben, wird der Name Ihrer Anwendung verwendet.
locale Nein Das Gebietsschema der SMS. Wenn nicht angegeben, wird das Browsergebietsschema des Benutzers verwendet.

Ausgabeansprüche

Der Mehrstufige Authentifizierungsprotokollanbieter von Microsoft Entra gibt keine Ausgabeansprüche zurück, sodass keine Ausgabeansprüche angegeben werden müssen.

Metadaten

Das Metadata-Element enthält das folgende Attribut.

Merkmal Erforderlich BESCHREIBUNG
Operation Ja Muss OneWaySMS sein.
UI-Elemente

Die folgenden Metadaten können verwendet werden, um die Fehlermeldungen zu konfigurieren, die beim Senden von SMS-Fehlern angezeigt werden. Die Metadaten sollten im selbst bestätigten technischen Profil konfiguriert werden. Die Fehlermeldungen können lokalisiert werden.

Merkmal Erforderlich BESCHREIBUNG
UserMessageIfCouldntSendSms Nein Fehlermeldung des Benutzers, wenn die angegebene Telefonnummer keine SMS akzeptiert.
UserMessageIfInvalidFormat Nein Benutzerfehlermeldung, wenn die angegebene Telefonnummer keine gültige Telefonnummer ist.
UserMessageIfServerError Nein Benutzerfehlermeldung, wenn auf dem Server ein interner Fehler aufgetreten ist.
UserMessageIfThrottled Nein Fehlermeldung des Benutzers, wenn eine Anforderung gedrosselt wurde.

Beispiel: Senden einer SMS

Das folgende Beispiel zeigt ein technisches Microsoft Entra ID-Profil mit mehrstufiger Authentifizierung, das zum Senden eines Codes per SMS verwendet wird.

<TechnicalProfile Id="AzureMfa-SendSms">
  <DisplayName>Send Sms</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">OneWaySMS</Item>
  </Metadata>
  <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CombinePhoneAndCountryCode" />
    <InputClaimsTransformation ReferenceId="ConvertStringToPhoneNumber" />
  </InputClaimsTransformations>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
    <InputClaim ClaimTypeReferenceId="fullPhoneNumber" PartnerClaimType="phoneNumber" />
  </InputClaims>
</TechnicalProfile>

Code prüfen

Der Überprüfungscodeschritt überprüft einen Code, der an den Benutzer gesendet wird. Die folgenden Optionen können für diesen Schritt konfiguriert werden.

Eingabeansprüche

Das InputClaims-Element enthält eine Liste der Ansprüche, die an die mehrstufige Microsoft Entra-Authentifizierung gesendet werden sollen. Sie können auch den Namen Ihres Anspruchs dem im technischen Profil der MFA definierten Namen zuordnen.

ClaimReferenceId Erforderlich BESCHREIBUNG
phoneNumber Ja Dieselbe Telefonnummer wie zuvor zum Senden eines Codes verwendet. Es wird auch verwendet, um eine Telefonüberprüfungssitzung zu finden.
verificationCode Ja Der vom Benutzer zu überprüfende Überprüfungscode

Ausgabeansprüche

Der Mehrstufige Authentifizierungsprotokollanbieter von Microsoft Entra gibt keine Ausgabeansprüche zurück, sodass keine Ausgabeansprüche angegeben werden müssen.

Metadaten

Das Metadata-Element enthält das folgende Attribut.

Merkmal Erforderlich BESCHREIBUNG
Operation Ja Muss Verify sein.
UI-Elemente

Die folgenden Metadaten können verwendet werden, um die Fehlermeldungen zu konfigurieren, die bei Codeüberprüfungsfehlern angezeigt werden. Die Metadaten sollten im selbst bestätigten technischen Profil konfiguriert werden. Die Fehlermeldungen können lokalisiert werden.

Merkmal Erforderlich BESCHREIBUNG
UserMessageIfMaxAllowedCodeRetryReached Nein Benutzerfehlermeldung, wenn der Benutzer zu oft versucht hat, einen Überprüfungscode zu verwenden.
UserMessageIfServerError Nein Benutzerfehlermeldung, wenn auf dem Server ein interner Fehler aufgetreten ist.
UserMessageIfThrottled Nein Benutzerfehlermeldung, wenn die Anforderung gedrosselt wird.
UserMessageIfWrongCodeEntered Nein Fehlermeldung des Benutzers, wenn der zur Überprüfung eingegebene Code falsch ist.

Beispiel: Überprüfen eines Codes

Das folgende Beispiel zeigt ein technisches Profil der mehrstufigen Authentifizierung von Microsoft Entra ID, das verwendet wird, um den Code zu überprüfen.

<TechnicalProfile Id="AzureMfa-VerifySms">
    <DisplayName>Verify Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
        <Item Key="Operation">Verify</Item>
    </Metadata>
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="phoneNumber" PartnerClaimType="phoneNumber" />
        <InputClaim ClaimTypeReferenceId="verificationCode" />
    </InputClaims>
</TechnicalProfile>

TOTP-Modus

In diesem Modus muss der Benutzer jede Authentifikator-App installieren, die die zeitbasierte Einmalige Kennwortüberprüfung (TOTP) unterstützt, z. B. die Microsoft Authenticator-App, auf einem Gerät, das sie besitzen.

Während der ersten Registrierung oder Anmeldung durchsucht der Benutzer einen QR-Code, öffnet einen Deep-Link oder gibt den Code manuell mithilfe der Authentifikator-App ein. Um den TOTP-Code zu überprüfen, verwenden Sie die Begin Verify OTP gefolgt von den technischen Profilen der TOTP-Validierung .

Verwenden Sie bei nachfolgenden Anmeldungen die Methode " Verfügbare Geräte abrufen ", um zu überprüfen, ob der Benutzer sein Gerät bereits registriert hat. Wenn die Anzahl der verfügbaren Geräte größer als 0 ist, gibt dies an, dass der Benutzer zuvor registriert wurde. In diesem Fall muss der Benutzer den TOTP-Code eingeben, der in der Authentifikator-App angezeigt wird.

Das technische Profil:

  • Stellt keine Schnittstelle für die Interaktion mit dem Benutzer bereit. Stattdessen wird die Benutzeroberfläche von einem selbst bestätigten technischen Profil mit den TOTP-Anzeigesteuerelementen aufgerufen.
  • Verwendet den mehrstufigen Microsoft Entra-Authentifizierungsdienst, um den TOTP-Code zu überprüfen.
  • Überprüft, ob ein Benutzer sein Gerät bereits registriert hat.

Der folgende Screenshot zeigt einen TOTP-Registrierungs- und Überprüfungsfluss. Es beginnt mit der Überprüfung der Anzahl der verfügbaren Geräte. Wenn die Anzahl der verfügbaren Geräte null ist, durchläuft der Benutzer den Registrierungs-Orchestrierungsschritt. Andernfalls durchläuft der Benutzer den Überprüfungs-Orchestrierungsschritt.

Screenshot des TOTP-Flusses.

Abrufen verfügbarer Geräte

Der verfügbare Gerätemodus überprüft die Anzahl der für den Benutzer verfügbaren Geräte. Wenn die Anzahl der verfügbaren Geräte null ist, gibt dies an, dass der Benutzer noch nicht registriert wurde.

Eingabeansprüche

Das InputClaims-Element enthält eine Liste der Ansprüche, die an die mehrstufige Microsoft Entra-Authentifizierung gesendet werden sollen. Sie können auch den Namen Ihres Anspruchs dem im technischen Profil der MFA definierten Namen zuordnen.

ClaimReferenceId Erforderlich BESCHREIBUNG
userPrincipalName Ja Der Benutzerprinzipalname.

Ausgabeansprüche

Das Ausgabeanspruchselement enthält eine Liste der Ansprüche, die von der mehrstufigen Microsoft Entra-Authentifizierung zurückgegeben werden sollen. Sie können auch den Namen Ihres Anspruchs dem im technischen Profil der MFA definierten Namen zuordnen.

ClaimReferenceId Erforderlich BESCHREIBUNG
numberOfAvailableDevices Ja Die Anzahl der verfügbaren Geräte für den Benutzer.

Metadaten

Das Metadata-Element enthält das folgende Attribut.

Merkmal Erforderlich BESCHREIBUNG
Operation Ja Muss GetAvailableDevices sein.

Beispiel: Abrufen verfügbarer Geräte

Das folgende Beispiel zeigt ein technisches Profil der mehrstufigen Microsoft Entra ID-Authentifizierung, das verwendet wird, um die Anzahl der verfügbaren Geräte abzurufen.

<TechnicalProfile Id="AzureMfa-GetAvailableDevices">
  <DisplayName>Get Available Devices</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">GetAvailableDevices</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="numberOfAvailableDevices" />
  </OutputClaims>
</TechnicalProfile>

Beginnen Sie mit der Überprüfung von TOTP

Die Überprüfung beginnt, dass TOTP den Überprüfungsprozess startet. Dieses technische Validierungsprofil wird aus dem selbst bestätigten technischen Profil aufgerufen, das TOTP-Codes darstellt und überprüft. Auf dieses technische Überprüfungsprofil muss ein Aufruf zur Überprüfung der TECHNISCHEn Profile der TOTP-Validierung folgen.

Eingabeansprüche

Das InputClaims-Element enthält eine Liste der Ansprüche, die an die mehrstufige Microsoft Entra-Authentifizierung gesendet werden sollen. Sie können auch den Namen Ihres Anspruchs dem im technischen Profil der MFA definierten Namen zuordnen.

ClaimReferenceId Erforderlich BESCHREIBUNG
userPrincipalName Ja Der Benutzerprinzipalname.
objectId Ja Die Benutzerobjekt-ID.
secretKey Ja Der geheime Schlüssel des Benutzers. Dieser Schlüssel wird im Profil des Benutzers im Azure AD B2C-Verzeichnis gespeichert und für die Authentifikator-App freigegeben. Die Authentifikator-App verwendet den geheimen Schlüssel, um den TOTP-Code zu generieren. Dieses technische Profil verwendet den geheimen Schlüssel, um den TOTP-Code zu überprüfen.

Ausgabeansprüche

Der Mehrstufige Authentifizierungsprotokollanbieter von Microsoft Entra gibt keine Ausgabeansprüche zurück, sodass keine Ausgabeansprüche angegeben werden müssen.

Metadaten

Das Metadata-Element enthält das folgende Attribut.

Merkmal Erforderlich BESCHREIBUNG
Operation Ja Muss BeginVerifyOTP sein.

Beispiel: Starten der Überprüfung von TOTP

Das folgende Beispiel zeigt ein technisches Profil der mehrstufigen Microsoft Entra ID-Authentifizierung, das zum Starten des TOTP-Überprüfungsprozesses verwendet wird.

<TechnicalProfile Id="AzureMfa-BeginVerifyOTP">
  <DisplayName>Begin verify TOTP"</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">BeginVerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="secretKey" />
    <InputClaim ClaimTypeReferenceId="objectId" />
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
</TechnicalProfile>

Überprüfen von TOTP

Die TOTP-Methode überprüft einen TOTP-Code. Dieses technische Validierungsprofil wird aus dem selbst bestätigten technischen Profil aufgerufen, das TOTP-Codes darstellt und überprüft. Diesem technischen Überprüfungsprofil muss ein Aufruf der technischen Profile der ToTP-Überprüfung "Begin" vorangestellt sein.

Eingabeansprüche

Das InputClaims-Element enthält eine Liste der Ansprüche, die an die mehrstufige Microsoft Entra-Authentifizierung gesendet werden sollen. Sie können auch den Namen Ihres Anspruchs dem im technischen Profil der MFA definierten Namen zuordnen.

ClaimReferenceId Erforderlich BESCHREIBUNG
otpCode Ja Der vom Benutzer bereitgestellte TOTP-Code.

Ausgabeansprüche

Der Mehrstufige Authentifizierungsprotokollanbieter von Microsoft Entra gibt keine Ausgabeansprüche zurück, sodass keine Ausgabeansprüche angegeben werden müssen.

Metadaten

Das Metadata-Element enthält das folgende Attribut.

Merkmal Erforderlich BESCHREIBUNG
Operation Ja Muss VerifyOTP sein.

Beispiel: Überprüfen von TOTP

Das folgende Beispiel zeigt ein technisches Profil für die mehrstufige Authentifizierung von Microsoft Entra ID, das verwendet wird, um einen TOTP-Code zu überprüfen.

<TechnicalProfile Id="AzureMfa-VerifyOTP">
  <DisplayName>Verify OTP</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">VerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otpCode" />
  </InputClaims>
</TechnicalProfile>

Nächste Schritte