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>