Aracılığıyla paylaş


Sosyal hesap talepleri dönüşümleri

Azure Active Directory B2C'de (Azure AD B2C), sosyal hesap kimlikleri alternatifSecurityIdCollection talep türünün özniteliğinde alternativeSecurityIds depolanır. alternativeSecurityIdCollection içindeki her öğe, vereni (facebook.com gibi kimlik sağlayıcısı adı) ve issuerUserIdveren için benzersiz bir kullanıcı tanımlayıcısı olan öğesini belirtir.

"alternativeSecurityIds": [{
    "issuer": "google.com",
    "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
  },
  {
    "issuer": "facebook.com",
    "issuerUserId": "MTIzNDU="
  }]

Bu makalede, Azure AD B2C'de Kimlik Deneyimi Çerçevesi şemasının sosyal hesap talep dönüşümlerini kullanma örnekleri sağlanır. Daha fazla bilgi için bkz . ClaimsTransformations.

AddItemToAlternativeSecurityIdCollection

Bir talepe bir AlternativeSecurityId alternativeSecurityIdCollection ekler. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim Öğe Dize Çıkış talebine eklenecek talep.
InputClaim koleksiyonu alternativeSecurityIdCollection İlkede varsa talep dönüştürmesi tarafından kullanılan talep. Sağlanırsa, talep dönüştürmesi koleksiyonun sonuna öğesini item ekler.
OutputClaim koleksiyonu alternativeSecurityIdCollection Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep. Hem girişten collection itemhem de öğesinden öğeleri içeren yeni koleksiyon.

AddItemToAlternativeSecurityIdCollection Örneği

Aşağıdaki örnek, yeni bir sosyal kimliği mevcut bir hesaba bağlar. Yeni bir sosyal kimliği bağlamak için:

  1. AAD-UserReadUsingAlternativeSecurityId ve AAD-UserReadUsingObjectId teknik profillerinde kullanıcının alternativeSecurityIds talebi çıktısını verin.
  2. Kullanıcıdan bu kullanıcıyla ilişkilendirilmeyen kimlik sağlayıcılarından biriyle oturum açmasını isteyin.
  3. CreateAlternativeSecurityId talep dönüştürmesini kullanarak, adlı yeni bir alternatifSecurityId talep türü oluşturunAlternativeSecurityId2
  4. Mevcut AlternativeSecurityIds talebine AlternativeSecurityId2 talebi eklemek için AddItemToAlternativeSecurityIdCollection talep dönüştürmesini çağırın.
  5. AlternatifSecurityIds iddiasını kullanıcı hesabında kalıcı hale getirmek
<ClaimsTransformation Id="AddAnotherAlternativeSecurityId" TransformationMethod="AddItemToAlternativeSecurityIdCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="AlternativeSecurityId2" TransformationClaimType="item" />
    <InputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
  </OutputClaims>
