ClaimsTransformations
Catatan
Di Azure Active Directory B2C, kebijakan kustom didesain khusus untuk menangani skenario kompleks. Untuk skenario umum, sebaiknya gunakan alur pengguna bawaan. Jika Anda belum melakukannya, pelajari tentang paket starter kebijakan kustom di Mulai dengan kebijakan kustom di Azure Active Directory B2C.
Elemen ClaimsTransformations berisi daftar fungsi transformasi klaim, yang dapat digunakan dalam perjalanan pengguna sebagai bagian dari kebijakan kustom. Transformasi klaim mengubah klaim yang diberikan menjadi klaim yang lain. Dalam transformasi klaim, Anda menentukan metode transformasi, misalnya menambahkan item ke koleksi string atau mengubah kasus string.
Untuk menyertakan daftar fungsi transformasi klaim yang dapat digunakan dalam perjalanan pengguna, elemen XML ClaimsTransformations harus dideklarasikan di bawah bagian BuildingBlocks dari kebijakan.
<ClaimsTransformations>
<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
...
</ClaimsTransformation>
</ClaimsTransformations>
Elemen ClaimsTransformation berisi atribut berikut:
Atribut | Diperlukan | Deskripsi |
---|---|---|
Id | Ya | Pengidentifikasi yang digunakan untuk mengidentifikasi transformasi klaim secara unik. Pengidentifikasi dirujuk dari elemen XML lain dalam kebijakan. |
TransformationMethod | Ya | Metode transformasi untuk digunakan dalam transformasi klaim. Setiap transformasi klaim memiliki nilainya sendiri. Lihat referensi transformasi klaim untuk daftar lengkap nilai yang tersedia. |
ClaimsTransformation
Elemen ClaimsTransformation berisi atribut berikut:
<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
<InputClaims>
...
</InputClaims>
<InputParameters>
...
</InputParameters>
<OutputClaims>
...
</OutputClaims>
</ClaimsTransformation>
Elemen | Kemunculan | Deskripsi |
---|---|---|
InputClaims | 0:1 | Daftar elemen InputClaim yang menentukan jenis klaim yang diambil sebagai input ke transformasi klaim. Masing-masing elemen ini berisi rujukan ke ClaimType yang sudah ditentukan di bagian ClaimsSchema dalam kebijakan. |
InputParameters | 0:1 | Daftar elemen InputParameter yang disediakan sebagai masukan untuk transformasi klaim. |
OutputClaims | 0:1 | Daftar elemen OutputClaim yang menentukan jenis klaim yang dihasilkan setelah Transaksi Klaim telah dipanggil. Masing-masing elemen ini berisi rujukan ke ClaimType yang sudah ditentukan di bagian ClaimsSchema dalam kebijakan. |
InputClaims
Elemen InputClaims berisi elemen berikut ini:
Elemen | Kemunculan | Deskripsi |
---|---|---|
InputClaim | 1:n | Jenis klaim input yang diharapkan. |
InputClaim
Elemen InputClaim berisi atribut berikut:
Atribut | Diperlukan | Deskripsi |
---|---|---|
ClaimTypeReferenceId | Ya | Referensi ke ClaimType yang sudah ditentukan di bagian ClaimsSchema dalam kebijakan. |
TransformationClaimType | Ya | Pengidentifikasi untuk mereferensikan jenis klaim transformasi. Setiap transformasi klaim memiliki nilainya sendiri. Lihat referensi transformasi klaim untuk daftar lengkap nilai yang tersedia. |
InputParameters
Elemen InputClaims berisi elemen berikut ini:
Elemen | Kemunculan | Deskripsi |
---|---|---|
InputParameter | 1:n | Parameter input yang diharapkan. |
InputParameter
Atribut | Diperlukan | Deskripsi |
---|---|---|
Id | Ya | Pengidentifikasi yang merupakan referensi ke parameter metode transformasi klaim. Setiap metode transformasi klaim memiliki nilainya sendiri. Lihat tabel transformasi klaim untuk daftar lengkap nilai yang tersedia. |
DataType | Ya | Jenis data parameter, seperti String, Boolean, Int, atau DateTime sesuai enumerasi Tipe Data dalam skema XML kebijakan kustom. Jenis ini digunakan untuk melakukan operasi aritmatika dengan benar. Setiap transformasi klaim memiliki nilainya sendiri. Lihat referensi transformasi klaim untuk daftar lengkap nilai yang tersedia. |
Nilai | Ya | Nilai yang diteruskan secara verbatim ke transformasi. Beberapa nilai bersifat absolut, beberapa di antaranya dapat dipilih dari metode transformasi klaim. |
OutputClaims
Elemen OutputClaims berisi elemen berikut:
Elemen | Kemunculan | Deskripsi |
---|---|---|
OutputClaim | 0:n | Jenis klaim output yang diharapkan. |
OutputClaim
Elemen OutputClaim berisi atribut berikut:
Atribut | Diperlukan | Deskripsi |
---|---|---|
ClaimTypeReferenceId | Ya | Referensi ke ClaimType yang sudah ditentukan di bagian ClaimsSchema dalam kebijakan. |
TransformationClaimType | Ya | Pengidentifikasi untuk mereferensikan jenis klaim transformasi. Setiap transformasi klaim memiliki nilainya sendiri. Lihat referensi transformasi klaim untuk daftar lengkap nilai yang tersedia. |
Klaim input dan output yang digunakan dalam transformasi klaim harus berbeda. Klaim input yang sama tidak dapat digunakan sebagai klaim output.
Contoh
Misalnya, Anda dapat menyimpan versi terakhir dari persyaratan layanan yang diterima pengguna. Saat memperbarui ketentuan layanan, Anda dapat meminta pengguna untuk menerima versi baru. Dalam contoh berikut, transformasi klaim HasTOSVersionChanged membandingkan nilai klaim TOSVersion dengan nilai klaim LastTOSAcceptedVersion dan kemudian mengembalikan klaim TOSVersionChanged boolean.
<BuildingBlocks>
<ClaimsSchema>
<ClaimType Id="TOSVersionChanged">
<DisplayName>Indicates if the TOS version accepted by the end user is equal to the current version</DisplayName>
<DataType>boolean</DataType>
</ClaimType>
<ClaimType Id="TOSVersion">
<DisplayName>TOS version</DisplayName>
<DataType>string</DataType>
</ClaimType>
<ClaimType Id="LastTOSAcceptedVersion">
<DisplayName>TOS version accepted by the end user</DisplayName>
<DataType>string</DataType>
</ClaimType>
</ClaimsSchema>
<ClaimsTransformations>
<ClaimsTransformation Id="HasTOSVersionChanged" TransformationMethod="CompareClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="TOSVersion" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="LastTOSAcceptedVersion" TransformationClaimType="inputClaim2" />
</InputClaims>
<InputParameters>
<InputParameter Id="operator" DataType="string" Value="NOT EQUAL" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="TOSVersionChanged" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
</BuildingBlocks>
Referensi transformasi klaim
Untuk contoh transformasi klaim, lihat halaman referensi berikut: