Azure Active Directory B2C'de özel öznitelikleri tanımlama

Başlamadan önce, ayarladığınız ilke türünü seçmek için İlke türü seçin seçicisini kullanın. Azure Active Directory B2C, kullanıcıların uygulamalarınızla nasıl etkileşim kurduğunu tanımlamak için iki yöntem sunar: önceden tanımlanmış kullanıcı akışları veya tam olarak yapılandırılabilir özel ilkeler aracılığıyla. Bu makalede gerekli adımlar her yöntem için farklıdır.

Özel ilkeler kullanarak talep ekleme ve kullanıcı girişini özelleştirme makalesinde, yerleşik kullanıcı profili özniteliklerini kullanmayı öğrenirsiniz. Bu makalede, Azure Active Directory B2C (Azure AD B2C) dizininizde özel bir özniteliği etkinleştirebilirsiniz. Daha sonra, yeni özniteliği kullanıcı akışlarında veya özel ilkelerde aynı anda özel talep olarak kullanabilirsiniz.

Azure AD B2C dizininizde yerleşik öznitelikler bulunur. Ancak, belirli senaryonuzu yönetmek için genellikle kendi özniteliklerinizi oluşturmanız gerekir, örneğin:

  • Müşteriye yönelik bir uygulamanın bir loyaltyId özniteliğini kalıcı hale getirmek gerekir.
  • Kimlik sağlayıcısının kalıcı olması gereken benzersiz bir kullanıcı tanımlayıcısı (uniqueUserGUID) vardır.
  • Özel bir kullanıcı yolculuğunun, diğer mantığın üzerinde çalışması için migrationStatus adlı kullanıcının durumunu kalıcı hale getirmek gerekir.

Uzantı özelliği, özel özniteliği ve özel talep terimleri, bu makale bağlamında aynı şeyi ifade eder. Ad, uygulamaya, nesneye veya ilkeye bağlı olarak değişir.

Azure AD B2C, her kullanıcı hesabında depolanan öznitelik kümesini genişletmenize olanak tanır. Ayrıca Microsoft Graph API'sini kullanarak bu öznitelikleri okuyabilir ve yazabilirsiniz.

Ön koşullar

Özel öznitelik oluşturma

  1. Azure portalda Azure AD B2C kiracınızın genel yöneticisi olarak 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 portalın sol üst köşesinde Tüm hizmetler’i seçin ve Azure AD B2C’yi arayıp seçin.
  4. Kullanıcı öznitelikleri'ni ve ardından Ekle'yi seçin.
  5. Özel öznitelik için bir Ad sağlayın (örneğin, "ShoeSize")
  6. Bir Veri Türü seçin. Yalnızca Dize, Boole ve Int kullanılabilir.
  7. İsteğe bağlı olarak, bilgilendirme amacıyla bir Açıklama girin.
  8. Create'u seçin.

Özel öznitelik artık Kullanıcı öznitelikleri listesinde ve kullanıcı akışlarınızda kullanılabilir. Özel öznitelik, kullanıcı öznitelikleri listesine eklediğinizde değil, yalnızca herhangi bir kullanıcı akışında ilk kez kullanıldığında oluşturulur.

Kullanıcı akışınızda özel öznitelik kullanma

  1. Azure AD B2C kiracınızda Kullanıcı akışları'yı seçin.
  2. İlkenizi (örneğin, "B2C_1_SignupSignin") seçerek açın.
  3. Kullanıcı öznitelikleri'ni ve ardından özel özniteliği (örneğin, "ShoeSize") seçin. Kaydet'i seçin.
  4. Uygulama talepleri'ni ve ardından özel özniteliği seçin.
  5. Kaydet'i seçin.

Kullanıcı akışını kullanarak yeni bir kullanıcı oluşturduktan sonra, müşteri deneyimini doğrulamak için kullanıcı akışında Kullanıcı akışını çalıştır özelliğini kullanabilirsiniz. Şimdi kayıt yolculuğu sırasında toplanan öznitelikler listesinde ShoeSize ifadesini ve uygulamanıza geri gönderilen belirteçte görmeniz gerekir.

Azure AD B2C uzantıları uygulaması

Uzantı öznitelikleri, bir kullanıcı için veri içerse bile yalnızca bir uygulama nesnesine kaydedilebilir. uzantı özniteliği adlı b2c-extensions-appuygulamaya eklenir. Azure AD B2C tarafından kullanıcı verilerini depolamak için kullanıldığından bu uygulamayı değiştirmeyin. Bu uygulamayı Azure AD B2C, uygulama kayıtları altında bulabilirsiniz.

