Akun sosial mengklaim transformasi

Di Azure Active Directory B2C (Azure AD B2C), identitas akun sosial disimpan dalam atribut alternativeSecurityIds jenis klaim alternativeSecurityIdCollection. Setiap item dalam alternativeSecurityIdCollection menentukan pengeluar sertifikat (nama IdP, seperti facebook.com) dan issuerUserId, yang merupakan pengidentifikasi pengguna unik untuk pengeluar sertifikat.

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

Artikel ini memberikan contoh bagaimana menggunakan transformasi klaim akun sosial dari skema IEF di Azure AD B2C. Untuk informasi selengkapnya, lihat ClaimsTransformations.

AddItemToAlternativeSecurityIdCollection

Menambahkan AlternativeSecurityId ke klaim alternativeSecurityIdCollection. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim Elemen string Klaim yang akan ditambahkan ke klaim output.
InputClaim koleksi alternativeSecurityIdCollection Klaim yang digunakan oleh transformasi klaim jika tersedia dalam kebijakan. Jika disediakan, transformasi klaim menambahkan item di akhir koleksi.
OutputClaim koleksi alternativeSecurityIdCollection Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil. Koleksi baru yang berisi item baik dari input collection dan item.

Contoh AddItemToAlternativeSecurityIdCollection

Contoh berikut menautkan identitas sosial baru dengan akun yang sudah ada. Untuk menautkan identitas sosial baru:

  1. AAD-UserReadUsingAlternativeSecurityId Di profil teknis dan AAD-UserReadUsingObjectId , keluarkan klaim penggunaalternativeSecurityIds.
  2. Minta pengguna untuk masuk dengan salah satu penyedia identitas yang tidak terkait dengan pengguna ini.
  3. Menggunakan transformasi klaim CreateAlternativeSecurityId buat jenis klaim alternativeSecurityId baru dengan nama AlternativeSecurityId2
  4. Panggil transformasi klaim AddItemToAlternativeSecurityIdCollection untuk menambahkan klaim AlternativeSecurityId2 ke klaim AlternativeSecurityIds yang sudah ada.
  5. Pertahankan klaim alternativeSecurityIds ke akun pengguna
<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>
  • Klaim input:

    • item:

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

      [
          {
              "issuer": "live.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          }
      ]
      
  • Klaim output:

    • kumpulan:

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

CreateAlternativeSecurityId

Membuat representasi JSON dari properti alternativeSecurityId pengguna yang dapat digunakan dalam panggilan ke ID Microsoft Entra. Lihat demo Langsung dari transformasi klaim ini. Untuk informasi selengkapnya, lihat skema AlternativeSecurityId.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim kunci string Klaim yang menentukan ID pengguna unik yang digunakan oleh IdP sosial.
InputClaim identityProvider string Klaim yang menentukan nama IdP akun sosial, seperti facebook.com.
OutputClaim alternativeSecurityId string Klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil. Berisi informasi tentang identitas pengguna akun sosial. Pengeluar sertifikat adalah nilai identityProvider dari klaim. issuerUserId adalah nilai klaim key dalam format base64.

Contoh CreateAlternativeSecurityId

Gunakan transformasi klaim ini untuk menghasilkan klaim alternativeSecurityId. Ini digunakan oleh semua profil teknis IdP sosial, seperti Facebook-OAUTH. Transformasi klaim berikut menerima ID akun sosial pengguna dan nama IdP. Output dari profil teknis ini adalah format string JSON yang dapat digunakan dalam layanan direktori Microsoft Entra.

<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>
  • Klaim input:
    • kunci: 12334
    • identityProvider: Facebook.com
  • Klaim output:
    • alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}

GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

Mengembalikan pengeluar sertifikat dari klaim alternativeSecurityIdCollection ke dalam klaim stringCollection baru. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim alternativeSecurityIdCollection alternativeSecurityIdCollection Klaim yang akan digunakan untuk mendapatkan daftar IdP (pengeluar sertifikat).
OutputClaim identityProvidersCollection stringCollection Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil. Daftar IdP yang terkait dengan klaim input.

Contoh GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

Transformasi klaim berikut membaca klaim pengguna alternativeSecurityIds dan mengekstrak daftar nama IdP yang terkait dengan akun tersebut. Gunakan output identityProvidersCollection untuk menunjukkan kepada pengguna daftar IdP yang terkait dengan akun. Atau, pada halaman pilihan IdP, filter daftar IdP berdasarkan output klaim identityProvidersCollection. Jadi, pengguna dapat memilih untuk menautkan identitas sosial baru yang belum terkait dengan akun.

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

    • alternativeSecurityIdCollection:

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

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

RemoveAlternativeSecurityIdByIdentityProvider

Menghapus AlternativeSecurityId dari klaim alternativeSecurityIdCollection. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim identityProvider string Klaim yang berisi nama IdP yang akan dihapus dari koleksi.
InputClaim koleksi alternativeSecurityIdCollection Klaim yang digunakan oleh transformasi klaim. Transformasi klaim menghapus identityProvider dari koleksi.
OutputClaim koleksi alternativeSecurityIdCollection Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil. Koleksi baru, setelah identityProvider dihapus dari koleksi.

Contoh RemoveAlternativeSecurityIdByIdentityProvider

Contoh berikut melakukan pembatalan tautan identitas sosial baru dengan akun yang sudah ada. Untuk membatalkan tautan identitas sosial:

  1. AAD-UserReadUsingAlternativeSecurityId Di profil teknis dan AAD-UserReadUsingObjectId , keluarkan klaim penggunaalternativeSecurityIds.
  2. Minta pengguna untuk memilih akun sosial mana yang akan dihapus dari IdP daftar yang terkait dengan pengguna ini.
  3. Panggil profil teknis transformasi klaim yang memanggil transformasi klaim RemoveAlternativeSecurityIdByIdentityProvider, yang menghapus identitas sosial yang dipilih, menggunakan nama IdP.
  4. Pertahankan klaim alternativeSecurityIds ke akun pengguna.
<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>
  • Klaim input:
    • identityProvider: facebook.com
    • koleksi: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "pengeluar sertifikat": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
  • Klaim output:
    • koleksi: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]

Langkah berikutnya