Transformações de declarações gerais

Este artigo fornece exemplos para usar as transformações da política personalizada do Azure Active Directory B2C (Azure AD B2C). Para obter mais informações, consulte transformações de declarações.

CopyClaim

Copiar o valor de uma declaração para outra. Ambas as declarações devem ser do mesmo tipo. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim InputClaim string, int Tipo da declaração, que será copiado.
OutputClaim outputClaim string, int A declaração que é produzida após a invocação dessa transformação de declarações.

Use essa transformação de declarações para copiar um valor de uma declaração de cadeia de caracteres ou numérica para outra declaração. O exemplo a seguir copia o valor da declaração externalEmail para a declaração de email.

<ClaimsTransformation Id="CopyEmailAddress" TransformationMethod="CopyClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="externalEmail" TransformationClaimType="inputClaim"/>
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

Exemplo de CopyClaim

  • Declarações de entrada:
    • inputClaim: bob@contoso.com
  • Declarações de saída:
    • outputClaim: bob@contoso.com

DoesClaimExist

Verifica se a declaração de entrada existe e define a declaração de saída como true ou false de acordo. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim InputClaim Qualquer A declaração de entrada cuja existência deve ser verificada.
OutputClaim outputClaim booleano A declaração que é produzida após a invocação dessa transformação de declarações.

Exemplo de DoesClaimExist

Use essa transformação de declarações para verificar se uma declaração existe ou se contém algum valor. O valor retornado é um valor booliano que indica se a declaração existe. O exemplo a seguir verifica se o endereço de email existe.

<ClaimsTransformation Id="CheckIfEmailPresent" TransformationMethod="DoesClaimExist">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="isEmailPresent" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Declarações de entrada:
    • inputClaim: someone@contoso.com
  • Declarações de saída:
    • outputClaim: true

Hash

Transforme o texto sem formatação fornecido em hash usando o sal e um segredo. O algoritmo de hash usado é o SHA-256. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim texto não criptografado string A declaração de entrada a ser criptografada
InputClaim sal string O parâmetro sal. Você pode criar um valor aleatório, usando a transformação de declarações CreateRandomString.
InputParameter randomizerSecret string Aponta para uma chave de política existente do Azure AD B2C. Para criar uma chave de política: em seu locatário do Azure AD B2C, em Gerenciar, selecione Identity Experience Framework. Selecione Chaves de política para ver as chaves disponíveis no locatário. Selecione Adicionar. Em Opções selecione Manual. Forneça um nome (o prefixo B2C_1A_ pode ser adicionado automaticamente). Na caixa de texto Segredo, insira qualquer segredo que quiser usar, como 1234567890. Para Uso de chave, selecione Assinatura. Selecione Criar.
OutputClaim hash string A declaração que é produzida após a invocação dessa transformação de declarações. A declaração configurada na inputClaim plaintext.

Exemplo de Hash

O exemplo a seguir demonstra como fazer hash de um endereço de email. A transformação de declarações adiciona o sal ao endereço de email antes de fazer hash do valor. Para chamar essa transformação de declarações, defina um valor para a declaração mySalt.

<ClaimsTransformation Id="HashPasswordWithEmail" TransformationMethod="Hash">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="plaintext" />
    <InputClaim ClaimTypeReferenceId="mySalt" TransformationClaimType="salt" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="randomizerSecret" DataType="string" Value="B2C_1A_AccountTransformSecret" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="hashedEmail" TransformationClaimType="hash" />
  </OutputClaims>
</ClaimsTransformation>
  • Declarações de entrada:
    • texto não criptografado: someone@contoso.com
    • sal: 487624568
    • randomizerSecret: B2C_1A_AccountTransformSecret
  • Declarações de saída:
    • outputClaim: CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U=

Próximas etapas