Transformasi klaim bilangan bulat

Artikel ini memberikan contoh bagaimana cara menggunakan transformasi klaim bilangan bulat dari skema IEF di Azure Active Directory B2C (Azure AD B2C). Untuk informasi selengkapnya, lihat ClaimsTransformations.

AdjustNumber

Meningkatkan atau mengurangi klaim numerik dan mengembalikan klaim baru. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim inputClaim int Jenis klaim, yang berisi jumlah untuk menambah atau mengurangi. Jika nilai klaim inputClaim adalah nol, default 0 digunakan.
InputParameter Operator string Nilai yang mungkin: INCREMENT (default), atau DECREMENT.
OutputClaim outputClaim int Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil.

Contoh AdjustNumber

Gunakan transformasi klaim ini untuk menambah atau mengurangi nilai klaim numerik. Transformasi klaim berikut meningkatkan nilai klaim numerik.

<ClaimsTransformation Id="UpdateSteps" TransformationMethod="AdjustNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="steps" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="INCREMENT" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="steps" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • inputClaim: 1
  • Parameter input:
    • Operator: INCREMENT
  • Klaim output:
    • outputClaim: 2

Contoh AdjustNumber dengan nilai null

Jika klaim input null, klaim output akan menjadi satu.

  • Klaim input:
    • inputClaim: NULL
  • Parameter input:
    • Operator: INCREMENT
  • Klaim output:
    • outputClaim: 1

AssertNumber

Menentukan apakah klaim numerik lebih besar, lebih rendah, sama, atau tidak sama dengan angka. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim inputClaim int Klaim numerik pertama untuk membandingkan apakah itu lebih besar, lebih rendah, sama, atau tidak sama dengan angka kedua. Nilai null memberikan pengecualian.
InputParameter CompareToValue int Angka kedua untuk membandingkan apakah itu lebih besar, lebih rendah, sama, atau tidak sama dengan angka pertama.
InputParameter Operator string Kemungkinan nilai: LessThan, GreaterThan, GreaterThanOrEqual, LessThanOrEqual, Equal, NotEqual.
InputParameter throwError boolean Menentukan apakah pernyataan ini harus membuang kesalahan jika hasil perbandingannya adalah true. Nilai yang mungkin: true (default), atau false.
 
Saat disetel ke true (Mode penegasan), dan hasil perbandingannya adalah true, pengecualian akan dimunculkan. Ketika disetel ke false (Mode evaluasi), hasilnya adalah jenis klaim boolean baru dengan nilai true, atau false.
OutputClaim outputClaim boolean Jika ThrowErrordisetel ke false, klaim keluaran ini memuat true, atau false sesuai dengan hasil perbandingan.

Mode penegasan

KetikathrowError parameter input adalah true (default), transformasi klaim AssertNumber selalu dilakukan dari profil teknis validasi yang disebut dengan profil teknis yang ditegaskan sendiri.

Metadata profil teknis yang dibuat sendiri AssertNumberError mengontrol pesan kesalahan yang ditampilkan profil teknis kepada pengguna. Pesan kesalahan dapat dilokalkan.

<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
  <Metadata>
    <Item Key="AssertNumberError">You've reached the maximum logon attempts</Item>
  </Metadata>
  ...
</TechnicalProfile>

Untuk informasi selengkapnya tentang cara memanggil transformasi klaim dalam mode pernyataan, lihat transformasi klaim AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue, dan AssertDateTimeIsGreaterThan.

Contoh AssertNumber

Contoh berikut menegaskan jumlah upaya lebih dari lima. Transformasi klaim memunculkan kesalahan sesuai hasil perbandingan.

<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
    <InputParameter Id="CompareToValue" DataType="int" Value="5" />
    <InputParameter Id="throwError" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • Klaim input:
    • inputClaim: 10
  • Parameter input:
    • Operator: GreaterThan
    • CompareToValue: 5
    • throwError: true
  • Hasil: Kesalahan dilemparkan

Contoh mode evaluasi AssertNumber

Contoh berikut mengevaluasi apakah jumlah upaya lebih dari lima. Klaim output berisi nilai boolean sesuai dengan hasil perbandingan. Transformasi klaim tidak akan menimbulkan kesalahan.

<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
    <InputParameter Id="CompareToValue" DataType="int" Value="5" />
    <InputParameter Id="throwError" DataType="boolean" Value="false" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="attemptsCountExceeded" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • inputClaim: 10
  • Parameter input:
    • Operator: GreaterThan
    • CompareToValue: 5
    • throwError: false
  • Klaim output:
    • outputClaim: benar

ConvertNumberToStringClaim

Mengonversi tipe data panjang menjadi tipe data string. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
InputClaim inputClaim panjang Jenis klaim untuk dikonversi ke untai (karakter).
OutputClaim outputClaim string Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil.

Contoh ConvertNumberToStringClaim

Dalam contoh ini, numericUserId klaim dengan tipe nilai panjang dikonversi ke klaim dengan tipe nilai UserId string.

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • inputClaim: 12334 (panjang)
  • Klaim output:
    • outputClaim: "12334" (string)

Langkah berikutnya