Compartilhar via


Transformações de declarações StringCollection

Este artigo fornece exemplos de uso das transformações de declarações de coleções de cadeias de caracteres do esquema da Identity Experience Framework no Azure Active Directory B2C (Azure AD B2C). Para obter mais informações, consulte Transformações de declarações.

AddItemToStringCollection

Adiciona uma declaração de cadeia de caracteres a uma nova declaração stringCollection. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim Elemento string O ClaimType a ser adicionado à declaração de saída.
InputClaim collection stringCollection A coleção de cadeia de caracteres a ser adicionada à declaração de saída. Se a coleção contiver itens, a transformação de declarações copiará os itens desta coleção e adicionará o item ao final da declaração da coleção de saída.
OutputClaim collection stringCollection O ClaimType que é produzido depois de invocar esta transformação de declaração, com o valor especificado no parâmetro de entrada.

Use essa transformação de declaração para adicionar uma cadeia de caracteres a uma stringCollection nova ou existente. Ele é normalmente usado em um perfil técnico do AAD-UserWriteUsingAlternativeSecurityId. Antes que uma nova conta social seja criada, a transformação da declaração CreateOtherMailsFromEmail lê o ClaimType e adiciona o valor ao ClaimType otherMails.

Exemplo de AddItemToStringCollection

A transformação de declarações a seguir adiciona o ClaimType email ao ClaimType otherMails.

<ClaimsTransformation Id="CreateOtherMailsFromEmail" TransformationMethod="AddItemToStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="item" />
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </OutputClaims>
</ClaimsTransformation>
  • Declarações de entrada:
    • collection: ["someone@outlook.com"]
    • item: "admin@contoso.com"
  • Declarações de saída:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

AddParameterToStringCollection

Adiciona um parâmetro de cadeia de caracteres a uma nova declaração StringCollection de valores únicos. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim collection stringCollection A coleção de cadeia de caracteres a ser adicionada à declaração de saída. Se a coleção contiver itens, a transformação de declarações copiará os itens desta coleção e adicionará o item ao final da declaração da coleção de saída.
InputParameter Elemento string O valor a ser adicionado à declaração de saída.
OutputClaim collection stringCollection O ClaimType que é produzido depois de invocar esta transformação de declaração, com o valor especificado no parâmetro de entrada.

Exemplo de AddParameterToStringCollection

O exemplo a seguir adiciona um endereço de email constante (admin@contoso.com) à declaração otherMails.

<ClaimsTransformation Id="SetCompanyEmail" TransformationMethod="AddParameterToStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="item" DataType="string" Value="admin@contoso.com" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </OutputClaims>
</ClaimsTransformation>
  • Declarações de entrada:
    • collection: ["someone@outlook.com"]
  • Parâmetros de entrada
    • item: "admin@contoso.com"
  • Declarações de saída:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

GetSingleItemFromStringCollection

Obtém o primeiro item da coleção de cadeia de caracteres fornecida. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim collection stringCollection Os ClaimTypes que são usados pela transformação de declarações para obter o item.
OutputClaim extractedItem Cadeia de caracteres Os ClaimTypes produzidos depois de invocar este ClaimsTransformation. O primeiro item na coleção.

Exemplo de GetSingleItemFromStringCollection

O exemplo a seguir lê a declaração otherMails e retorna o primeiro item para a declaração email.

<ClaimsTransformation Id="CreateEmailFromOtherMails" TransformationMethod="GetSingleItemFromStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedItem" />
  </OutputClaims>
</ClaimsTransformation>
  • Declarações de entrada:
    • collection: ["someone@outlook.com", "someone@contoso.com"]
  • Declarações de saída:
    • extractedItem: "someone@outlook.com"

StringCollectionContains

Verifica se um tipo de declaração StringCollection contém um elemento. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim InputClaim stringCollection A declaração a ser pesquisada.
InputParameter item string O valor a pesquisar.
InputParameter ignoreCase string Especifica se essa comparação deve ignorar maiúsculas e minúsculas das cadeias de caracteres que estão sendo comparadas.
OutputClaim outputClaim booleano O ClaimType produzido depois de invocar esta ClaimsTransformation. Um indicador booliano se a coleção contiver uma cadeia de caracteres desse tipo

Exemplo de StringCollectionContains

O exemplo a seguir verifica se o roles tipo de declaração StringCollection contém o valor de admin.

<ClaimsTransformation Id="IsAdmin" TransformationMethod="StringCollectionContains">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="roles" TransformationClaimType="inputClaim"/>
  </InputClaims>
  <InputParameters>
    <InputParameter  Id="item" DataType="string" Value="Admin"/>
    <InputParameter  Id="ignoreCase" DataType="string" Value="true"/>
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="isAdmin" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>
  • Declarações de entrada:
    • inputClaim: ["reader", "author", "admin"]
  • Parâmetros de entrada:
    • item: "Admin"
    • ignoreCase: "true"
  • Declarações de saída:
    • outputClaim: "true"

StringCollectionContainsClaim

Verifica se um tipo de declaração StringCollection contém um valor de declaração. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim collection stringCollection A declaração a ser pesquisada.
InputClaim item string O tipo de declaração que contém o valor a ser pesquisado.
InputParameter ignoreCase string Especifica se essa comparação deve ignorar maiúsculas e minúsculas das cadeias de caracteres que estão sendo comparadas.
OutputClaim outputClaim booleano O ClaimType produzido depois de invocar esta ClaimsTransformation. Um indicador booliano se a coleção contiver uma cadeia de caracteres desse tipo

Exemplo de StringCollectionContainsClaim

O exemplo a seguir verifica se o roles tipo de declaração StringCollection contém o valor de roletipo de declaração.

<ClaimsTransformation Id="HasRequiredRole" TransformationMethod="StringCollectionContainsClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="roles" TransformationClaimType="collection" />
    <InputClaim ClaimTypeReferenceId="role" TransformationClaimType="item" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="ignoreCase" DataType="string" Value="true" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="hasAccess" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation> 
  • Declarações de entrada:
    • coleção: ["reader", "author", "admin"]
    • item: "Admin"
  • Parâmetros de entrada:
    • ignoreCase: "true"
  • Declarações de saída:
    • outputClaim: "true"

Próximas etapas