Uzantılar uygulamasının uygulama kimliğini alma

  1. Azure Portal 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. Soldaki menüden Azure AD B2C'yi seçin. Ya da Tüm hizmetler'i seçip Azure AD B2C'yi arayıp seçin.
  4. Uygulama kayıtları'ı ve ardından Tüm uygulamalar'ı seçin.
  5. b2c-extensions-app. Do not modify. Used by AADB2C for storing user data. uygulamasını seçin.
  6. Uygulama kimliği kopyalayın. Örnek: 11111111-1111-1111-1111-111111111111.

Uzantılar uygulamasının uygulama özelliklerini alma

  1. Azure Portal 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. Soldaki menüden Azure AD B2C'yi seçin. Ya da Tüm hizmetler'i seçip Azure AD B2C'yi arayıp seçin.
  4. Uygulama kayıtları'ı ve ardından Tüm uygulamalar'ı seçin.
  5. b2c-extensions-app öğesini seçin. Değiştirmeyin. AADB2C tarafından kullanıcı verilerini depolamak için kullanılır. Uygulama.
  6. Aşağıdaki tanımlayıcıları panonuza kopyalayın ve kaydedin:
    • Uygulama kimliği. Örnek: 11111111-1111-1111-1111-111111111111.
    • Nesne Kimliği. Örnek: 22222222-2222-2222-2222-222222222222.

Özel ilkenizi değiştirme

İlkenizde özel öznitelikleri etkinleştirmek için AAD-Common teknik profil meta verilerinde Uygulama Kimliği ve Uygulama Nesne Kimliği sağlayın. AAD-Common* teknik profili temel Microsoft Entra ID teknik profilinde bulunur ve Microsoft Entra kullanıcı yönetimi için destek sağlar. Diğer Microsoft Entra Id teknik profilleri, yapılandırmasını kullanmak için AAD-Common'ı içerir. Uzantı dosyasındaki AAD-Common teknik profilini geçersiz kılın.

  1. İlkenizin uzantılar dosyasını açın. Örneğin, SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  2. ClaimsProviders öğesini bulun. ClaimsProviders öğesine yeni bir ClaimsProvider ekleyin.

  3. Daha önce kaydettiğiniz Uygulama Kimliğini açma <Item Key="ClientId"> ve kapatma </Item> öğelerinin arasına ekleyin.

  4. Daha önce kaydettiğiniz Application ObjectID değerini açma <Item Key="ApplicationObjectId"> ve kapatma </Item> öğelerinin arasına ekleyin.

    <!-- 
    <ClaimsProviders> -->
      <ClaimsProvider>
        <DisplayName>Azure Active Directory</DisplayName>
        <TechnicalProfiles>
          <TechnicalProfile Id="AAD-Common">
            <Metadata>
              <!--Insert b2c-extensions-app application ID here, for example: 11111111-1111-1111-1111-111111111111-->  
              <Item Key="ClientId"></Item>
              <!--Insert b2c-extensions-app application ObjectId here, for example: 22222222-2222-2222-2222-222222222222-->
              <Item Key="ApplicationObjectId"></Item>
            </Metadata>
          </TechnicalProfile>
        </TechnicalProfiles> 
      </ClaimsProvider>
    <!-- 
    </ClaimsProviders> -->
    

Özel ilkenizi karşıya yükleme

  1. Azure Portal 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 portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Uygulama kayıtları arayıp seçin.
  4. Kimlik Deneyimi Çerçevesi'ne tıklayın.
  5. Özel İlkeyi Karşıya Yükle'yi seçin ve değiştirdiğiniz TrustFrameworkExtensions.xml ilke dosyalarını karşıya yükleyin.

Dekont

Microsoft Entra Id teknik profili, talebi dizinde ilk kez kalıcı hale geldiğinde, özel özniteliğin var olup olmadığını denetler. Aksi takdirde özel özniteliği oluşturur.

Azure portalı aracılığıyla özel öznitelik oluşturma

Yerleşik ve özel ilkeler arasında aynı uzantı öznitelikleri paylaşılır. Portal deneyimi aracılığıyla özel öznitelikler eklediğinizde, bu öznitelikler her B2C kiracısında bulunan b2c-extensions-app kullanılarak kaydedilir.

Bu öznitelikleri, özel ilkelerinizde kullanmadan önce veya sonra portal kullanıcı arabirimini kullanarak oluşturabilirsiniz. Portalda bir attribute loyaltyId oluşturduğunuzda, buna aşağıdaki gibi başvurmanız gerekir:

