Azure Active Directory B2C özel ilkesini kullanarak kullanıcı hesabı oluşturma ve okuma

Azure Active Directory B2C (Azure AD B2C), Microsoft Entra Id üzerine kurulmuştur ve bu nedenle kullanıcı hesaplarını depolamak için Microsoft Entra ID depolamayı kullanır. Azure AD B2C dizin kullanıcı profili, verilen ad, soyadı, şehir, posta kodu ve telefon numarası gibi yerleşik bir öznitelik kümesiyle birlikte gelir, ancak dış veri deposuna gerek kalmadan kullanıcı profilini kendi özel özniteliklerinizle genişletebilirsiniz.

Özel ilkeniz, kullanıcı bilgilerini depolamak, güncelleştirmek veya silmek için Microsoft Entra ID teknik profilini kullanarak Microsoft Entra ID depolamaya bağlanabilir. Bu makalede, JWT belirteci döndürülmeden önce bir kullanıcı hesabını depolamak ve okumak için bir dizi Microsoft Entra ID teknik profili yapılandırmayı öğreneceksiniz.

Senaryoya genel bakış

Azure Active Directory B2C özel ilke makalesini kullanarak REST API çağırma makalesinde kullanıcıdan bilgi toplar, verileri doğrular, REST API olarak adlandırılır ve son olarak kullanıcı hesabını depolamadan bir JWT döndürürdük. İlke yürütmeyi tamamladıktan sonra bilgileri kaybetmemek için kullanıcı bilgilerini depolamamız gerekir. Bu kez kullanıcı bilgilerini toplayıp doğruladıktan sonra kullanıcı bilgilerini Azure AD B2C depolama alanında depolamamız ve JWT belirtecini döndürmeden önce okumamız gerekir. İşlemin tamamı aşağıdaki diyagramda gösterilmiştir.

A flowchart of creating a user account in Azure AD.

Ön koşullar

Dekont

Bu makale, Azure Active Directory B2C'de kendi özel ilkelerinizi oluşturma ve çalıştırma nasıl yapılır kılavuzu serisinin bir parçasıdır. Bu seriyi ilk makaleden başlatmanızı öneririz.

1. Adım - Beyanları bildirme

ve olmak üzere iki talep userPrincipalNamepasswordPoliciesdaha bildirmeniz gerekir:

  1. ContosoCustomPolicy.XML dosyasında ClaimsSchema öğesini bulun ve aşağıdaki kodu kullanarak ve passwordPolicies beyanlarını bildirinuserPrincipalName:

        <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>
    

    Kullanıcı profili öznitelikleri makalesinde ve passwordPolicies taleplerinin userPrincipalName kullanımları hakkında daha fazla bilgi edinin.

2. Adım - Microsoft Entra ID teknik profilleri oluşturma

İki Microsoft Entra Id teknik profili yapılandırmanız gerekir. Teknik profillerden biri kullanıcı ayrıntılarını Microsoft Entra ID depolama alanına, diğeri ise Microsoft Entra ID depolama alanından bir kullanıcı hesabını okur.

  1. ContosoCustomPolicy.XML dosyasında ClaimsProviders öğesini bulun ve aşağıdaki kodu kullanarak yeni bir talep sağlayıcısı ekleyin. Bu talep sağlayıcısı Microsoft Entra Id teknik profillerini barındırıyor:

        <ClaimsProvider>
            <DisplayName>Azure AD Technical Profiles</DisplayName>
            <TechnicalProfiles>
                <!--You'll add you Azure AD Technical Profiles here-->
            </TechnicalProfiles>
        </ClaimsProvider>
    
  2. Yeni oluşturduğunuz talep sağlayıcısına aşağıdaki kodu kullanarak bir Microsoft Entra ID teknik profili ekleyin:

        <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>
    

    Yeni bir Microsoft Entra Id teknik profili ekledik. AAD-UserWrite Teknik profilin aşağıdaki önemli bölümlerini not almanız gerekir:

    • İşlem: İşlem, gerçekleştirilecek eylemi belirtir( bu örnekte, Yazma). Microsoft Entra ID teknik sağlayıcısındaki diğer işlemler hakkında daha fazla bilgi edinin.

    • Kalıcı talepler: PersistedClaims öğesi, Microsoft Entra Id depolamada depolanması gereken tüm değerleri içerir.

    • InputClaims: InputClaims öğesi, dizinde bir hesap aramak veya yeni bir hesap oluşturmak için kullanılan bir talep içerir. Tüm Microsoft Entra Id teknik profilleri için giriş talepleri koleksiyonunda tam olarak bir giriş talep öğesi olmalıdır. Bu teknik profil, kullanıcı hesabının anahtar tanımlayıcısı olarak e-posta talebi kullanır. Bir kullanıcı hesabını benzersiz olarak tanımlamak için kullanabileceğiniz diğer anahtar tanımlayıcıları hakkında daha fazla bilgi edinin.

  3. ContosoCustomPolicy.XML Dosyasında teknik profili bulun AAD-UserWrite ve ardından aşağıdaki kodu kullanarak arkasına yeni bir teknik profil ekleyin:

        <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>
    

    Yeni bir Microsoft Entra Id teknik profili ekledik. AAD-UserRead Bu teknik profili bir okuma işlemi gerçekleştirecek ve bölümünde bulunan emailInputClaim bir kullanıcı hesabı bulunursa , givenNameuserPrincipalName, surname ve displayName taleplerini döndürecek objectIdşekilde yapılandırdık.

