Transformasi klaim umum

Artikel ini menyediakan contoh untuk menggunakan transformasi klaim umum dari kebijakan kustom Azure Active Directory B2C (Azure AD B2C). Untuk informasi selengkapnya, lihat transformasi klaim.

CopyClaim

Menyalin nilai klaim ke klaim lain. Kedua klaim harus dari jenis yang sama. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim inputClaim string, int Jenis klaim, yang akan disalin.
OutputClaim outputClaim string, int Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil.

Gunakan transformasi klaim ini untuk menyalin nilai dari klaim string atau numerik, ke klaim lain. Contoh berikut menyalin nilai klaim externalEmail ke klaim email.

<ClaimsTransformation Id="CopyEmailAddress" TransformationMethod="CopyClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="externalEmail" TransformationClaimType="inputClaim"/>
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

Contoh CopyClaim

  • Klaim input:
    • inputClaim: bob@contoso.com
  • Klaim output:
    • outputClaim: bob@contoso.com

DoesClaimExist

Memeriksa apakah klaim input ada, dan menetapkan klaim output ke true atau false yang sesuai. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim inputClaim Apa pun Klaim input yang keberadaannya perlu diverifikasi.
OutputClaim outputClaim boolean Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil.

Contoh DoesClaimExist

Gunakan transformasi klaim ini untuk memeriksa apakah klaim ada atau berisi nilai apa pun. Nilai yang kembali adalah boolean yang menunjukkan apakah klaim ada. Contoh berikut memeriksa apakah alamat email ada.

<ClaimsTransformation Id="CheckIfEmailPresent" TransformationMethod="DoesClaimExist">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="isEmailPresent" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • inputClaim: someone@contoso.com
  • Klaim output:
    • outputClaim: benar

Hash

Hash teks biasa yang disediakan menggunakan salt dan rahasia. Algoritma hashing yang digunakan adalah SHA-256. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim PlainText string Klaim input yang akan dienkripsi
InputClaim salt string Parameter salt. Anda dapat membuat nilai acak, menggunakan CreateRandomStringtransformasi klaim.
InputParameter randomizerSecret string Menunjuk ke kunci kebijakan Azure AD B2C yang sudah ada. Untuk membuat kunci kebijakan baru: Di penyewa Azure AD B2C Anda, di bawah Manage, pilih Identity Experience Framework. Pilih Policy keys untuk melihat kunci yang tersedia di penyewa Anda. Pilih Add. Untuk Options, pilih Manual. Berikan nama (awalan B2C_1A_ ditambahkan secara otomatis.). Dalam kotak teks Secret, masukkan rahasia apa pun yang ingin Anda gunakan, seperti 1234567890. Untuk Key usage, pilih Signature. Pilih Create.
OutputClaim Hash string Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil. Klaim dikonfigurasi dalam plaintext inputClaim.

Contoh Hash

Contoh berikut menunjukkan cara membuat hash alamat email. Transformasi klaim menambahkan salt ke alamat email sebelum hashing nilai. Untuk memanggil transformasi klaim ini, atur nilai pada klaim mySalt.

<ClaimsTransformation Id="HashPasswordWithEmail" TransformationMethod="Hash">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="plaintext" />
    <InputClaim ClaimTypeReferenceId="mySalt" TransformationClaimType="salt" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="randomizerSecret" DataType="string" Value="B2C_1A_AccountTransformSecret" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="hashedEmail" TransformationClaimType="hash" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • plaintext: someone@contoso.com
    • salt: 487624568
    • randomizerSecret: B2C_1A_AccountTransformSecret
  • Klaim output:
    • outputClaim: CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U=

Langkah berikutnya