Freigeben über


Definieren eines technischen Profils der Microsoft Entra ID SSPR in einer benutzerdefinierten Azure AD B2C-Richtlinie

Hinweis

In Azure Active Directory B2C sind benutzerdefinierte Richtlinien in erster Linie für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir die Verwendung von integrierten Benutzerflows. Informieren Sie sich, sofern noch nicht geschehen, unter Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure Active Directory B2C über das Starter Pack für benutzerdefinierte Richtlinien.

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 E-Mail-Adresse für die Self-Service-Kennwortzurücksetzung (SSPR). Verwenden Sie das technische Profil der Microsoft Entra ID SSPR, um einen Code an eine E-Mail-Adresse zu generieren und zu senden, und überprüfen Sie dann den Code. Das technische Profil der Microsoft Entra ID SSPR 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.

Dieses 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 Microsoft Entra SSPR-Dienst, um einen Code an eine E-Mail-Adresse zu generieren und zu senden, und überprüft dann den Code.
  • Überprüft eine E-Mail-Adresse über einen Überprüfungscode.

Protokoll

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

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

Das folgende Beispiel zeigt ein technisches Profil der Microsoft Entra ID SSPR:

<TechnicalProfile Id="AadSspr-SendCode">
  <DisplayName>Send Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    ...

E-Mail senden

Der erste Modus dieses technischen Profils besteht darin, einen Code zu generieren und zu senden. Für diesen Modus können folgende Optionen konfiguriert werden:

Eingabeansprüche

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

ClaimReferenceId Erforderlich BESCHREIBUNG
E-Mail-Adresse Ja Der Bezeichner für den Benutzer, der die E-Mail-Adresse besitzt. Die PartnerClaimType Eigenschaft des Eingabeanspruchs muss auf emailAddress.

Das InputClaimsTransformations-Element kann eine Sammlung von InputClaimsTransformation-Elementen enthalten, die verwendet werden, um die Eingabeansprüche zu ändern oder neue zu generieren, bevor sie an den Microsoft Entra SSPR-Dienst gesendet werden.

Ausgabeansprüche

Der Microsoft Entra SSPR-Protokollanbieter gibt keine OutputClaims zurück, daher ist es nicht erforderlich, Ausgabeansprüche anzugeben. Sie können jedoch Ansprüche einschließen, die nicht vom Microsoft Entra SSPR-Protokollanbieter zurückgegeben werden, solange Sie das DefaultValue Attribut festlegen.

Das OutputClaimsTransformations-Element kann eine Auflistung von OutputClaimsTransformation-Elementen enthalten, die verwendet werden, um die Ausgabeansprüche zu ändern oder neue zu generieren.

Metadaten

Merkmal Erforderlich BESCHREIBUNG
Vorgang Ja Muss "SendCode" sein.

Benutzeroberflächenelemente

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
UserMessageIfInternalError Nein Benutzerfehlermeldung, wenn auf dem Server ein interner Fehler aufgetreten ist.
UserMessageIfThrottled Nein Fehlermeldung des Benutzers, wenn eine Anforderung gedrosselt wurde.

Beispiel: Senden einer E-Mail

Das folgende Beispiel zeigt ein technisches Microsoft Entra ID SSPR-Profil, das zum Senden eines Codes per E-Mail verwendet wird.

<TechnicalProfile Id="AadSspr-SendCode">
  <DisplayName>Send Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">SendCode</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
  </InputClaims>
</TechnicalProfile>

Code prüfen

Der zweite Modus dieses technischen Profils besteht darin, einen Code zu überprüfen. Für diesen Modus können folgende Optionen konfiguriert werden:

Eingabeansprüche

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

ClaimReferenceId Erforderlich BESCHREIBUNG
E-Mail-Adresse Ja Dieselbe E-Mail-Adresse wie zuvor zum Senden eines Codes verwendet. Es wird auch verwendet, um eine E-Mail-Überprüfungssitzung zu finden. Die PartnerClaimType Eigenschaft des Eingabeanspruchs muss auf emailAddress.
Verifizierungscode Ja Der vom Benutzer zu überprüfende Überprüfungscode. Die PartnerClaimType Eigenschaft des Eingabeanspruchs muss auf verificationCode.

Das InputClaimsTransformations-Element kann eine Sammlung von InputClaimsTransformation-Elementen enthalten, die verwendet werden, um die Eingabeansprüche zu ändern oder neue zu generieren, bevor Sie den Microsoft Entra SSPR-Dienst aufrufen.

Ausgabeansprüche

Der Microsoft Entra SSPR-Protokollanbieter gibt keine OutputClaims zurück, daher ist es nicht erforderlich, Ausgabeansprüche anzugeben. Sie können jedoch Ansprüche einschließen, die nicht vom Microsoft Entra SSPR-Protokollanbieter zurückgegeben werden, solange Sie das DefaultValue Attribut festlegen.

Das OutputClaimsTransformations-Element kann eine Auflistung von OutputClaimsTransformation-Elementen enthalten, die verwendet werden, um die Ausgabeansprüche zu ändern oder neue zu generieren.

Metadaten

Merkmal Erforderlich BESCHREIBUNG
Vorgang Ja Muss "VerifyCode" sein

Benutzeroberflächenelemente

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
UserMessageIfChallengeExpired Die Meldung, die dem Benutzer angezeigt werden soll, wenn die Codeüberprüfungssitzung abgelaufen ist. Entweder ist der Code abgelaufen, oder der Code wurde nie für einen bestimmten Bezeichner generiert.
UserMessageIfInternalError Benutzerfehlermeldung, wenn auf dem Server ein interner Fehler aufgetreten ist.
UserMessageIfThrottled Fehlermeldung des Benutzers, wenn eine Anforderung gedrosselt wurde.
UserMessageIfVerificationFailedNoRetry Die Meldung, die dem Benutzer angezeigt werden soll, wenn er einen ungültigen Code angegeben hat, und der Benutzer darf den richtigen Code nicht angeben.
UserMessageIfVerificationFailedRetryAllowed Die Meldung, die dem Benutzer angezeigt werden soll, wenn er einen ungültigen Code angegeben hat, und der Benutzer darf den richtigen Code bereitstellen.

Beispiel: Überprüfen eines Codes

Das folgende Beispiel zeigt ein technisches Microsoft Entra ID SSPR-Profil, das zum Überprüfen des Codes verwendet wird.

<TechnicalProfile Id="AadSspr-VerifyCode">
  <DisplayName>Verify Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">VerifyCode</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="verificationCode" PartnerClaimType="verificationCode" />
    <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
  </InputClaims>
</TechnicalProfile>