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.
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
- Meer voorbeelden van claimtransformaties kunt u vinden in de GitHub-opslagplaats van de Azure AD B2C-community