Delen via


Booleaanse claimtransformaties

Dit artikel bevat voorbeelden voor het gebruik van booleaanse claimtransformaties van het Identity Experience Framework-schema in Azure Active Directory B2C (Azure AD B2C). Zie claimtransformaties voor meer informatie.

AndClaims

Berekent een And-bewerking van twee booleaanse invoerclaims en stelt de uitvoerclaim in met het resultaat van de bewerking. Bekijk de livedemo van deze claimtransformatie.

Element TransformationClaimType Gegevenstype Notities
InputClaim inputClaim1 booleaans De eerste claim die moet worden geëvalueerd.
InputClaim inputClaim2 booleaans De tweede claim die moet worden geëvalueerd.
OutputClaim outputClaim booleaans De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen (true of false).

Voorbeeld van AndClaims

De volgende claimtransformatie laat zien hoe And werkt met twee booleaanse claims: isEmailNotExist en isSocialAccount. De uitvoerclaim presentEmailSelfAsserted wordt ingesteld op true als de waarde van beide invoerclaims true is.

<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>
  • Invoerclaims:
    • inputClaim1: true
    • inputClaim2: false
  • Uitvoerclaims:
    • outputClaim: false

AssertBooleanClaimIsEqualToValue

Controleert of de booleaanse waarden van de twee claims gelijk zijn en genereert een uitzondering als dat niet het geval is. Bekijk de livedemo van deze claimtransformatie.

Element TransformationClaimType Gegevenstype Notities
inputClaim inputClaim booleaans De claim die moet worden gecontroleerd.
InputParameter valueToCompareTo booleaans De waarde die moet worden vergeleken (true of false).

De claimtransformatie AssertBooleanClaimIsEqualToValue wordt altijd uitgevoerd vanuit een technisch validatieprofiel dat wordt aangeroepen door een zelf-gecontroleerd technisch profiel. De metagegevens van het zelf-gecontroleerde technische profiel UserMessageIfClaimsTransformationBooleanValueIsNotEqual bepalen het foutbericht dat het technische profiel aan de gebruiker weergeeft. De foutberichten kunnen worden gelokaliseerd.

Het diagram laat zien hoe de claimtransformatie AssertStringClaimsAreEqual moet worden gebruikt.

Voorbeeld van AssertBooleanClaimIsEqualToValue

De volgende claimtransformatie laat zien hoe u de waarde van een booleaanse claim controleert met een true-waarde. Als de waarde van de claim accountEnabled false is, wordt er een foutbericht gegenereerd.

<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • Invoerclaims:
    • inputClaim: false
    • valueToCompareTo: true
  • Resultaat: fout gegenereerd

De claimtransformatie AssertBooleanClaimIsEqualToValue aanroepen

Het volgende technische validatieprofiel Example-AssertBoolean roept de claimtransformatie AssertAccountEnabledIsTrue aan.

<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>

Het zelf-gecontroleerde technische profiel roept het technische validatieprofiel Example-AssertBoolean aan.

<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>

CompareBooleanClaimToValue

Controleert of de booleaanse waarde van een claim gelijk is aan true of false, en retourneert het resultaat van de compressie. Bekijk de livedemo van deze claimtransformatie.

Element TransformationClaimType Gegevenstype Notities
InputClaim inputClaim booleaans De claim die moet worden vergeleken.
InputParameter valueToCompareTo booleaans De waarde die moet worden vergeleken (true of false).
OutputClaim compareResult booleaans De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen.

Voorbeeld van CompareBooleanClaimToValue

De volgende claimtransformatie laat zien hoe u de waarde van een booleaanse claim controleert met een true-waarde. Als de waarde van de claim IsAgeOver21Years gelijk is aan true, retourneert de claimtransformatie true, anders retourneert deze 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>
  • Invoerclaims:
    • inputClaim: false
  • Invoerparameters:
    • valueToCompareTo: true
  • Uitvoerclaims:
    • compareResult: false

NotClaims

Berekent een Not-bewerking van de booleaanse invoerclaim en stelt de uitvoerclaim in met het resultaat van de bewerking. Bekijk de livedemo van deze claimtransformatie.

Element TransformationClaimType Gegevenstype Notities
InputClaim inputClaim booleaans De claim die moet worden uitgevoerd.
OutputClaim outputClaim booleaans De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen (true of false).

Voorbeeld van NotClaims

De volgende claimtransformatie laat zien hoe u logische negatie uitvoert op een claim.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Invoerclaims:
    • inputClaim: false
  • Uitvoerclaims:
    • outputClaim: true

OrClaims

Berekent een Or van twee booleaanse claims en stelt de uitvoerclaim in met het resultaat van de bewerking. Bekijk de livedemo van deze claimtransformatie.

Element TransformationClaimType Gegevenstype Notities
InputClaim inputClaim1 booleaans De eerste claim die moet worden geëvalueerd.
InputClaim inputClaim2 booleaans De tweede claim die moet worden geëvalueerd.
OutputClaim outputClaim booleaans De claim die wordt geproduceerd nadat deze claimtransformatie is aangeroepen (true of false).

Voorbeeld van OrClaims

De volgende claimtransformatie laat zien hoe Or werkt met twee booleaanse claims.

<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>
  • Invoerclaims:
    • inputClaim1: true
    • inputClaim2: false
  • Uitvoerclaims:
    • outputClaim: true

Volgende stappen