Transformations de revendications d’entier

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

AdjustNumber

Augmente ou diminue une revendication numérique et renvoie une nouvelle revendication. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim inputClaim int Type de revendication, qui contient le nombre à augmenter ou à diminuer. Si la valeur de la réclamation inputClaim est Null, la valeur par défaut 0 est utilisée.
InputParameter Opérateur string Valeurs possibles : INCREMENT (par défaut) ou DECREMENT.
OutputClaim outputClaim int Type de revendication généré une fois que cette transformation de revendications a été appelée.

Exemple d’AdjustNumber

Utilisez cette transformation de revendication pour augmenter ou diminuer une valeur de revendication numérique. La transformation de revendications suivante augmente une valeur de revendication numérique.

<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>
  • Revendications d’entrée :
    • inputClaim : 1
  • Paramètres d’entrée :
    • Opérateur : INCREMENT
  • Revendications de sortie :
    • outputClaim : 2

Exemple d’AdjustNumber avec une valeur null

Si la revendication d’entrée a la valeur null, la revendication de sortie est 1.

  • Revendications d’entrée :
    • inputClaim : NULL
  • Paramètres d’entrée :
    • Opérateur : INCREMENT
  • Revendications de sortie :
    • outputClaim : 1

AssertNumber

Détermine si une revendication numérique est supérieure, inférieure, égale ou différente d’un nombre. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim inputClaim int Première revendication numérique comparant si elle est supérieure, inférieure, égale ou différente du deuxième nombre. Une valeur null lève une exception.
InputParameter CompareToValue int Deuxième nombre comparant s’il est supérieur, inférieur, égal ou différent du premier nombre.
InputParameter Opérateur string Valeurs possibles : LessThan, GreaterThan, GreaterThanOrEqual, LessThanOrEqual, Equal, NotEqual.
InputParameter throwError boolean Spécifie si cette assertion doit lever une erreur si le résultat de la comparaison est true. Valeurs possibles : true (par défaut) ou false.
 
Si la valeur est true (mode d’assertion) et que le résultat de la comparaison est true, une exception est levée. Lorsque la valeur est false (mode d’évaluation), le résultat est un nouveau type de revendication booléenne avec une valeur true ou false.
OutputClaim outputClaim boolean Si ThrowError a la valeur false, cette revendication de sortie contient la valeur true, ou false selon le résultat de la comparaison.

Mode d’assertion

Lorsque le paramètre d’entrée throwError est défini sur true (par défaut), la transformation de revendications AssertNumber est toujours exécutée à partir d’un profil technique de validation appelé par un profil technique autodéclaré.

Les métadonnées du profil technique autodéclaré AssertNumberError contrôlent le message d’erreur présenté à l’utilisateur par le profil technique. Les messages d’erreur peuvent être localisés.

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

Pour plus d’informations sur la façon d’appeler la transformation de revendications dans un mode d’assertion, consultez les transformations de revendications AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue et AssertDateTimeIsGreaterThan.

Exemple d’AssertNumber

L’exemple suivant affirme que le nombre de tentatives est supérieur à cinq. La transformation de revendications lève une erreur en fonction du résultat de la comparaison.

<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>
  • Revendications d’entrée :
    • inputClaim : 10
  • Paramètres d’entrée :
    • Opérateur : GreaterThan
    • CompareToValue : 5
    • throwError : true
  • Résultat : Erreur levée

Exemple de mode d’évaluation d’AssertNumber

L’exemple suivant évalue si le nombre de tentatives est supérieur à cinq. La revendication de sortie contient une valeur booléenne selon le résultat de la comparaison. La transformation de revendications ne lève pas d’erreur.

<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>
  • Revendications d’entrée :
    • inputClaim : 10
  • Paramètres d’entrée :
    • Opérateur : GreaterThan
    • CompareToValue : 5
    • throwError : false
  • Revendications de sortie :
    • outputClaim : true

ConvertNumberToStringClaim

Convertit un type de données long en type de données string. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim inputClaim long Type de revendication à convertir en chaîne.
OutputClaim outputClaim string Type de revendication généré une fois que cette transformation de revendications a été appelée.

Exemple de ConvertNumberToStringClaim

Dans cet exemple, la revendication numericUserId avec un type de valeur long est convertie en revendication UserId avec un type de valeur chaîne.

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Revendications d’entrée :
    • inputClaim: 12334 (long)
  • Revendications de sortie :
    • outputClaim: "12334" (string)

Étapes suivantes