Sosyal hesaplar talep dönüştürmeleri

Azure Active Directory B2C'de (Azure AD B2C), sosyal hesap kimlikleri alternatif BirSecurityIdCollection talep türünün özniteliğinde alternativeSecurityIds depolanır. AlternatifSecurityIdCollection 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üştürmelerini kullanmaya yönelik örnekler sağlanır. Daha fazla bilgi için bkz . ClaimsTransformations.

AddItemToAlternativeSecurityIdCollection

Bir talepe bir AlternativeSecurityIdalternativeSecurityIdCollection 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 string Çı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ürme 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 collectionitemhem de öğesinden öğeleri içeren yeni koleksiyon.

AddItemToAlternativeSecurityIdCollection Örneği

Aşağıdaki örnekte yeni bir sosyal kimlik mevcut bir hesapla ilişkilendirildi. 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 adıyla 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 talebi kullanıcı hesabına kalıcı hale
<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 kimliğine yapılan çağrılarda kullanılabilecek alternatifSecurityId ö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 string Sosyal kimlik sağlayıcısı tarafından kullanılan benzersiz kullanıcı tanımlayıcısını belirten talep.
InputClaim identityProvider string facebook.com gibi sosyal hesap kimlik sağlayıcısı adını belirten talep.
OutputClaim alternativeSecurityId string 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

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 çıkışı, 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, kullanıcı alternatifiSecurityIds iddiasını 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ının listesini göstermek için output identityProvidersCollection komutunu kullanın. Veya 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

Alternatif BirSecurityIdCollection 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 string 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 kimliği sağlayıcılarından kaldırılacak sosyal hesabı 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