Erstellen und Lesen eines Benutzerkontos mithilfe einer benutzerdefinierten Azure Active Directory B2C-Richtlinie
Azure Active Directory B2C (Azure AD B2C) basiert auf Microsoft Entra ID und verwendet daher den Microsoft Entra ID-Speicher zum Speichern von Benutzerkonten. Das Benutzerprofil des Azure AD B2C-Verzeichnisses enthält einen integrierten Satz von Attributen, z. B. Vorname, Nachname, Ort, Postleitzahl und Telefonnummer, aber Sie können das Benutzerprofil um Ihre eigenen benutzerdefinierten Attribute erweitern, ohne dass ein externer Datenspeicher erforderlich ist.
Ihre benutzerdefinierte Richtlinie kann mithilfe des technischen Microsoft Entra ID-Profils eine Verbindung mit dem Microsoft Entra ID-Speicher herstellen, um Benutzerinformationen zu speichern, zu aktualisieren oder zu löschen. In diesem Artikel erfahren Sie, wie Sie eine Reihe von technischen Microsoft Entra ID-Profilen konfigurieren, um ein Benutzerkonto zu speichern und zu lesen, bevor ein JWT-Token zurückgegeben wird.
Beschreibung des Szenarios
Im Artikel Aufrufen einer REST-API mithilfe einer benutzerdefinierten Azure Active Directory B2C-Richtlinie haben wir Informationen von Benutzer*innen gesammelt, die Daten überprüft, eine REST-API aufgerufen und schließlich ein JWT zurückgegeben, ohne ein Benutzerkonto zu speichern. Wir müssen die Benutzerinformationen speichern, damit die Informationen nicht verloren gehen, nachdem die Richtlinie die Ausführung abgeschlossen hat. Nachdem wir diesmal die Benutzerinformationen erfasst und überprüft haben, müssen wir die Benutzerinformationen im Azure AD B2C-Speicher speichern und dann lesen, bevor wir das JWT-Token zurückgeben. Der vollständige Prozess ist im folgenden Diagramm dargestellt.
Voraussetzungen
Wenn Sie noch nicht über einen Azure AD B2C-Mandanten verfügen, erstellen Sie einen, der mit Ihrem Azure-Abonnement verknüpft ist.
Registrieren Sie eine Webanwendung, und aktivieren Sie die implizite Gewährung von ID-Token. Verwenden Sie https://jwt.ms für den Umleitungs-URI.
Auf Ihrem Computer muss Visual Studio Code (VS Code) installiert sein.
Führen Sie die Schritte aus in Aufrufen einer REST-API mithilfe einer benutzerdefinierten Azure Active Directory B2C-Richtlinie. Dieser Artikel ist Teil der Schrittanleitungsreihe „Erstellen und Ausführen Ihrer eigenen benutzerdefinierten Richtlinien“.
Hinweis
Dieser Artikel ist Teil der Schrittanleitungsreihe „Erstellen und Ausführen Ihrer eigenen benutzerdefinierten Richtlinien in Azure Active Directory B2C“. Wir empfehlen Ihnen, diese Reihe mit dem ersten Artikel zu beginnen.
Schritt 1 – Deklarieren von Ansprüchen
Sie müssen zwei weitere Ansprüche deklarieren, userPrincipalName
und passwordPolicies
:
Suchen Sie in der
ContosoCustomPolicy.XML
-Datei nach dem Element ClaimsSchema, und deklarieren SieuserPrincipalName
- undpasswordPolicies
-Ansprüche mithilfe des folgenden Codes:<ClaimType Id="userPrincipalName"> <DisplayName>UserPrincipalName</DisplayName> <DataType>string</DataType> <UserHelpText>Your user name as stored in the Azure Active Directory.</UserHelpText> </ClaimType> <ClaimType Id="passwordPolicies"> <DisplayName>Password Policies</DisplayName> <DataType>string</DataType> <UserHelpText>Password policies used by Azure AD to determine password strength, expiry etc.</UserHelpText> </ClaimType>
Weitere Informationen zu den Verwendungen der
userPrincipalName
- undpasswordPolicies
-Ansprüche finden Sie im Artikel Benutzerprofilattribute.
Schritt 2: Erstellen von technischen Microsoft Entra ID-Profilen
Sie müssen zwei technische Microsoft Entra ID-Profile konfigurieren. Ein technisches Profil schreibt Benutzerdetails in den Microsoft Entra ID-Speicher, das andere liest ein Benutzerkonto aus dem Microsoft Entra ID-Speicher.
Suchen Sie in der
ContosoCustomPolicy.XML
-Datei nach dem Element ClaimsProviders, und fügen Sie mithilfe des nachstehenden Codes einen neuen Anspruchsanbieter hinzu. Dieser Anspruchsanbieter enthält die technischen Microsoft Entra ID-Profile:<ClaimsProvider> <DisplayName>Azure AD Technical Profiles</DisplayName> <TechnicalProfiles> <!--You'll add you Azure AD Technical Profiles here--> </TechnicalProfiles> </ClaimsProvider>
Fügen Sie dem soeben erstellten Anspruchsanbieter mithilfe des folgenden Codes ein technisches Microsoft Entra ID-Profil hinzu:
<TechnicalProfile Id="AAD-UserWrite"> <DisplayName>Write user information to AAD</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="Operation">Write</Item> <Item Key="RaiseErrorIfClaimsPrincipalAlreadyExists">true</Item> <Item Key="UserMessageIfClaimsPrincipalAlreadyExists">The account already exists. Try to create another account</Item> </Metadata> <InputClaims> <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" Required="true" /> </InputClaims> <PersistedClaims> <PersistedClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" /> <PersistedClaim ClaimTypeReferenceId="displayName" /> <PersistedClaim ClaimTypeReferenceId="givenName" /> <PersistedClaim ClaimTypeReferenceId="surname" /> <PersistedClaim ClaimTypeReferenceId="password"/> <PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration,DisableStrongPassword" /> </PersistedClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="objectId" /> <OutputClaim ClaimTypeReferenceId="userPrincipalName" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" /> </OutputClaims> </TechnicalProfile>
Wir haben ein neues technisches Microsoft Entra ID-Profil namens
AAD-UserWrite
hinzugefügt. Wir müssen die folgenden wichtigen Teile des technischen Profils beachten:Vorgang: Der Vorgang gibt die auszuführende Aktion an, in diesem Fall Schreiben. Erfahren Sie mehr über andere Vorgänge in einem technischen Microsoft Entra ID-Anbieter.
Persistente Ansprüche: Das Element PersistedClaims enthält alle Werte, die im Microsoft Entra ID-Speicher gespeichert werden sollen.
InputClaims: Das Element InputClaims enthält einen Anspruch, der verwendet wird, um im Verzeichnis nach einem Konto zu suchen oder ein neues Konto zu erstellen. In der Auflistung der Eingabeansprüche für alle technischen Microsoft Entra ID-Profile muss genau ein Element „Eingabeanspruch“ vorhanden sein. Dieses technische Profil verwendet den E-Mail-Anspruch als Schlüsselbezeichner für das Benutzerkonto. Erfahren Sie mehr über andere Schlüsselbezeichner, die Sie verwenden können, um ein Benutzerkonto eindeutig zu identifizieren.
Suchen Sie in der
ContosoCustomPolicy.XML
-Datei nach dem technischenAAD-UserWrite
-Profil, und fügen Sie dann ein technisches Profil hinzu, indem Sie den folgenden Code verwenden:<TechnicalProfile Id="AAD-UserRead"> <DisplayName>Read user from Azure AD storage</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="Operation">Read</Item> <Item Key="RaiseErrorIfClaimsPrincipalAlreadyExists">false</Item> <Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">false</Item> </Metadata> <InputClaims> <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" Required="true" /> </InputClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="objectId" /> <OutputClaim ClaimTypeReferenceId="userPrincipalName" /> <OutputClaim ClaimTypeReferenceId="givenName"/> <OutputClaim ClaimTypeReferenceId="surname"/> <OutputClaim ClaimTypeReferenceId="displayName"/> </OutputClaims> </TechnicalProfile>
Wir haben ein neues technisches Microsoft Entra ID-Profil namens
AAD-UserRead
hinzugefügt. Wir haben dieses technische Profil so konfiguriert, dass es einen Lesevorgang ausführt und die AnsprücheobjectId
,userPrincipalName
,givenName
,surname
unddisplayName
zurückgibt, wenn ein Benutzerkonto mit dememail
imInputClaim
-Abschnitt gefunden wird.
Schritt 3: Verwenden des technischen Microsoft Entra ID-Profils
Nachdem wir Benutzerdetails mithilfe des selbstbestätigten technischen UserInformationCollector
-Profils erfasst haben, müssen wir mithilfe des technischen AAD-UserWrite
-Profils ein Benutzerkonto in den Microsoft Entra ID-Speicher schreiben. Verwenden Sie dazu das technische AAD-UserWrite
-Profil als technisches Validierungsprofil im selbstbestätigten technischen UserInformationCollector
-Profil.
Suchen Sie in der ContosoCustomPolicy.XML
-Datei nach dem technischen UserInformationCollector
-Profil, und fügen Sie dann ein technisches AAD-UserWrite
-Profil als technisches Validierungsprofil in der ValidationTechnicalProfiles
-Auflistung hinzu. Sie müssen dies nach dem technischen CheckCompanyDomain
-Validierungsprofil hinzufügen.
Wir verwenden das technische AAD-UserRead
-Profil in den Schritten zur Orchestrierung der User Journey, um die Benutzerdetails vor der Ausgabe eines JWT-Tokens zu lesen.
Schritt 4 – Aktualisieren des technischen ClaimGenerator-Profils
Wir verwenden das technische ClaimGenerator
-Profil, um drei Anspruchstransformationen auszuführen: GenerateRandomObjectIdTransformation, CreateDisplayNameTransformation und CreateMessageTransformation.
Suchen Sie in der
ContosoCustomPolicy.XML
-Datei nach dem technischenClaimGenerator
-Profil, und ersetzen Sie es durch den folgenden Code:<TechnicalProfile Id="UserInputMessageClaimGenerator"> <DisplayName>User Message Claim Generator Technical Profile</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <OutputClaims> <OutputClaim ClaimTypeReferenceId="message" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateMessageTransformation" /> </OutputClaimsTransformations> </TechnicalProfile> <TechnicalProfile Id="UserInputDisplayNameGenerator"> <DisplayName>Display Name Claim Generator Technical Profile</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <OutputClaims> <OutputClaim ClaimTypeReferenceId="displayName" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateDisplayNameTransformation" /> </OutputClaimsTransformations> </TechnicalProfile>
Wir haben das technische Profil in zwei separate technische Profile unterteilt. Das technische UserInputMessageClaimGenerator-Profil generiert die als Anspruch im JWT-Token gesendete Nachricht. Das technische UserInputDisplayNameGenerator-Profil generiert den
displayName
-Anspruch. DerdisplayName
-Anspruchswert muss verfügbar sein, bevor das technischeAAD-UserWrite
-Profil den Benutzerdatensatz in den Microsoft Entra ID-Speicher schreibt. Im neuen Code entfernen wir die GenerateRandomObjectIdTransformation, da dasobjectId
von Microsoft Entra ID erstellt und zurückgegeben wird, nachdem ein Konto erstellt wurde, sodass wir es nicht selbst innerhalb der Richtlinie generieren müssen.Suchen Sie in der
ContosoCustomPolicy.XML
-Datei nach dem technischenUserInformationCollector
-Profil, und fügen Sie dann das technischeUserInputDisplayNameGenerator
-Profil als technisches Validierungsprofil hinzu. Danach sollte dieValidationTechnicalProfiles
-Auflistung des technischenUserInformationCollector
-Profils ähnlich dem folgenden Code aussehen:<!--<TechnicalProfile Id="UserInformationCollector">--> <ValidationTechnicalProfiles> <ValidationTechnicalProfile ReferenceId="CheckCompanyDomain"> <Preconditions> <Precondition Type="ClaimEquals" ExecuteActionsIf="false"> <Value>accountType</Value> <Value>work</Value> <Action>SkipThisValidationTechnicalProfile</Action> </Precondition> </Preconditions> </ValidationTechnicalProfile> <ValidationTechnicalProfile ReferenceId="DisplayNameClaimGenerator"/> <ValidationTechnicalProfile ReferenceId="AAD-UserWrite"/> </ValidationTechnicalProfiles> <!--</TechnicalProfile>-->
Sie müssen das technische Validierungsprofil vor
AAD-UserWrite
hinzufügen, da derdisplayName
-Anspruchswert verfügbar sein muss, bevor das technischeAAD-UserWrite
-Profil den Benutzerdatensatz in den Microsoft Entra ID-Speicher schreibt.
Schritt 5 – Aktualisieren der Schritte zur Orchestrierung der User Journey
Suchen Sie Ihre HelloWorldJourney
-User Journey, und fügen Sie alle Orchestrierungsschritte mit dem folgenden Code hinzu:
<!--<OrchestrationSteps>-->
<OrchestrationStep Order="1" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="AccountTypeInputCollectorClaimsExchange" TechnicalProfileReferenceId="AccountTypeInputCollector"/>
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="GetAccessCodeClaimsExchange" TechnicalProfileReferenceId="AccessCodeInputCollector" />
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="3" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="GetUserInformationClaimsExchange" TechnicalProfileReferenceId="UserInformationCollector"/>
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="4" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="AADUserReaderExchange" TechnicalProfileReferenceId="AAD-UserRead"/>
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="5" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="GetMessageClaimsExchange" TechnicalProfileReferenceId="UserInputMessageClaimGenerator"/>
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="6" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer"/>
<!--</OrchestrationSteps>-->
Im Orchestrierungsschritt 4
führen wir das technische AAD-UserRead
-Profil aus, um die Benutzerdetails (die in das JWT-Token eingeschlossen werden sollen) aus dem erstellten Benutzerkonto zu lesen.
Da wir den message
-Anspruch im Orchestrierungsschritt 5
nicht speichern, führen wir den UserInputMessageClaimGenerator
aus, um den message
-Anspruch für die Aufnahme in das JWT-Token zu generieren.
Schritt 6 – Hochladen der Richtlinie
Führen Sie die Schritte unter Hochladen einer benutzerdefinierten Richtliniendatei aus, um Ihre Richtliniendatei hochzuladen. Wenn Sie eine Datei mit dem gleichen Namen wie eine Datei hochladen, die bereits im Portal vorhanden ist, stellen Sie sicher, dass Sie Überschreiben der benutzerdefinierten Richtlinie, sofern sie bereits vorhanden ist auswählen.
Schritt 7 – Testen der Richtlinie
Führen Sie die Schritte unter Testen der benutzerdefinierten Richtlinie aus, um Ihre benutzerdefinierte Richtlinie zu testen.
Nachdem die Richtlinie die Ausführung abgeschlossen hat und Sie Ihr ID-Token erhalten haben, überprüfen Sie, dass der Benutzerdatensatz erstellt wurde:
Melden Sie sich im Azure-Portal als Benutzer mit Berechtigungen der Rollen „Globaler Administrator“ oder „Administrator für privilegierte Rollen“ an.
Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C Mandanten zu wechseln.
Wählen Sie unter Azure-Dienste die Option Azure AD B2C aus. Oder verwenden Sie das Suchfeld, um nach Azure AD B2C zu suchen und diese Option auszuwählen.
Wählen Sie unter Verwalten die Option Benutzer aus.
Suchen Sie das soeben von Ihnen erstellte Benutzerkonto, und wählen Sie es aus. Das Kontoprofil sieht ähnlich aus wie im nachfolgenden Screenshot:
In unserem technischen Microsoft Entra ID-Profil AAD-UserWrite
geben wir an, dass wir eine Fehlermeldung auslösen, wenn der Benutzer oder die Benutzerin bereits vorhanden ist.
Testen Sie Ihre benutzerdefinierte Richtlinie erneut, indem Sie dieselbe Email Adresseverwenden. Anstatt dass die Richtlinie bis zum Abschluss ausgeführt wird, um ein ID-Token auszugeben, sollten Sie eine Fehlermeldung ähnlich dem folgenden Screenshot sehen.
Hinweis
Der Kennwort-Anspruchswert ist eine sehr wichtige Information, seien Sie also sehr vorsichtig, wie Sie ihn in Ihrer benutzerdefinierten Richtlinie behandeln. Aus einem ähnlichen Grund behandelt Azure AD B2C den Kennwortanspruchswert als einen besonderen Wert. Wenn Sie den Kennwortanspruchswert im selbstbestätigten technischen Profil sammeln, ist dieser Wert nur innerhalb desselben technischen Profils oder innerhalb eines technischen Validierungsprofils verfügbar, auf welches dasselbe selbstbestätigte technische Profil verweist. Sobald die Ausführung dieses selbstbestätigten technischen Profils abgeschlossen ist und zu einem anderen technischen Profil wechselt, geht der Wert verloren.
E-Mail-Adresse des Benutzers überprüfen
Es wird empfohlen, die E-Mail-Adresse eines Benutzers zu überprüfen, bevor Sie diese zum Erstellen eines Benutzerkontos verwenden. Wenn Sie E-Mail-Adressen überprüfen, stellen Sie sicher, dass die Konten von echten Benutzern erstellt wurden. Sie helfen Benutzern auch dabei, sicher zu sein, dass sie ihre richtigen E-Mail-Adressen verwenden, um ein Konto zu erstellen.
Die benutzerdefinierte Richtlinie von Azure AD B2C bietet eine Möglichkeit, die E-Mail-Adresse mithilfe des Anzeigesteuerelements zur Überprüfung zu überprüfen. Sie senden einen Prüfcode an die E-Mail-Adresse. Nachdem der Code gesendet wurde, liest der Benutzer die Nachricht, gibt den Prüfcode in das vom Anzeigesteuerelement bereitgestellte Steuerelement ein und wählt die Schaltfläche Code überprüfen aus.
Ein Anzeigesteuerelement ist ein Benutzeroberflächenelement mit spezieller Funktionalität, das mit dem Back-End-Dienst von Azure Active Directory B2C (Azure AD B2C) interagiert. Es ermöglicht dem Benutzer das Durchführen von Aktionen auf der Seite, die ein technisches Validierungsprofil auf dem Back-End aufrufen. Anzeigesteuerelemente werden auf der Seite angezeigt, und ein selbstbestätigtes technisches Profil verweist auf diese.
Führen Sie die folgenden Schritte aus, um die E-Mail-Überprüfung mithilfe eines Anzeigesteuerelements hinzuzufügen:
Anspruch deklarieren
Sie müssen einen Anspruch deklarieren, der zum Halten des Prüfcodes verwendet werden soll.
Um den Anspruch zu deklarieren, suchen Sie in der ContosoCustomPolicy.XML
-Datei nach dem ClaimsSchema
-Element, und deklarieren Sie den verificationCode
-Anspruch mithilfe des folgenden Codes:
<!--<ClaimsSchema>-->
...
<ClaimType Id="verificationCode">
<DisplayName>Verification Code</DisplayName>
<DataType>string</DataType>
<UserHelpText>Enter your verification code</UserHelpText>
<UserInputType>TextBox</UserInputType>
</ClaimType>
<!--</ClaimsSchema>-->
Konfigurieren eines technischen Profils zum Senden und Überprüfen von Code
Azure AD B2C verwendet das technische Microsoft Entra ID-Profil für die Self-Service-Kennwortzurücksetzung, um eine E-Mail-Adresse zu überprüfen. Dieses technische Profil kann einen Code generieren und an eine E-Mail-Adresse senden, oder es überprüft den Code, je nachdem, wie Sie es konfigurieren.
Suchen Sie in der ContosoCustomPolicy.XML
-Datei nach dem ClaimsProviders
-Element, und fügen Sie den Anspruchsanbieter mithilfe des folgenden Codes hinzu:
<ClaimsProvider>
<DisplayName>Azure AD self-service password reset (SSPR)</DisplayName>
<TechnicalProfiles>
<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>
<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" />
<InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress" />
</InputClaims>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Wir haben zwei technische Profile AadSspr-SendCode
und AadSspr-VerifyCode
konfiguriert. AadSspr-SendCode
generiert und sendet einen Code an die im InputClaims
-Abschnitt angegebene E-Mail-Adresse, während AadSspr-VerifyCode
den Code überprüft. Sie geben die Aktion, die Sie ausführen möchten, in den Metadaten des technischen Profils an.
Konfigurieren eines Anzeigesteuerelements
Sie müssen ein Anzeigesteuerelement für die E-Mail-Überprüfung konfigurieren, um die E-Mail-Adressen von Benutzern überprüfen zu können. Das von Ihnen konfigurierte Anzeigesteuerelement für die E-Mail-Überprüfung ersetzt den E-Mail-Anzeigeanspruch, den Sie zum Sammeln einer E-Mail-Adresse vom Benutzer verwenden.
Führen Sie zum Konfigurieren eines Anzeigesteuerelements die folgenden Schritte aus:
Suchen Sie in der
ContosoCustomPolicy.XML
-Datei nach demBuildingBlocks
-Abschnitt, und fügen Sie dann mithilfe des folgenden Codes ein Anzeigesteuerelement als untergeordnetes Element hinzu:<!--<BuildingBlocks>--> .... <DisplayControls> <DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl"> <DisplayClaims> <DisplayClaim ClaimTypeReferenceId="email" Required="true" /> <DisplayClaim ClaimTypeReferenceId="verificationCode" ControlClaimType="VerificationCode" Required="true" /> </DisplayClaims> <OutputClaims></OutputClaims> <Actions> <Action Id="SendCode"> <ValidationClaimsExchange> <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendCode" /> </ValidationClaimsExchange> </Action> <Action Id="VerifyCode"> <ValidationClaimsExchange> <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-VerifyCode" /> </ValidationClaimsExchange> </Action> </Actions> </DisplayControl> </DisplayControls> <!--</BuildingBlocks>-->
Wir haben ein Anzeigesteuerelement
emailVerificationControl
deklariert. Beachten Sie folgende wichtigen Teile:DisplayClaims – Genau wie in einem selbstbestätigten technischen Profil gibt dieser Abschnitt eine Auflistung von Ansprüchen an, die vom Benutzer innerhalb des Anzeigesteuerelements gesammelt werden sollen.
Aktionen – Gibt die Reihenfolge der Aktionen an, die vom Anzeigesteuerelement ausgeführt werden sollen. Jede Aktion verweist auf ein technisches Profil, das für die Ausführung der Aktionen verantwortlich ist. Beispielsweise verweist SendCode auf das technische
AadSspr-SendCode
-Profil, das einen Code generiert und an eine E-Mail-Adresse sendet.
Suchen Sie in der
ContosoCustomPolicy.XML
-Datei nach dem selbstbestätigten technischenUserInformationCollector
-Profil, und ersetzen Sie den E-Mail-Anzeigeanspruch durch dieemailVerificationControl
-Anzeigesteuerung:Von:
<DisplayClaim ClaimTypeReferenceId="email" Required="true"/>
Nach:
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
Verwenden Sie das Verfahren in Schritt 6 und Schritt 7, um Ihre Richtlinie hochzuladen und auszuführen. Dieses Mal müssen Sie Ihre E-Mail-Adresse überprüfen, bevor ein Benutzerkonto erstellt wird.
Aktualisieren des Benutzerkontos mithilfe des technischen Microsoft Entra ID-Profils
Sie können ein technisches Microsoft Entra ID-Profil so konfigurieren, dass ein Benutzerkonto aktualisiert wird, anstatt zu versuchen, ein neues zu erstellen. Legen Sie hierzu das technische Microsoft Entra ID-Profil so fest, dass ein Fehler ausgelöst wird, wenn das angegebene Benutzerkonto nicht bereits in der Metadata
-Auflistung vorhanden ist. Verwenden Sie dazu den folgenden Code. Der Vorgang muss auf Schreiben festgelegt werden:
<Item Key="Operation">Write</Item>
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
Verwenden von benutzerdefinierten Attributen
In diesem Artikel haben Sie erfahren, wie Sie Benutzerdetails mithilfe integrierter Benutzerprofilattribute speichern. Sie müssen jedoch oftmals für die Verwaltung Ihres spezifischen Szenarios Ihre eigenen benutzerdefinierten Attribute erstellen. Befolgen Sie dazu die Anweisungen im Artikel Definieren von benutzerdefinierten Attributen in Azure Active Directory B2C.
Nächste Schritte
Erfahren Sie, wie Sie einen Registrierungs- und Anmeldeflow für ein lokales Konto mithilfe einer benutzerdefinierten Azure Active Directory B2C-Richtlinie einrichten.
Erfahren Sie, wie Sie benutzerdefinierte Attribute in Ihrer benutzerdefinierten Richtlinie definieren.
Erfahren Sie, wie Sie der benutzerdefinierten Richtlinie den Kennwortablauf hinzufügen.
Erfahren Sie mehr über das technische Microsoft Entra ID-Profil.