Transformações gerais de afirmações

Este artigo fornece exemplos para utilizar transformações de afirmações gerais da política personalizada do Azure Active Directory B2C (Azure AD B2C). Para obter mais informações, veja transformações de afirmações.

CopyClaim

Copie o valor de uma afirmação para outra. Ambas as afirmações têm de ser do mesmo tipo. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputClaim cadeia, int O tipo de afirmação, que deve ser copiado.
OutputClaim outputClaim cadeia, int A afirmação que é produzida após esta transformação de afirmações ter sido invocada.

Utilize esta transformação de afirmações para copiar um valor de uma cadeia ou afirmação numérica para outra afirmação. O exemplo seguinte copia o valor de afirmação externalEmail para a afirmação de e-mail.

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

Exemplo de CopyClaim

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

DoesClaimExist

Verifica se a afirmação de entrada existe e define a afirmação de saída para true ou false em conformidade. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputClaim Qualquer A afirmação de entrada cuja existência tem de ser verificada.
OutputClaim outputClaim boolean A afirmação que é produzida após esta transformação de afirmações ter sido invocada.

Exemplo de DoesClaimExist

Utilize esta transformação de afirmações para verificar se existe uma afirmação ou se contém algum valor. O valor devolvido é um valor booleano que indica se a afirmação existe. O exemplo seguinte verifica se o endereço de e-mail existe.

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

Hash

Hash o texto simples fornecido com o sal e um segredo. O algoritmo hash utilizado é SHA-256. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim texto simples string A afirmação de entrada a encriptar
InputClaim sal string O parâmetro de sal. Pode criar um valor aleatório com a CreateRandomString transformação de afirmações.
InputParameter randomizerSecret string Aponta para uma chave de política B2C Azure AD existente. Para criar uma nova chave de política: na sua Azure AD inquilino B2C, em Gerir, selecione Identity Experience Framework. Selecione Chaves de política para ver as chaves disponíveis no seu inquilino. Selecione Adicionar. Para Opções, selecione Manual. Indique um nome (o prefixo B2C_1A_ pode ser adicionado automaticamente.). Na caixa de texto Segredo , introduza qualquer segredo que pretenda utilizar, como 1234567890. Para Utilização de chaves, selecione Assinatura. Selecione Criar.
OutputClaim hash string A afirmação que é produzida após esta transformação de afirmações ter sido invocada. A afirmação configurada no plaintext inputClaim.

Exemplo de Hash

O exemplo seguinte demonstra como hash um endereço de e-mail. A transformação de afirmações adiciona o sal ao endereço de e-mail antes de hashar o valor. Para chamar esta transformação de afirmações, defina um valor para a mySalt afirmação.

<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>
  • Afirmações de entrada:
    • texto simples: someone@contoso.com
    • sal: 487624568
    • randomizerSecret: B2C_1A_AccountTransformSecret
  • Afirmações de saída:
    • outputClaim: CdMNb/KTEfsWzh9MR1kQGRZCKjuxGMWhA5YQNihzV6U=

Passos seguintes