Dela via


StringCollection-anspråkstransformeringar

Den här artikeln innehåller exempel på hur du använder omvandlingar av anspråk för strängsamlingen av Identity Experience Framework-schemat i Azure Active Directory B2C (Azure AD B2C). Mer information finns i anspråkstransformeringar.

AddItemToStringCollection

Lägger till ett stränganspråk till ett nytt stringCollection-anspråk för unika värden. Ta en titt på livedemon för den här anspråkstransformeringen.

Element TransformationClaimType Datatyp Kommentarer
InputClaim Element sträng Den ClaimType som ska läggas till i utdataanspråket.
InputClaim samling stringCollection Strängsamlingen som ska läggas till i utdataanspråket. Om samlingen innehåller objekt kopierar anspråkstransformeringen objekten och lägger till objektet i slutet av utdatainsamlingsanspråket.
OutputClaim samling stringCollection Den ClaimType som skapas efter denna anspråkstransformering har anropats, med det värde som anges i det inkommande anspråket.

Använd den här anspråkstransformeringen för att lägga till en sträng i en ny eller befintlig stringCollection. Den används ofta i en teknisk AAD-UserWriteUsingAlternativeSecurityId-profil . Innan ett nytt socialt konto skapas läser CreateOtherMailsFromEmail-anspråkstransformeringen ClaimType och lägger till värdet i otherMails ClaimType.

Exempel på AddItemToStringCollection

Följande anspråkstransformering lägger till e-postanspråkstypen till otherMails ClaimType.

<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>
  • Inkommande anspråk:
    • collection: ["someone@outlook.com"]
    • item: "admin@contoso.com"
  • Utgående anspråk:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

AddParameterToStringCollection

Lägger till en strängparameter i ett nytt stringCollection-anspråk för unika värden. Check out the Live demo of this claims transformation.

Element TransformationClaimType Datatyp Kommentarer
InputClaim samling stringCollection The string collection to be added to the output claim. If the collection contains items, the claims transformation copies the items, and adds the item to the end of the output collection claim.
InputParameter Element sträng Värdet som ska läggas till i utdataanspråket.
OutputClaim samling stringCollection Den ClaimType som skapas efter denna anspråkstransformering har anropats, med det värde som anges i indataparametern.

Exempel på AddParameterToStringCollection

I följande exempel läggs en konstant e-postadress (admin@contoso.com) till i anspråket 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>
  • Input claims:
    • collection: ["someone@outlook.com"]
  • Indataparametrar
    • item: "admin@contoso.com"
  • Output claims:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

GetSingleItemFromStringCollection

Hämtar det första objektet från den angivna strängsamlingen. Check out the Live demo of this claims transformation.

Element TransformationClaimType Datatyp Kommentarer
InputClaim samling stringCollection ClaimTypes som används av anspråkstransformeringen för att hämta objektet.
OutputClaim extractedItem sträng ClaimTypes som skapas efter denna ClaimsTransformation har anropats. Det första objektet i samlingen.

Exempel på GetSingleItemFromStringCollection

I följande exempel läses otherMails-anspråket och det första objektet returneras till e-postanspråket .

<ClaimsTransformation Id="CreateEmailFromOtherMails" TransformationMethod="GetSingleItemFromStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedItem" />
  </OutputClaims>
</ClaimsTransformation>
  • Input claims:
    • collection: ["someone@outlook.com", "someone@contoso.com"]
  • Output claims:
    • extractedItem: "someone@outlook.com"

StringCollectionContains

Kontrollerar om en StringCollection-anspråkstyp innehåller ett element. Check out the Live demo of this claims transformation.

Element TransformationClaimType Datatyp Kommentarer
InputClaim inputClaim stringCollection Anspråket som ska genomsökas.
InputParameter objekt sträng Det värde som ska sökas.
InputParameter ignoreCase sträng Anger om den här jämförelsen ska ignorera fallet med de strängar som jämförs.
OutputClaim outputClaim boolean ClaimType som skapas efter denna ClaimsTransformation har anropats. En boolesk indikator om samlingen innehåller en sådan sträng

Exempel på StringCollectionContains

I följande exempel kontrolleras om roles anspråkstypen stringCollection innehåller värdet 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>
  • Inkommande anspråk:
    • inputClaim: ["reader", "author", "admin"]
  • Indataparametrar:
    • item: "Admin"
    • ignoreCase: "true"
  • Utgående anspråk:
    • outputClaim: "true"

StringCollectionContainsClaim

Kontrollerar om en StringCollection-anspråkstyp innehåller ett anspråksvärde. Ta en titt på livedemon för den här anspråkstransformeringen.

Element TransformationClaimType Datatyp Kommentarer
InputClaim samling stringCollection Anspråket som ska genomsökas.
InputClaim objekt sträng Anspråkstypen som innehåller det värde som ska sökas.
InputParameter ignoreCase sträng Anger om den här jämförelsen ska ignorera fallet med de strängar som jämförs.
OutputClaim outputClaim boolean ClaimType som skapas efter denna ClaimsTransformation har anropats. En boolesk indikator om samlingen innehåller en sådan sträng

Exempel på StringCollectionContainsClaim

I följande exempel kontrolleras om roles anspråkstypen stringCollection innehåller värdet för anspråkstypen 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> 
  • Inkommande anspråk:
    • collection: ["reader", "author", "admin"]
    • item: "Admin"
  • Indataparametrar:
    • ignoreCase: "true"
  • Utgående anspråk:
    • outputClaim: "true"

Nästa steg