Transformações de afirmações de número inteiro
Este artigo fornece exemplos para utilizar as transformações de afirmações de número inteiro do esquema do Identity Experience Framework no Azure Active Directory B2C (Azure AD B2C). Para obter mais informações, veja ClaimsTransformations (AfirmaçõesTransformações).
Ajustar Numeração
Aumenta ou diminui uma afirmação numérica e devolve uma nova afirmação. Veja a demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | inputClaim | int | O tipo de afirmação, que contém o número para aumentar ou diminuir. Se o valor da inputClaim afirmação for nulo, é utilizada a predefinição de 0. |
InputParameter | Operador | string | Valores possíveis: INCREMENT (predefinição) ou DECREMENT . |
OutputClaim | outputClaim | int | O tipo de afirmação produzido após a invocação desta transformação de afirmações. |
Exemplo de AdjustNumber
Utilize esta transformação de afirmação para aumentar ou diminuir um valor de afirmação numérica. A seguinte transformação de afirmação aumenta um valor de afirmaçã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>
- Afirmações de entrada:
- inputClaim: 1
- Parâmetros de entrada:
- Operador: INCREMENT
- Afirmações de saída:
- outputClaim: 2
Exemplo de AdjustNumber com valor nulo
Se a afirmação de entrada for nula, a afirmação de saída será uma.
- Afirmações de entrada:
- inputClaim: NULL
- Parâmetros de entrada:
- Operador: INCREMENT
- Afirmações de saída:
- outputClaim: 1
AssertNumber
Determina se uma afirmação numérica é maior, menor, igual ou não igual a um número. Veja a demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | inputClaim | int | A primeira afirmação numérica para comparar se é maior, menor, igual ou não igual ao segundo número. O valor nulo gera uma exceção. |
InputParameter | CompareToValue | int | O segundo número para comparar se é maior, menor, igual ou não igual ao primeiro número. |
InputParameter | Operador | string | Valores possíveis: LessThan , , GreaterThan , GreaterThanOrEqual LessThanOrEqual , , Equal NotEqual . |
InputParameter | throwError | boolean | Especifica se esta afirmação deve gerar um erro se o resultado da comparação for true . Valores possíveis: true (predefinição) ou false . Quando definido como true (Modo de asserção) e o resultado da comparação for true , será emitida uma exceção. Quando definido como false (Modo de avaliação), o resultado é um novo tipo de afirmação booleana com um valor de true , ou false . |
OutputClaim | outputClaim | boolean | Se ThrowError estiver definida como false , esta afirmação de true saída contém , ou false de acordo com o resultado da comparação. |
Modo de asserção
Quando throwError
o parâmetro de entrada é true
(predefinição), a transformação de afirmações AssertNumber é sempre executada a partir de um perfil técnico de validação chamado por um perfil técnico auto-afirmado.
Os metadados de perfil técnico assertNumberError auto-afirmado controlam a mensagem de erro que o perfil técnico apresenta ao utilizador. As mensagens de erro podem ser localizadas.
<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 afirmações num modo de afirmação, veja AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue e AssertDateTimeIsGreaterThan claims transformations.
Exemplo de AssertNumber
O exemplo seguinte afirma que o número de tentativas é superior a cinco. A transformação de afirmaçõ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>
- Afirmações de entrada:
- inputClaim: 10
- Parâmetros de entrada:
- Operador: GreaterThan
- CompareToValue: 5
- throwError: true
- Resultado: Erro emitido
Exemplo do modo de avaliação AssertNumber
O exemplo seguinte avalia se o número de tentativas é superior a cinco. A afirmação de saída contém um valor booleano de acordo com o resultado da comparação. A transformação de afirmações não gera 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>
- Afirmações de entrada:
- inputClaim: 10
- Parâmetros de entrada:
- Operador: GreaterThan
- CompareToValue: 5
- throwError: false
- Afirmações de saída:
- outputClaim: true
ConverterNumberToStringClaim
Converte um tipo de dados longo num tipo de dados de cadeia. Veja a demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | inputClaim | long | O tipo de afirmação para converter numa cadeia. |
OutputClaim | outputClaim | string | O tipo de afirmação produzido após a invocação desta transformação de afirmações. |
Exemplo de ConvertNumberToStringClaim
Neste exemplo, a numericUserId
afirmação com um tipo de valor longo é convertida numa UserId
afirmação com um tipo de valor de cadeia.
<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Afirmações de entrada:
- inputClaim: 12334 (longo)
- Afirmações de saída:
- outputClaim: "12334" (cadeia)
Passos seguintes
- Encontre mais exemplos de transformação de afirmações no repositório do GitHub da comunidade B2C Azure AD