Partilhar via


Transformações de declarações inteiras

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 nas nossas Perguntas Frequentes.

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

AdjustNumber

Aumenta ou diminui uma reivindicação numérica e retorna uma nova reivindicação. Confira a demonstração ao vivo dessa transformação de reivindicações.

Elemento TransformationClaimType Tipo de dados Observações
InputClaim inputClaim Int O tipo de declaração, que contém o número a aumentar ou diminuir. Se o valor da inputClaim declaração for nulo, o padrão 0 será usado.
Parâmetro de Entrada Operador corda Valores possíveis: INCREMENT (padrão) ou DECREMENT.
OutputClaim outputClaim Int O tipo de declaração que é produzido após essa transformação de declarações ter sido invocada.

Exemplo de AdjustNumber

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

<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: INCREMENT
  • 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á uma.

  • Declarações de entrada:
    • inputClaim: NULL
  • Parâmetros de entrada:
    • Operador: INCREMENT
  • 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 dessa transformação de reivindicações.

Elemento TransformationClaimType Tipo de dados Observações
InputClaim inputClaim Int A primeira reivindicação numérica para comparar se é maior, menor, igual ou não igual ao segundo número. Valor nulo lança uma exceção.
Parâmetro de Entrada CompareToValue Int O segundo número para comparar se é 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 asserçã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 asserção), e o resultado da comparação for true, uma exceção será lançada. 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 estiver definido como false, esta declaração de saída contém true, ou false de acordo com o resultado da comparação.

Modo de asserção

Quando throwError o parâmetro input é true (padrão), a transformação de declarações AssertNumber é sempre executada a partir de um perfil técnico de validação que é 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. 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 declarações em um modo de asserção, consulte AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue e AssertDateTimeIsGreaterThan transformações de declarações.

Exemplo de AssertNumber

O exemplo a seguir afirma que o número de tentativas é superior a 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: verdadeiro
  • Resultado: Erro lançado

Exemplo de modo de avaliação AssertNumber

O exemplo a seguir avalia se o número de tentativas é superior a 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 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: 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 dessa transformação de reivindicações.

Elemento TransformationClaimType Tipo de dados Observações
InputClaim inputClaim longo O tipo de declaração a ser convertido em uma cadeia de caracteres.
OutputClaim outputClaim corda O tipo de declaração que é produzido após essa transformação de declarações ter sido invocada.

Exemplo de ConvertNumberToStringClaim

Neste exemplo, a numericUserId declaração com um tipo de valor long é 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" (string)

Próximos passos

  • Encontre mais exemplos de transformação de declarações no repositório GitHub da comunidade do Azure AD B2C