3. Adım - Microsoft Entra Id teknik profilini kullanma

Kendi kendine onaylanan teknik profili kullanarak UserInformationCollector kullanıcı ayrıntılarını topladıktan sonra, teknik profili kullanarak Microsoft Entra ID depolama alanına AAD-UserWrite bir kullanıcı hesabı yazmamız gerekir. Bunu yapmak için, kendi kendine onaylanan teknik profilde UserInformationCollector doğrulama teknik profili olarak teknik profili kullanınAAD-UserWrite.

ContosoCustomPolicy.XML dosyasında teknik profili bulun UserInformationCollector ve ardından teknik profili koleksiyona ValidationTechnicalProfiles doğrulama teknik profili olarak ekleyinAAD-UserWrite. Bunu doğrulama teknik profilinden CheckCompanyDomain sonra eklemeniz gerekir.

JWT belirteci AAD-UserRead vermeden önce kullanıcı ayrıntılarını okumak için kullanıcı yolculuğu düzenleme adımlarında teknik profili kullanacağız.

4. Adım - ClaimGenerator teknik profilini güncelleştirme

GenerateRandomObjectIdTransformation, CreateDisplayNameTransformation ve CreateMessageTransformation olmak üzere üç talep dönüştürmesi yürütmek için teknik profili kullanırızClaimGenerator.

  1. ContosoCustomPolicy.XML dosyasında teknik profili bulun ClaimGenerator ve aşağıdaki kodla değiştirin:

        <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>
    

    Teknik profili iki ayrı teknik profile bölmüş olduk. UserInputMessageClaimGenerator teknik profili, JWT belirtecinde talep olarak gönderilen iletiyi oluşturur. UserInputDisplayNameGenerator teknik profili talebi oluştururdisplayName. Teknik displayName profil kullanıcı kaydını Microsoft Entra ID depolama alanına yazmadan önce AAD-UserWrite talep değerinin kullanılabilir olması gerekir. Yeni kodda, bir hesap oluşturulduktan sonra Microsoft Entra Kimliği tarafından oluşturulur ve döndürülürken GenerateRandomObjectIdTransformation'ıobjectId kaldırırız, bu nedenle ilke içinde kendimiz oluşturmamız gerekmez.

  2. ContosoCustomPolicy.XML Dosyasında, kendi kendine onaylanan teknik profili bulun UserInformationCollector ve ardından teknik profili doğrulama teknik profili olarak ekleyinUserInputDisplayNameGenerator. Bunu yaptıktan sonra, teknik profilin UserInformationCollectorValidationTechnicalProfiles koleksiyonu aşağıdaki koda benzer görünmelidir:

        <!--<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>-->
    

    Teknik profilin kullanıcı kaydını Microsoft Entra ID depolama alanına yazmadan önce talep değerinin kullanılabilir olması gerektiğinden AAD-UserWrite doğrulama teknik profilini eklemeniz AAD-UserWritedisplayName gerekir.

5. Adım - Kullanıcı yolculuğu düzenleme adımlarını güncelleştirme

Kullanıcı yolculuğunuzu HelloWorldJourney bulun ve tüm düzenleme adımlarını aşağıdaki kodla değiştirin:

    <!--<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>-->

Düzenleme adımında 4, oluşturulan kullanıcı hesabından AAD-UserRead kullanıcı ayrıntılarını (JWT belirtecine dahil edilecek) okumak için teknik profili yürüteceğiz.

