Compartilhar via


Transformações de declarações inteiros

Importante

A partir de 1º de maio de 2025, o Azure AD B2C não estará mais disponível para compra para novos clientes. Saiba mais em nossas perguntas frequentes.

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

Número de ajuste

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 Anotações
Reivindicação de entrada InputClaim int O tipo de declaração, que contém o número a ser aumentado ou reduzido. Se o valor da inputClaim declaração for nulo, o padrão de 0 será usado.
Parâmetro de entrada Operador corda Valores possíveis: INCREMENT (padrão) ou DECREMENT.
Declaração de saída declaração de saída 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 de 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:
    • declaração de saída: 2

Exemplo de AdjustNumber com valor nulo

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

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

AssertNumber

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

Elemento TransformationClaimType Tipo de Dados Anotações
Reivindicação de entrada InputClaim int A primeira declaração numérica para comparar se ela é maior, menor, igual ou não igual ao segundo número. Valor nulo gerará uma exceção.
Parâmetro de entrada CompararValor int O segundo número a ser comparado se ele é maior, menor, igual ou não igual ao primeiro número.
Parâmetro de entrada Operador corda Valores possíveis: LessThan, GreaterThan, GreaterThanOrEqual, LessThanOrEqual, Equal, NotEqual.
Parâmetro de entrada 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 é true, uma exceção será gerada. Quando definido como false (modo de avaliação), o resultado é um novo tipo de declaração booliana com um valor de true, ou false.
Declaração de saída declaração de saída booleano Se ThrowError estiver definido como false, essa declaração de saída conterá trueou false de acordo com o resultado da comparação.

Modo de declaração

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

Os metadados do perfil técnico autodeclarado AssertNumberError controlam 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 afirma que o número de tentativas é maior que cinco. A transformação de declarações lança 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:
    • reivindicação de entrada: 10
  • Parâmetros de entrada:
    • Operador: GreaterThan
    • CompararAoValor: 5
    • throwError: verdadeiro
  • Resultado: Erro gerado

Exemplo do 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 booliano de acordo com o resultado da comparação. A transformação de declarações não 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:
    • reivindicação de entrada: 10
  • Parâmetros de entrada:
    • Operador: GreaterThan
    • CompararAoValor: 5
    • throwError: falso
  • Declarações de saída:
    • outputClaim: verdadeiro

ConvertNumberToStringClaim

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

Elemento TransformationClaimType Tipo de Dados Anotações
Reivindicação de entrada InputClaim Longas O tipo de declaração a ser convertido em uma cadeia de caracteres.
Declaração de saída declaração de saída corda 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 longo é convertida em uma UserId declaração com um tipo de valor de cadeia de caracteres.

<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 (longo)
  • Declarações de saída:
    • outputClaim: "12334" (cadeia de caracteres)

Próximas etapas