Veri Akışı Adı Kullanılan:
extension_loyaltyId Özel ilke
extension_<b2c-extensions-app-guid>_loyaltyId Microsoft Graph API

Dekont

Özel ilkelerde özel bir öznitelik kullanırken, doğru veri eşlemesinin Azure AD B2C dizininde gerçekleşmesine izin vermek için talep türü kimliğine extension_ ön ek oluşturmanız gerekir.

Aşağıdaki örnek, Azure AD B2C özel ilke talep tanımında özel özniteliklerin kullanımını gösterir.

<BuildingBlocks>
  <ClaimsSchema>
    <ClaimType Id="extension_loyaltyId">
      <DisplayName>Loyalty Identification</DisplayName>
      <DataType>string</DataType>
      <UserHelpText>Your loyalty number from your membership card</UserHelpText>
      <UserInputType>TextBox</UserInputType>
    </ClaimType>
  </ClaimsSchema>
</BuildingBlocks>

Aşağıdaki örnek, Azure AD B2C özel ilkesinde bir özel özniteliğin teknik profilde, girişte, çıktıda ve kalıcı taleplerde kullanımını gösterir.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="extension_loyaltyId"  />
</InputClaims>
<PersistedClaims>
  <PersistedClaim ClaimTypeReferenceId="extension_loyaltyId" />
</PersistedClaims>
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="extension_loyaltyId" />
</OutputClaims>

Microsoft Graph aracılığıyla uzantı özniteliklerini yönetme

Microsoft Graph'ı kullanarak özel öznitelikleri oluşturabilir ve yönetebilir ve ardından bir kullanıcının değerlerini ayarlayabilirsiniz. Uzantı öznitelikleri dizin veya Microsoft Entra uzantıları olarak da adlandırılır.

Microsoft Graph API'sindeki özel öznitelikler (dizin uzantıları) yalnızca 0-9 ve A-Z karakterleriyle appId'nin kaldırılmış sürümü (Azure AD B2C portalında İstemci Kimliği olarak adlandırılır) b2c-extensions-app kuralı extension_{appId-without-hyphens}_{extensionProperty-name}{appId-without-hyphens} kullanılarak adlandırılır. Örneğin, uygulamanın appIdb2c-extensions-app değeri ve öznitelik adı iseloyaltyId, özel öznitelik olarak adlandırılırextension_25883231668a43a780b25685c3f874bc_loyaltyId25883231-668a-43a7-80b2-5685c3f874bc.

Microsoft Graph API'sini kullanarak Azure AD B2C kiracınızdaki uzantı özniteliklerini yönetmeyi öğrenin.

Uzantı özniteliğini kaldırma

Yerleşik özniteliklerden farklı olarak özel öznitelikler kaldırılabilir. Uzantı özniteliklerinin değerleri de kaldırılabilir.

Önemli

Özel özniteliği kaldırmadan önce, dizindeki her hesap için uzantı özniteliği değerini olarak nullayarlayın. Bu şekilde uzantı özniteliğinin değerlerini açıkça kaldırırsınız. Ardından uzantı özniteliğinin kendisini kaldırmaya devam edin. Özel öznitelikler Microsoft Graph API kullanılarak sorgulanabilir.

Kiracınızdaki bir kullanıcı akışından özel bir özniteliği kaldırmak için aşağıdaki adımları kullanın:

  1. Azure portalda Azure AD B2C kiracınızın genel yöneticisi olarak oturum açın.
  2. Azure AD B2C kiracınızı içeren dizini kullandığınızdan emin olun:
    1. Portal araç çubuğunda Dizinler + abonelikler simgesini seçin.
    2. Portal ayarlarında | Dizinler + abonelikler sayfası, Dizin adı listesinde Azure AD B2C dizininizi bulun ve ardından Değiştir'i seçin
  3. Azure portalın sol üst köşesinde Tüm hizmetler’i seçin ve Azure AD B2C’yi arayıp seçin.
  4. Kullanıcı öznitelikleri'ni ve ardından silmek istediğiniz özniteliği seçin.
  5. Sil'i ve ardından onaylamak için Evet'i seçin.

Sonraki adımlar

Özel ilkeleri kullanarak talep eklemeyi ve kullanıcı girişini özelleştirmeyi öğrenin. Bu örnekte yerleşik bir 'şehir' talebi kullanılmaktadır. Özel öznitelik kullanmak için 'city' yerine kendi özel özniteliklerinizi yazın.