Talebi depolamadığımız message için düzenleme adımında 5JWT belirtecine UserInputMessageClaimGenerator eklenmesi için talebi oluşturmak message üzere dosyasını yürütüriz.

6. Adım - İlkeyi karşıya yükleme

İlke dosyanızı karşıya yüklemek için Özel ilke dosyasını karşıya yükleme bölümünde yer alan adımları izleyin. Portalda bulunan dosyayla aynı ada sahip bir dosyayı karşıya yüklüyorsanız, zaten varsa Özel ilkenin üzerine yaz'ı seçtiğinizden emin olun.

7. Adım - Test ilkesi

Özel ilkenizi test etmek için Özel ilkeyi test etme'deki adımları izleyin.

İlke yürütmeyi tamamladıktan ve kimlik belirtecinizi aldıktan sonra kullanıcı kaydının oluşturulup oluşturulmadığını denetleyin:

  1. Azure portalında Genel Yönetici istrator veya Privileged Role Yönetici istrator izinleriyle oturum açın.

  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.

  3. Azure hizmetleri'nin altında Azure AD B2C'yi seçin. Azure AD B2C'yi bulmak ve seçmek için arama kutusunu da kullanabilirsiniz.

  4. Yönet bölümünde Kullanıcılar'ı seçin.

  5. Yeni oluşturduğunuz kullanıcı hesabını bulun ve seçin. Hesap profili aşağıdaki ekran görüntüsüne benzer:

    A screenshot of creating a user account in Azure AD.

Microsoft Entra Id teknik profilimizde AAD-UserWrite , kullanıcı zaten varsa bir hata iletisi oluşturmamızı belirtiriz.

Aynı E-posta Adresini kullanarak özel ilkenizi yeniden test edin. Kimlik belirteci vermek için tamamlanmaya kadar yürütülen ilke yerine aşağıdaki ekran görüntüsüne benzer bir hata iletisi görmeniz gerekir.

A screenshot of error as account already exists.

Dekont

Parola talep değeri çok önemli bir bilgi parçasıdır, bu nedenle özel ilkenizde nasıl işlediğinize çok dikkat edin. Benzer bir nedenle, Azure AD B2C parola talep değerini özel bir değer olarak değerlendirir. Kendi kendine onaylanan teknik profilde parola talep değerini topladığınızda, bu değer yalnızca aynı teknik profilde veya kendi kendine onaylanan aynı teknik profil tarafından başvuruda bulunulan doğrulama teknik profillerinde kullanılabilir. Kendi kendine onaylanan bu teknik profilin yürütülmesi tamamlandıktan ve başka bir teknik profile geçtikten sonra değer kaybolur.

Kullanıcı e-posta adresini doğrulama

Kullanıcı hesabı oluşturmak için kullanmadan önce kullanıcının e-postasını doğrulamanızı öneririz. E-posta adreslerini doğruladığınızda, hesapların gerçek kullanıcılar tarafından oluşturulduğundan emin olursunuz. Ayrıca, kullanıcıların hesap oluşturmak için doğru e-posta adreslerini kullandıklarında emin olmalarına da yardımcı olursunuz.

Azure AD B2C'nin özel ilkesi, doğrulama görüntüleme denetimini kullanarak e-posta adresini doğrulamanın bir yolunu sağlar. E-postaya bir doğrulama kodu gönderirsiniz. Kod gönderildikten sonra kullanıcı iletiyi okur, doğrulama kodunu görüntüleme denetimi tarafından sağlanan denetime girer ve Kodu Doğrula düğmesini seçer.

Görüntüleme denetimi, özel işlevlere sahip olan ve Azure Active Directory B2C (Azure AD B2C) arka uç hizmetiyle etkileşim kuran bir kullanıcı arabirimi öğesidir. Kullanıcının sayfada arka uçta doğrulama teknik profili çağıran eylemler gerçekleştirmesine olanak tanır. Görüntüleme denetimleri sayfada görüntülenir ve kendinden onaylanan bir teknik profil tarafından başvurulur.

Görüntüleme denetimi kullanarak e-posta doğrulaması eklemek için aşağıdaki adımları kullanın:

Talep bildirme

Doğrulama kodunu tutmak için kullanılacak bir talep bildirmeniz gerekir.

