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 role
tipo 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
- Encontre mais amostras de transformação de declarações no repositório GitHub da comunidade do Azure AD B2C