Partager via


Transformations de revendications StringCollection

Cet article fournit des exemples pour l’utilisation des transformations de revendications de collections de chaînes du schéma Identity Experience Framework dans Azure Active Directory B2C (Azure AD B2C). Pour plus d’informations, consultez Transformations de revendications.

AddItemToStringCollection

Ajoute une revendication de chaîne à une nouvelle revendication stringCollection à valeurs uniques. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim Élément string ClaimType à ajouter à la revendication de sortie.
InputClaim collection stringCollection Collection de chaînes à ajouter à la revendication de sortie. Si la collection contient un élément, la transformation de revendication le copie et l’ajoute à la fin de la revendication de collection de sortie.
OutputClaim collection stringCollection ClaimType généré après l'appel de cette transformation de revendication, avec la valeur spécifiée dans la revendication d'entrée.

Utilisez cette transformation de revendication pour ajouter une chaîne à un objet stringCollection nouveau ou existant. Elle est couramment utilisée dans un profil technique AAD-UserWriteUsingAlternativeSecurityId. Avant la création d’un compte social, la transformation de revendication CreateOtherMailsFromEmail lit le ClaimType et ajoute la valeur au ClaimType otherMails.

Exemple d’AddItemToStringCollection

La transformation de revendication suivante ajoute le ClaimType e-mail au 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>
  • Revendications d’entrée :
    • collection : ["someone@outlook.com"]
    • item : "admin@contoso.com"
  • Revendications de sortie :
    • collection : ["someone@outlook.com", "admin@contoso.com"]

AddParameterToStringCollection

Ajoute un paramètre de chaîne à une nouvelle revendication stringCollection à valeurs uniques. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim collection stringCollection Collection de chaînes à ajouter à la revendication de sortie. Si la collection contient un élément, la transformation de revendication le copie et l’ajoute à la fin de la revendication de collection de sortie.
InputParameter Élément string Valeur à ajouter à la revendication de sortie.
OutputClaim collection stringCollection ClaimType généré après que cette transformation de revendication a été appelée, avec la valeur spécifiée dans le paramètre d’entrée.

Exemple de AddParameterToStringCollection

L’exemple suivant ajoute une adresse e-mail constante (admin@contoso.com) à la revendication 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>
  • Revendications d’entrée :
    • collection : ["someone@outlook.com"]
  • Paramètres d'entrée
    • item : "admin@contoso.com"
  • Revendications de sortie :
    • collection : ["someone@outlook.com", "admin@contoso.com"]

GetSingleItemFromStringCollection

Obtient le premier élément de la collection de chaînes fournie. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim collection stringCollection ClaimTypes qui sont utilisés par la transformation de revendication pour obtenir l’élément.
OutputClaim extractedItem string ClaimTypes générés après l’appel de cette ClaimsTransformation. Premier élément de la collection.

Exemple de GetSingleItemFromStringCollection

L’exemple suivant lit la revendication otherMails et retourne le premier élément dans la revendication e-mail.

<ClaimsTransformation Id="CreateEmailFromOtherMails" TransformationMethod="GetSingleItemFromStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedItem" />
  </OutputClaims>
</ClaimsTransformation>
  • Revendications d’entrée :
    • collection : ["someone@outlook.com", "someone@contoso.com"]
  • Revendications de sortie :
    • extractedItem : "someone@outlook.com"

StringCollectionContains

Vérifie si un type de revendication StringCollection contient un élément. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim inputClaim stringCollection Revendication à rechercher.
InputParameter item string Valeur à rechercher.
InputParameter ignoreCase string Spécifie si cette comparaison doit ignorer la casse des chaînes comparées.
OutputClaim outputClaim boolean ClaimType généré après l’appel de cette ClaimsTransformation. Indicateur booléen si la collection contient une telle chaîne

Exemple de StringCollectionContains

L’exemple suivant vérifie si le type de revendication stringCollection roles contient la valeur 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>
  • Revendications d’entrée :
    • inputClaim : ["reader", "author", "admin"]
  • Paramètres d’entrée :
    • item : "Admin"
    • ignoreCase : "true"
  • Revendications de sortie :
    • outputClaim : "true"

StringCollectionContainsClaim

Vérifie si un type de revendication StringCollection contient une valeur de revendication. Découvrez la démonstration en direct de cette transformation de revendication.

Élément TransformationClaimType Type de données Notes
InputClaim collection stringCollection Revendication à rechercher.
InputClaim item string Le type de revendication qui contient la valeur à rechercher.
InputParameter ignoreCase string Spécifie si cette comparaison doit ignorer la casse des chaînes comparées.
OutputClaim outputClaim boolean ClaimType généré après l’appel de cette ClaimsTransformation. Indicateur booléen si la collection contient une telle chaîne

Exemple de StringCollectionContainsClaim

L’exemple suivant vérifie si le type de revendication stringCollection roles contient la valeur du type de revendication role.

<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> 
  • Revendications d’entrée :
    • collection : ["reader", "author", "admin"]
    • item : "Admin"
  • Paramètres d’entrée :
    • ignoreCase : "true"
  • Revendications de sortie :
    • outputClaim : "true"

Étapes suivantes