Talebi bildirmek için dosyasında ContosoCustomPolicy.XML öğesini bulun ClaimsSchema ve aşağıdaki kodu kullanarak talebi bildirin verificationCode :

    <!--<ClaimsSchema>-->
        ...
        <ClaimType Id="verificationCode">
            <DisplayName>Verification Code</DisplayName>
            <DataType>string</DataType>
            <UserHelpText>Enter your verification code</UserHelpText>
            <UserInputType>TextBox</UserInputType>
        </ClaimType>
    <!--</ClaimsSchema>-->

Kod gönderme ve doğrulama teknik profilini yapılandırma

Azure AD B2C, e-posta adresini doğrulamak için Microsoft Entra ID SSPR teknik profilini kullanır. Bu teknik profil bir e-posta adresine kod oluşturup gönderebilir veya kodu nasıl yapılandırdığınıza bağlı olarak doğrular.

ContosoCustomPolicy.XML dosyasında öğesini bulun ClaimsProviders ve aşağıdaki kodu kullanarak talep sağlayıcısını ekleyin:

    <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>

ve şeklinde iki teknik profil AadSspr-SendCodeAadSspr-VerifyCodeyapılandırdık. AadSspr-SendCode bölümünde belirtilen InputClaims e-posta adresine bir kod oluşturur ve gönderirken AadSspr-VerifyCode kodu doğrular. Gerçekleştirmek istediğiniz eylemi teknik profilin meta verilerinde belirtirsiniz.

Görüntüleme denetimini yapılandırma

Kullanıcıların e-postalarını doğrulayabilmek için bir e-posta doğrulama görüntüleme denetimi yapılandırmanız gerekir. Yapılandırdığınız e-posta doğrulama görüntüleme denetimi, kullanıcıdan e-posta toplamak için kullandığınız e-posta görüntüleme talebiyle değiştirilir.

Bir görüntüleme denetimini yapılandırmak için aşağıdaki adımları kullanın:

  1. ContosoCustomPolicy.XML dosyasında bölümünü bulun BuildingBlocks ve aşağıdaki kodu kullanarak bir görüntüleme denetimini alt öğe olarak ekleyin:

        <!--<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>-->
    

    Bir görüntü denetimi bildirdik. emailVerificationControl Aşağıdaki önemli bölümleri not alın:

    • DisplayClaims - Kendi kendine onaylanan bir teknik profilde olduğu gibi, bu bölüm de görüntü denetimindeki kullanıcıdan toplanacak talep koleksiyonunu belirtir.

    • Eylemler - Görüntüleme denetimi tarafından gerçekleştirilecek eylemlerin sırasını belirtir. Her eylem, eylemleri gerçekleştirmek için sorumlu olan bir teknik profile başvurur. Örneğin, SendCode teknik profile başvurur AadSspr-SendCode ve bir e-posta adresine kod oluşturur ve gönderir.

  2. ContosoCustomPolicy.XML Dosyasında, kendi kendine onaylanan teknik profili bulun UserInformationCollector ve denetimi görüntülemek için e-posta görüntüleme iddiasını emailVerificationControldeğiştirin:

    Gönderen:

        <DisplayClaim ClaimTypeReferenceId="email" Required="true"/>
    

    Hedef:

        <DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
    
  3. İlke dosyanızı karşıya yüklemek ve test etmek için 6. ve 7. adımdaki yordamı kullanın. Bu kez, bir kullanıcı hesabı oluşturulmadan önce e-posta adresinizi doğrulamanız gerekir.

Microsoft Entra Id teknik profilini kullanarak kullanıcı hesabını güncelleştirme

Microsoft Entra Id teknik profilini, yeni bir hesap oluşturmaya çalışmak yerine bir kullanıcı hesabını güncelleştirmek üzere yapılandırabilirsiniz. Bunu yapmak için, aşağıdaki kodu kullanarak belirtilen kullanıcı hesabı koleksiyonda Metadata zaten yoksa Microsoft Entra Id teknik profilini hata oluşturacak şekilde ayarlayın. İşlemin Yazma olarak ayarlanması gerekir:

    <Item Key="Operation">Write</Item>
    <Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>

Özel öznitelikler kullanma

Bu makalede, yerleşik kullanıcı profili özniteliklerini kullanarak kullanıcı ayrıntılarını depolamayı öğrendiniz. Ancak, belirli senaryonuzu yönetmek için genellikle kendi özel özniteliklerinizi oluşturmanız gerekir. Bunu yapmak için Azure Active Directory B2C'de özel öznitelikleri tanımlama makalesindeki yönergeleri izleyin.

Sonraki adımlar