Compartilhar via


Transformações de declarações de inteiros

Este artigo fornece exemplos para usar as transformações de declarações de inteiros do esquema da Identity Experience Framework no Azure Active Directory B2C (Azure AD B2C). Para obter mais informações, confira ClaimsTransformations.

AdjustNumber

Aumenta ou diminui uma declaração numérica e retorna uma nova declaração. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim InputClaim INT O tipo de declaração, que contém o número a ser aumentado ou diminuído. Se o valor inputClaim da declaração for nulo, o padrão de 0 será usado.
InputParameter Operador string Valores possíveis: INCREMENT (padrão) ou DECREMENT.
OutputClaim outputClaim INT O tipo de declaração que é produzido depois de invocar esta transformação de declarações.

Exemplo de AdjustNumber

Use essa transformação de declaração para aumentar ou diminuir um valor de declaração numérica. A transformação da declaração a seguir aumenta um valor de declaração numérica.

<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>
  • Declarações de entrada:
    • inputClaim: 1
  • Parâmetros de entrada:
    • Operador: INCREMENTO
  • Declarações de saída:
    • outputClaim: 2

Exemplo de AdjustNumber com valor nulo

Se a declaração de entrada for nula, a declaração de saída será um.

  • Declarações de entrada:
    • inputClaim: NULO
  • Parâmetros de entrada:
    • Operador: INCREMENTO
  • Declarações de saída:
    • outputClaim: 1

AssertNumber

Determina se uma declaração numérica é maior que, menor que, igual a ou diferente de um número. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim InputClaim INT A primeira declaração numérica deve comparar se ela é maior que, menor que, igual a ou diferente do segundo número. Valor nulo gerará uma exceção.
InputParameter CompareToValue INT O segundo número deve comparar se ele é maior que, menor que, igual a ou diferente do primeiro número.
InputParameter Operador string Valores possíveis: LessThan, GreaterThan, GreaterThanOrEqual, LessThanOrEqual, Equal e NotEqual.
InputParameter throwError booleano Especifica se essa declaração deve gerar um erro se o resultado da comparação for true. Valores possíveis: true (padrão) ou false.
 
Quando definido como true (Modo de declaração) e o resultado da comparação for true, uma exceção será gerada. Quando definido como false (Modo de avaliação), o resultado é um novo tipo de declaração booleana com um valor de true ou false.
OutputClaim outputClaim booleano Se ThrowError for definido como false, a declaração de saída contém true ou false de acordo com o resultado da comparação.

Modo de declaração

Quando o parâmetro de entrada throwError for true (padrão), a transformação da declaração AssertNumber é sempre executada a partir de um perfil técnico de validação que é chamado por um perfil técnico autodeclarado.

Os metadados AssertNumberError do perfil técnico autodeclarado controla a mensagem de erro que o perfil técnico apresenta ao usuário. A mensagem de erro pode ser localizada.

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

Para obter mais informações sobre como chamar a transformação de declarações em um modo de declaração, consulte as transformações de declarações AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue e AssertDateTimeIsGreaterThan.

Exemplo de AssertNumber

O exemplo a seguir declara que o número de tentativas é maior que cinco. A transformação de declarações gera um erro de acordo com o resultado da comparação.

<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>
  • Declarações de entrada:
    • inputClaim: 10
  • Parâmetros de entrada:
    • Operador: GreaterThan
    • CompareToValue: 5
    • throwError: true
  • Resultado: Erro gerado

Exemplo de modo de avaliação AssertNumber

O exemplo a seguir avalia se o número de tentativas é maior que cinco. A declaração de saída contém um valor booleano de acordo com o resultado da comparação. A transformação de declarações não irá gerar um erro.

<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>
  • Declarações de entrada:
    • inputClaim: 10
  • Parâmetros de entrada:
    • Operador: GreaterThan
    • CompareToValue: 5
    • throwError: false
  • Declarações de saída:
    • outputClaim: true

ConvertNumberToStringClaim

Converte um tipo de dados Long em um tipo de dados String. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim InputClaim long O tipo de declaração para converter em uma cadeia de caracteres.
OutputClaim outputClaim string O tipo de declaração que é produzido depois de invocar esta transformação de declarações.

Exemplo de ConvertNumberToStringClaim

Neste exemplo, a declaração numericUserId com um tipo de valor Long é convertido em uma declaração UserId com um tipo de valor String.

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Declarações de entrada:
    • inputClaim: 12334 (Long)
  • Declarações de saída:
    • outputClaim: "12334" (String)

Próximas etapas