</ClaimsTransformation>
  • Giriş talepleri:

    • öğe:

      {
          "issuer": "facebook.com",
          "issuerUserId": "MTIzNDU="
      }
      
    • koleksiyon:

      [
          {
              "issuer": "live.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          }
      ]
      
  • Çıkış talepleri:

    • koleksiyon:

      [
          {
              "issuer": "live.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          },
          {
              "issuer": "facebook.com",
              "issuerUserId": "MTIzNDU="
          }
      ]
      

CreateAlternativeSecurityId

Kullanıcının Microsoft Entra Id çağrılarında kullanılabilecek alternativeSecurityId özelliğinin JSON gösterimini oluşturur. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin. Daha fazla bilgi için bkz . AlternativeSecurityId şeması.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim anahtar Dize Sosyal kimlik sağlayıcısı tarafından kullanılan benzersiz kullanıcı tanımlayıcısını belirten talep.
InputClaim identityProvider Dize facebook.com gibi sosyal hesap kimlik sağlayıcısı adını belirten talep.
OutputClaim alternativeSecurityId Dize Talep dönüştürmesi çağrıldıktan sonra oluşturulan talep. Sosyal hesap kullanıcısının kimliği hakkında bilgi içerir. Veren, talebin identityProvider değeridir. IssuerUserId, talebin key base64 biçimindeki değeridir.

CreateAlternativeSecurityId örneği

Bir talep oluşturmak alternativeSecurityId için bu talep dönüştürmesini kullanın. gibi Facebook-OAUTHtüm sosyal kimlik sağlayıcısı teknik profilleri tarafından kullanılır. Aşağıdaki talep dönüştürmesi, kullanıcı sosyal hesabı kimliğini ve kimlik sağlayıcısı adını alır. Bu teknik profilin çıktısı, Microsoft Entra dizin hizmetlerinde kullanılabilecek bir JSON dize biçimidir.

<ClaimsTransformation Id="CreateAlternativeSecurityId" TransformationMethod="CreateAlternativeSecurityId">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="issuerUserId" TransformationClaimType="key" />
    <InputClaim ClaimTypeReferenceId="identityProvider" TransformationClaimType="identityProvider" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="alternativeSecurityId" TransformationClaimType="alternativeSecurityId" />
  </OutputClaims>
</ClaimsTransformation>
  • Giriş talepleri:
    • anahtar: 12334
    • identityProvider: Facebook.com
  • Çıkış talepleri:
    • alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}

GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

AlternatifSecurityIdCollection talebindeki verenlerin listesini yeni bir stringCollection talebine döndürür. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim alternativeSecurityIdCollection alternativeSecurityIdCollection Kimlik sağlayıcılarının (veren) listesini almak için kullanılacak talep.
OutputClaim identityProvidersCollection stringCollection Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep. Giriş talebiyle ilişkili kimlik sağlayıcılarının listesi.

GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation örneği

Aşağıdaki talep dönüştürmesi, user alternativeSecurityIds talebi okur ve bu hesapla ilişkili kimlik sağlayıcısı adlarının listesini ayıklar. Kullanıcıya hesapla ilişkili kimlik sağlayıcıları listesini göstermek için output identityProvidersCollection kullanın. Alternatif olarak, kimlik sağlayıcısı seçim sayfasında, kimlik sağlayıcıları listesini identityProvidersCollection talebine göre filtreleyin. Bu nedenle kullanıcı, henüz hesapla ilişkili olmayan yeni sosyal kimliği bağlamayı seçebilir.

<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
  </OutputClaims>
</ClaimsTransformation>
  • Giriş talepleri:

    • alternativeSecurityIdCollection:

      [
          {
              "issuer": "google.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          },
          {
              "issuer": "facebook.com",
              "issuerUserId": "MTIzNDU="
          }
      ]
      
  • Çıkış talepleri:

    • identityProvidersCollection: [ "facebook.com", "google.com" ]

RemoveAlternativeSecurityIdByIdentityProvider

AlternativeSecurityIdCollection talebinden Bir AlternativeSecurityId kaldırır. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim identityProvider Dize Koleksiyondan kaldırılacak kimlik sağlayıcısı adını içeren talep.
InputClaim koleksiyonu alternativeSecurityIdCollection Talep dönüştürmesi tarafından kullanılan talep. Talep dönüştürme, identityProvider'ı koleksiyondan kaldırır.
OutputClaim koleksiyonu alternativeSecurityIdCollection Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep. identityProvider koleksiyondan kaldırıldıktan sonra yeni koleksiyon.

RemoveAlternativeSecurityIdByIdentityProvider örneği

Aşağıdaki örnek sosyal kimliklerden birinin mevcut bir hesapla bağlantısını kaldırıyor. Bir sosyal kimliğin bağlantısını açmak için:

  1. AAD-UserReadUsingAlternativeSecurityId ve AAD-UserReadUsingObjectId teknik profillerinde kullanıcının alternativeSecurityIds talebi çıktısını verin.
  2. Kullanıcıdan, bu kullanıcıyla ilişkili liste kimlik sağlayıcılarından hangi sosyal hesabı kaldırılacağını seçmesini isteyin.
  3. Kimlik sağlayıcısı adını kullanarak seçili sosyal kimliği kaldıran RemoveAlternativeSecurityIdByIdentityProvider talep dönüştürmesini çağıran bir talep dönüştürme teknik profili çağırın.
  4. AlternatifSecurityIds iddiasını kullanıcı hesabında kalıcı hale getirmek.
<ClaimsTransformation Id="RemoveAlternativeSecurityIdByIdentityProvider" TransformationMethod="RemoveAlternativeSecurityIdByIdentityProvider">
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="secondIdentityProvider" TransformationClaimType="identityProvider" />
        <InputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
    </InputClaims>
    <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
    </OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
  • Giriş talepleri:
    • identityProvider: facebook.com
    • collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
  • Çıkış talepleri:
    • collection: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]

Sonraki adımlar