Bagikan melalui


Transformasi klaim Boolean

Penting

Berlaku mulai 1 Mei 2025, Azure AD B2C tidak akan lagi tersedia untuk dibeli untuk pelanggan baru. Pelajari lebih lanjut di FAQ kami.

Artikel ini menyediakan contoh untuk menggunakan transformasi klaim boolean dari skema Identity Experience Framework di Azure Active Directory B2C (Azure AD B2C). Untuk informasi selengkapnya, lihat transformasi klaim.

DanKlaim

And Menghitung operasi dua klaim input boolean, dan menetapkan klaim output dengan hasil operasi. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
Klaim Masukan masukanKlaim1 Boolean Klaim pertama untuk dievaluasi.
Klaim Masukan masukanKlaim2 Boolean Klaim kedua untuk dievaluasi.
Klaim Keluaran outputKlaim Boolean Klaim yang akan dihasilkan setelah transformasi klaim ini dipanggil (benar atau salah).

Contoh AndClaims

Transformasi klaim berikut menunjukkan cara And dua klaim boolean: isEmailNotExist, dan isSocialAccount. Klaim presentEmailSelfAsserted output diatur ke true jika nilai kedua klaim input adalah true.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="AndClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="isEmailNotExist" TransformationClaimType="inputClaim1" />
    <InputClaim ClaimTypeReferenceId="isSocialAccount" TransformationClaimType="inputClaim2" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="presentEmailSelfAsserted" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • inputClaim1: true
    • inputClaim2: false
  • Klaim output:
    • outputKlaim: false

AssertBooleanClaimIsEqualToValue

Memeriksa apakah nilai boolean dari dua klaim sama, dan melemparkan pengecualian jika tidak. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
inputKlaim inputKlaim Boolean Klaim untuk diperiksa.
Parameter Masukan valueToCompareTo Boolean Nilai yang akan dibandingkan (benar atau salah).

Transformasi klaim AssertBooleanClaimIsEqualToValue selalu dijalankan dari profil teknis validasi yang dipanggil oleh profil teknis yang dinyatakan sendiri. Metadata profil teknis yang ditegaskan sendiri UserMessageIfClaimsTransformationBooleanValueIsNotEqual mengontrol pesan kesalahan yang disajikan profil teknis kepada pengguna. Pesan kesalahan dapat dilokalisasi.

Diagram menunjukkan cara menggunakan transformasi klaim AssertStringClaimsAreEqual.

Contoh AssertBooleanClaimIsEqualToValue

Transformasi klaim berikut menunjukkan cara memeriksa nilai klaim boolean dengan true nilai. Jika nilai accountEnabled klaim salah, pesan kesalahan akan dilemparkan.

<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • Klaim input:
    • inputKlaim: false
    • valueToCompareTo: true
  • Hasil: Kesalahan diberikan

Memanggil transformasi klaim AssertBooleanClaimIsEqualToValue

Profil teknis validasi berikut Example-AssertBoolean memanggil AssertAccountEnabledIsTrue transformasi klaim.

<TechnicalProfile Id="Example-AssertBoolean">
  <DisplayName>Unit test</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="ComparisonResult" DefaultValue="false" />
  </OutputClaims>
  <OutputClaimsTransformations>
    <OutputClaimsTransformation ReferenceId="AssertAccountEnabledIsTrue" />
  </OutputClaimsTransformations>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>

Profil teknis yang dinyatakan sendiri memanggil profil teknis validasi Example-AssertBoolean .

<TechnicalProfile Id="SelfAsserted-AssertDateTimeIsGreaterThan">
  <DisplayName>Example</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
    <Item Key="UserMessageIfClaimsTransformationBooleanValueIsNotEqual">Custom error message if account is disabled.</Item>
  </Metadata>
  ...
  <ValidationTechnicalProfiles>
    <ValidationTechnicalProfile ReferenceId="Example-AssertBoolean" />
  </ValidationTechnicalProfiles>
</TechnicalProfile>

BandingkanBooleanClaimToValue

Memeriksa apakah nilai boolean klaim sama dengan true atau false, dan mengembalikan hasil pemadatan. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
Klaim Masukan inputKlaim Boolean Klaim yang akan dibandingkan.
Parameter Masukan valueToCompareTo Boolean Nilai yang akan dibandingkan (benar atau salah).
Klaim Keluaran membandingkanHasil Boolean Jenis klaim yang dihasilkan setelah transformasi klaim ini telah dipanggil.

Contoh CompareBooleanClaimToValue

Transformasi klaim berikut menunjukkan cara memeriksa nilai klaim boolean dengan true nilai. Jika nilai IsAgeOver21Years klaim sama dengan true, transformasi klaim mengembalikan true, jika tidak false.

<ClaimsTransformation Id="AssertAccountEnabled" TransformationMethod="CompareBooleanClaimToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="IsAgeOver21Years" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim  ClaimTypeReferenceId="accountEnabled" TransformationClaimType="compareResult"/>
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • inputKlaim: false
  • Parameter input:
    • valueToCompareTo: true
  • Klaim output:
    • compareResult: false

Bukan Klaim

Not Menghitung operasi klaim input boolean dan menetapkan klaim output dengan hasil operasi. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
Klaim Masukan inputKlaim Boolean Klaim untuk dioperasikan.
Klaim Keluaran outputKlaim Boolean Klaim yang dihasilkan setelah transformasi klaim ini dipanggil (benar atau salah).

Contoh NotClaims

Transformasi klaim berikut menunjukkan cara melakukan negasi logis pada klaim.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • inputKlaim: false
  • Klaim output:
    • outputClaim: benar

Atau Klaim

Or Menghitung satu dari dua klaim boolean dan menetapkan klaim output dengan hasil operasi. Lihat demo Langsung dari transformasi klaim ini.

Elemen TransformationClaimType Jenis Data Catatan
Klaim Masukan masukanKlaim1 Boolean Klaim pertama untuk dievaluasi.
Klaim Masukan masukanKlaim2 Boolean Klaim kedua untuk dievaluasi.
Klaim Keluaran outputKlaim Boolean Klaim yang akan dihasilkan setelah transformasi klaim ini dipanggil (benar atau salah).

Contoh OrClaims

Transformasi klaim berikut menunjukkan cara Or dua klaim boolean.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="OrClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="isLastTOSAcceptedNotExists" TransformationClaimType="inputClaim1" />
    <InputClaim ClaimTypeReferenceId="isLastTOSAcceptedGreaterThanNow" TransformationClaimType="inputClaim2" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="presentTOSSelfAsserted" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Klaim input:
    • inputClaim1: true
    • inputClaim2: false
  • Klaim output:
    • outputClaim: benar

Langkah selanjutnya