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
- Encontre mais amostras de transformação de declarações no repositório GitHub da comunidade do Azure AD B2C