Transformations de revendications booléennes

Cet article fournit des exemples pour l’utilisation de transformations de revendications booléennes du schéma Identity Experience Framework dans Azure Active Directory B2C (Azure AD B2C). Pour plus d’informations, consultez Transformations de revendications.

AndClaims

Calcule une opération And de deux inputClaims booléennes et définit la revendication de sortie avec le résultat de l’opération. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim inputClaim1 boolean Première revendication à évaluer.
InputClaim inputClaim2 boolean Deuxième revendication à évaluer.
OutputClaim outputClaim boolean La revendication qui sera produite après l’appel de cette transformation de revendication (true ou false).

Exemple d’AndClaims

La transformation de revendication suivante montre comment effectuer une opération And sur deux revendications booléennes : isEmailNotExist et isSocialAccount. La revendication de sortie presentEmailSelfAsserted prend la valeur true si la valeur de ces deux revendications d’entrée est 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>
  • Revendications d’entrée :
    • inputClaim1 : true
    • inputClaim2 : false
  • Revendications de sortie :
    • outputClaim : false

AssertBooleanClaimIsEqualToValue

Vérifie que les valeurs booléennes de deux revendications sont égales et lève une exception si elles ne le sont pas. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
inputClaim inputClaim boolean Revendication à vérifier.
InputParameter valueToCompareTo boolean Valeur à comparer (true ou false).

La transformation de revendication AssertBooleanClaimIsEqualToValue est toujours exécutée à partir d’un profil technique de validation qui est appelé par un profil technique autodéclaré. Les métadonnées de profil technique autodéclaré UserMessageIfClaimsTransformationBooleanValueIsNotEqual contrôlent le message d’erreur présenté à l’utilisateur par le profil technique. Les messages d’erreur peuvent être localisés.

Diagramme montrant comment utiliser la transformation de revendications AssertStringClaimsAreEqual.

Exemple d’AssertBooleanClaimIsEqualToValue

La transformation de revendication suivante montre comment vérifier la valeur d’une revendication booléenne avec une valeur true. Si la valeur de la revendication accountEnabled est false, un message d’erreur est levé.

<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • Revendications d’entrée :
    • inputClaim : false
    • valueToCompareTo : true
  • Résultat : Erreur levée

Appel de la transformation de revendications AssertBooleanClaimIsEqualToValue

Le profil technique de validation Example-AssertBoolean suivant appelle la transformation de revendication AssertAccountEnabledIsTrue.

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

Le profil technique autodéclaré appelle le profil technique de validation 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>

CompareBooleanClaimToValue

Vérifie que la valeur booléenne d’une revendication est égale à true ou false, et retourne le résultat de la compression. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim inputClaim boolean Revendication à comparer.
InputParameter valueToCompareTo boolean Valeur à comparer (true ou false).
OutputClaim compareResult boolean Revendication générée une fois que cette transformation de revendications a été appelée.

Exemple de CompareBooleanClaimToValue

La transformation de revendication suivante montre comment vérifier la valeur d’une revendication booléenne avec une valeur true. Si la valeur de la revendication IsAgeOver21Years est égale à true, la transformation de revendication retourne la valeur true, sinon 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>
  • Revendications d’entrée :
    • inputClaim : false
  • Paramètres d’entrée :
    • valueToCompareTo : true
  • Revendications de sortie :
    • compareResult : false

NotClaims

Calcule une opération Not de la revendication d’entrée booléenne et définit la revendication de sortie avec le résultat de l’opération. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim inputClaim boolean Revendication à traiter.
OutputClaim outputClaim boolean La revendication qui sera produite après l’appel de cette transformation de revendication (true ou false).

Exemple de NotClaims

La transformation de revendications suivante montre comment effectuer une négation logique sur une revendication.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Revendications d’entrée :
    • inputClaim : false
  • Revendications de sortie :
    • outputClaim : true

OrClaims

Calcule Or de deux revendications d’entrée booléennes et définit la revendication de sortie avec le résultat de l’opération. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim inputClaim1 boolean Première revendication à évaluer.
InputClaim inputClaim2 boolean Deuxième revendication à évaluer.
OutputClaim outputClaim boolean La revendication qui sera produite après l’appel de cette transformation de revendication (true ou false).

Exemple d’OrClaims

La transformation de revendication suivante montre comment effectuer une opération Or sur deux revendications booléennes.

<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>
  • Revendications d’entrée :
    • inputClaim1 : true
    • inputClaim2 : false
  • Revendications de sortie :
    • outputClaim : true

Étapes suivantes