Partilhar via


DeclaraçõesTransformações

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.

Observação

No Azure Ative Directory B2C, as políticas personalizadas são projetadas principalmente para lidar com cenários complexos. Para a maioria dos cenários, recomendamos a utilização dos fluxos de utilizador incorporados. Se você não tiver feito isso, saiba mais sobre o pacote inicial de políticas personalizadas em Introdução às políticas personalizadas no Ative Directory B2C.

O elemento ClaimsTransformations contém uma lista de funções de transformação de declarações que podem ser usadas em jornadas do usuário como parte de uma política personalizada. Uma transformação de afirmações converte uma determinada afirmação noutra. Na transformação de declarações, você especifica o método transform, por exemplo, adicionando um item a uma coleção de cadeia de caracteres ou alterando as maiúsculas e minúsculas de uma cadeia de caracteres.

Para incluir a lista de funções de transformação de declarações que podem ser usadas nas jornadas do usuário, um elemento XML ClaimsTransformations deve ser declarado na seção BuildingBlocks da política.

<ClaimsTransformations>
  <ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
    ...
  </ClaimsTransformation>
</ClaimsTransformations>

O elemento ClaimsTransformation contém os seguintes atributos:

Atributo Obrigatório Descrição
Id Sim Um identificador que é usado para identificar exclusivamente a transformação da declaração. O identificador é referenciado a partir de outros elementos XML na política.
Método de transformação Sim O método transform a ser usado na transformação de declarações. Cada transformação de reivindicação tem seus próprios valores. Consulte a referência de transformação de declarações para obter uma lista completa dos valores disponíveis.

ClaimsTransformation

O elemento ClaimsTransformation contém os seguintes elementos:

<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
  <InputClaims>
    ...
  </InputClaims>
  <InputParameters>
    ...
  </InputParameters>
  <OutputClaims>
    ...
  </OutputClaims>
</ClaimsTransformation>
Elemento Ocorrências Descrição
InputClaims 0:1 Uma lista de elementos InputClaim que especificam tipos de declaração que são tomados como entrada para a transformação de declarações. Cada um desses elementos contém uma referência a um ClaimType já definido na seção ClaimsSchema da política.
InputParameters 0:1 Uma lista de elementos InputParameter que são fornecidos como entrada para a transformação de declarações.
OutputClaims 0:1 Uma lista de elementos OutputClaim que especificam tipos de declaração que são produzidos após o ClaimsTransformation ter sido invocado. Cada um desses elementos contém referência a um ClaimType já definido na seção ClaimsSchema.

InputClaims

O elemento InputClaims contém o seguinte elemento :

Elemento Ocorrências Descrição
InputClaim 1:n Um tipo de declaração de entrada esperado.

InputClaim

O elemento InputClaim contém os seguintes atributos:

Atributo Obrigatório Descrição
IdentificadorDeReferênciaDeTipoDeReivindicação Sim Uma referência a um ClaimType já definido na seção ClaimsSchema da política.
TransformationClaimType Sim Um identificador para fazer referência a um tipo de declaração de transformação. Cada transformação de reivindicação tem seus próprios valores. Consulte a referência de transformação de declarações para obter uma lista completa dos valores disponíveis.

InputParameters

O elemento InputParameters contém o seguinte elemento:

Elemento Ocorrências Descrição
Parâmetro de Entrada 1:n Um parâmetro de entrada esperado.

Parâmetro de Entrada

Atributo Obrigatório Descrição
Id Sim Um identificador que é uma referência a um parâmetro do método de transformação de declarações. Cada método de transformação de declarações tem seus próprios valores. Consulte a tabela de transformação de declarações para obter uma lista completa dos valores disponíveis.
Tipo de Dados Sim O tipo de dados do parâmetro, como String, Boolean, Int ou DateTime de acordo com a enumeração DataType no esquema XML da política personalizada. Este tipo é usado para executar operações aritméticas corretamente. Cada transformação de reivindicação tem seus próprios valores. Consulte a referência de transformação de declarações para obter uma lista completa dos valores disponíveis.
Valor Sim Um valor que é passado literalmente para a transformação. Alguns dos valores são arbitrários, alguns deles você seleciona a partir do método de transformação de declarações.

OutputClaims

O elemento OutputClaims contém o seguinte elemento :

Elemento Ocorrências Descrição
OutputClaim 0:n Um tipo de declaração de saída esperado.

OutputClaim

O elemento OutputClaim contém os seguintes atributos:

Atributo Obrigatório Descrição
IdentificadorDeReferênciaDeTipoDeReivindicação Sim Uma referência a um ClaimType já definido na seção ClaimsSchema da política.
TransformationClaimType Sim Um identificador para fazer referência a um tipo de declaração de transformação. Cada transformação de reivindicação tem seus próprios valores. Consulte a referência de transformação de declarações para obter uma lista completa dos valores disponíveis.

As declarações de entrada e saída usadas na transformação de sinistros precisam ser distintas. A mesma declaração de entrada não pode ser usada como a declaração de saída.

Exemplo

Por exemplo, você pode armazenar a última versão dos seus termos de serviço que o usuário aceitou. Ao atualizar os termos de serviço, você pode pedir ao usuário para aceitar a nova versão. No exemplo a seguir, a transformação de declarações HasTOSVersionChanged compara o valor da declaração TOSVersion com o valor da declaração LastTOSAcceptedVersion e, em seguida, retorna a declaração booleana TOSVersionChanged .

<BuildingBlocks>
  <ClaimsSchema>
    <ClaimType Id="TOSVersionChanged">
      <DisplayName>Indicates if the TOS version accepted by the end user is equal to the current version</DisplayName>
      <DataType>boolean</DataType>
    </ClaimType>
    <ClaimType Id="TOSVersion">
      <DisplayName>TOS version</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    <ClaimType Id="LastTOSAcceptedVersion">
      <DisplayName>TOS version accepted by the end user</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
  </ClaimsSchema>

  <ClaimsTransformations>
    <ClaimsTransformation Id="HasTOSVersionChanged" TransformationMethod="CompareClaims">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="TOSVersion" TransformationClaimType="inputClaim1" />
        <InputClaim ClaimTypeReferenceId="LastTOSAcceptedVersion" TransformationClaimType="inputClaim2" />
      </InputClaims>
      <InputParameters>
        <InputParameter Id="operator" DataType="string" Value="NOT EQUAL" />
      </InputParameters>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="TOSVersionChanged" TransformationClaimType="outputClaim" />
      </OutputClaims>
    </ClaimsTransformation>
  </ClaimsTransformations>
</BuildingBlocks>

Referência de transformações de declarações

Para obter exemplos de transformações de declarações, consulte as seguintes páginas de referência: