Definieren eines technischen Profils für die Microsoft Entra ID-Self-Service-Kennwortrücksetzung 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 Azure Active Directory B2C (Azure AD B2C) wird die Überprüfung einer E-Mail-Adresse für die Self-Service-Kennwortzurücksetzung (Self-Service Password Reset, SSPR) unterstützt. Verwenden Sie das technische Profil für die Microsoft Entra ID-Self-Service-Kennwortzurücksetzung, um einen Code zu generieren, an eine E-Mail-Adresse zu senden und anschließend zu überprüfen. Vom technischen Profil für die Microsoft Entra ID-Self-Service-Kennwortzurücksetzung kann auch eine Fehlermeldung zurückgegeben werden. Mit dem technischen Validierungsprofil werden die vom Benutzer bereitgestellten Daten überprüft, bevor die User Journey fortgesetzt wird. Mit dem technischen Überprüfungsprofil wird eine Fehlermeldung auf einer Seite mit Selbstbestätigung angezeigt.

Dieses technische Profil hat folgende Eigenschaften:

  • Es bietet keine Benutzeroberfläche für die Interaktion mit dem Benutzer. Stattdessen wird die Benutzeroberfläche von einem selbstbestätigten technischen Profil oder einem Anzeigesteuerelement als technisches Überprüfungsprofil aufgerufen.
  • Es verwendet den Microsoft Entra-SSPR-Dienst, um einen Code zu generieren und an eine E-Mail-Adresse zu senden, und überprüft ihn anschließend.
  • Es überprüft eine E-Mail-Adresse mithilfe eines Überprüfungscodes.

Protocol

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 Microsoft Entra ID technisches SSPR-Profil:

<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" />
    ...

Senden von E-Mail

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 Element InputClaims enthält eine Liste von Ansprüchen, die an die Microsoft Entra-Self-Service-Kennwortzurücksetzung gesendet werden sollen. Sie können auch den Namen Ihres Anspruchs dem im technischen SSPR-Profil definierten Namen zuordnen.

ClaimReferenceId Erforderlich Beschreibung
emailAddress Ja Der Bezeichner für den Benutzer, dem die E-Mail-Adresse gehört. Die Eigenschaft PartnerClaimType des Eingabeanspruchs muss auf emailAddress festgelegt werden.

Das Element InputClaimsTransformations enthält ggf. eine Sammlung von Elementen vom Typ InputClaimsTransformation, die vor dem Senden an den Microsoft Entra-SSPR-Dienst zum Ändern der Eingabeansprüche oder zum Generieren neuer Eingabeansprüche verwendet werden.

Ausgabeansprüche

Da vom Microsoft Entra-SSPR-Protokollanbieter keine Elemente vom Typ OutputClaims zurückgegeben werden, müssen auch keine Ausgabeansprüche angegeben werden. Sie können jedoch Ansprüche einschließen, die nicht vom Microsoft Entra-SSPR-Protokollanbieter zurückgegeben werden (vorausgesetzt, Sie legen das Attribut DefaultValue fest).

Das OutputClaimsTransformations-Element darf eine Sammlung von OutputClaimsTransformation-Elementen, die zum Ändern der Ausgabeansprüche oder zum Generieren neuer verwendet werden, enthalten.

Metadaten

attribute Erforderlich BESCHREIBUNG
Vorgang Ja Muss SendCode lauten.

Benutzeroberflächenelemente

Die folgenden Metadaten können verwendet werden, um die Fehlermeldungen zu konfigurieren, die bei einem SMS-Sendefehler angezeigt wird. Die Metadaten sollten im selbstbestätigten technischen Profil konfiguriert werden. Die Fehlermeldungen können lokalisiert werden.

attribute Erforderlich Beschreibung
UserMessageIfInternalError Nein Fehlermeldung für den Benutzer, wenn der Server einen internen Fehler festgestellt hat.
UserMessageIfThrottled Nein Fehlermeldung für den Benutzer, wenn eine Anforderung gedrosselt wurde.

Beispiel: Senden einer E-Mail

Das folgende Beispiel zeigt ein technisches Profil für die Microsoft Entra ID-Self-Service-Kennwortzurücksetzung, das verwendet wird, um einen Code per E-Mail zu senden.

<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 überprü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 Element InputClaims enthält eine Liste von Ansprüchen, die an die Microsoft Entra-Self-Service-Kennwortzurücksetzung gesendet werden sollen. Sie können auch den Namen Ihres Anspruchs dem im technischen SSPR-Profil definierten Namen zuordnen.

ClaimReferenceId Erforderlich Beschreibung
emailAddress Ja Die gleiche E-Mail-Adresse, die zuvor zum Senden eines Codes verwendet wurde. Wird auch für die Suche nach einer E-Mail-Überprüfungssitzung verwendet. Die Eigenschaft PartnerClaimType des Eingabeanspruchs muss auf emailAddress festgelegt werden.
verificationCode Ja Der vom zu überprüfenden Benutzer angegebene Prüfcode. Die Eigenschaft PartnerClaimType des Eingabeanspruchs muss auf verificationCode festgelegt werden.

Das Element InputClaimsTransformations enthält ggf. eine Sammlung von Elementen vom Typ InputClaimsTransformation, die vor dem Senden an den Microsoft Entra-SSPR-Dienst zum Ändern der Eingabeansprüche oder zum Generieren neuer Eingabeansprüche verwendet werden.

Ausgabeansprüche

Da vom Microsoft Entra-SSPR-Protokollanbieter keine Elemente vom Typ OutputClaims zurückgegeben werden, müssen auch keine Ausgabeansprüche angegeben werden. Sie können jedoch Ansprüche einschließen, die nicht vom Microsoft Entra-SSPR-Protokollanbieter zurückgegeben werden (vorausgesetzt, Sie legen das Attribut DefaultValue fest).

Das OutputClaimsTransformations-Element darf eine Sammlung von OutputClaimsTransformation-Elementen, die zum Ändern der Ausgabeansprüche oder zum Generieren neuer verwendet werden, enthalten.

Metadaten

attribute Erforderlich BESCHREIBUNG
Vorgang Ja Muss VerifyCode lauten.

Benutzeroberflächenelemente

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

attribute Erforderlich Beschreibung
UserMessageIfChallengeExpired Die Meldung, die dem Benutzer angezeigt werden soll, wenn die Codeüberprüfungssitzung abgelaufen ist. Der Code ist entweder abgelaufen oder wurde nie für einen bestimmten Bezeichner generiert.
UserMessageIfInternalError Fehlermeldung für den Benutzer, wenn der Server einen internen Fehler festgestellt hat.
UserMessageIfThrottled Fehlermeldung für den Benutzer, wenn eine Anforderung gedrosselt wurde.
UserMessageIfVerificationFailedNoRetry Die Meldung, die dem Benutzer angezeigt werden soll, wenn ein ungültiger Code angegeben wurde und der Benutzer keine Gelegenheit erhält, den richtigen Code anzugeben.
UserMessageIfVerificationFailedRetryAllowed Die Meldung, die dem Benutzer angezeigt werden soll, wenn ein ungültiger Code angegeben wurde und der Benutzer die Gelegenheit erhält, den richtigen Code anzugeben.

Beispiel: Überprüfen eines Codes

Das folgende Beispiel zeigt ein technisches Profil für die Microsoft Entra ID-Self-Service-Kennwortzurücksetzung, 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>