Transformace deklarací identity StringCollection

Tento článek obsahuje příklady použití transformací deklarací identity kolekce řetězců schématu identity Experience Framework v Azure Active Directory B2C (Azure AD B2C). Další informace najdete v tématu Transformace deklarací identity.

AddItemToStringCollection

Přidá deklaraci identity řetězce do nové jedinečné hodnoty stringCollection deklarace identity. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim Prvek řetězec Typ deklarace identity, který se má přidat do výstupní deklarace identity.
InputClaim – kolekce Stringcollection Kolekce řetězců, která se má přidat do výstupní deklarace identity. Pokud kolekce obsahuje položky, transformace deklarací identity zkopíruje položky a přidá položku na konec deklarace identity výstupní kolekce.
OutputClaim – kolekce Stringcollection Typ Deklarace identity, který se vytvoří po této transformaci deklarací identity, byl vyvolán s hodnotou zadanou ve vstupní deklaraci identity.

Pomocí této transformace deklarací identity můžete přidat řetězec do nové nebo existující kolekce stringCollection. Běžně se používá v technickém profilu AAD-UserWriteUsingAlternativeSecurityId . Před vytvořením nového účtu sociální sítě transformace deklarací identity CreateOtherMailsFromEmail přečte ClaimType a přidá hodnotu do hodnoty otherMails ClaimType.

Příklad addItemToStringCollection

Následující transformace deklarací identity přidá typ deklarace identity e-mailu do jiného Typu deklarace identity.

<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>
  • Vstupní deklarace identity:
    • kolekce: ["someone@outlook.com"]
    • položka: "admin@contoso.com"
  • Výstupní deklarace identity:
    • kolekce: ["someone@outlook.com", "admin@contoso.com"]

AddParameterToStringCollection

Přidá řetězcový parametr do nové jedinečné hodnoty stringCollection deklarace identity. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim – kolekce Stringcollection Kolekce řetězců, která se má přidat do výstupní deklarace identity. Pokud kolekce obsahuje položky, transformace deklarací identity zkopíruje položky a přidá položku na konec deklarace identity výstupní kolekce.
InputParameter Prvek řetězec Hodnota, která se má přidat k výstupní deklaraci identity.
OutputClaim – kolekce Stringcollection Typ ClaimType, který se vytvoří po transformaci této deklarace identity byla vyvolána s hodnotou zadanou ve vstupním parametru.

Příklad AddParameterToStringCollection

Následující příklad přidá konstantní e-mailovou adresu (admin@contoso.com) do deklarace identity 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>
  • Vstupní deklarace identity:
    • kolekce: ["someone@outlook.com"]
  • Vstupní parametry
    • položka: "admin@contoso.com"
  • Výstupní deklarace identity:
    • kolekce: ["someone@outlook.com", "admin@contoso.com"]

GetSingleItemFromStringCollection

Získá první položku z zadané kolekce řetězců. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim – kolekce Stringcollection Typy deklarací identity, které jsou používány transformací deklarací identity k získání položky.
OutputClaim extractedItem řetězec ClaimTypes, které jsou vytvořeny po této ClaimsTransformation byla vyvolána. První položka v kolekci.

Příklad GetSingleItemFromStringCollection

Následující příklad přečte deklaraci identity otherMails a vrátí první položku do deklarace e-mailu .

<ClaimsTransformation Id="CreateEmailFromOtherMails" TransformationMethod="GetSingleItemFromStringCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otherMails" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedItem" />
  </OutputClaims>
</ClaimsTransformation>
  • Vstupní deklarace identity:
    • kolekce: ["someone@outlook.com", "someone@contoso.com"]
  • Výstupní deklarace identity:
    • extractedItem: "someone@outlook.com"

StringCollectionContains

Zkontroluje, jestli typ deklarace identity StringCollection obsahuje prvek. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim inputClaim Stringcollection Deklarace, která má být prohledána.
InputParameter položka řetězec Hodnota, která se má hledat.
InputParameter Ignorecase řetězec Určuje, zda má toto porovnání ignorovat případ porovnávaných řetězců.
OutputClaim outputClaim boolean ClaimType, který je vytvořen po této ClaimsTransformation byl vyvolán. Logický indikátor, pokud kolekce obsahuje takový řetězec

Příklad StringCollectionContains

Následující příklad zkontroluje roles , jestli typ deklarace identity stringCollection obsahuje hodnotu 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>
  • Vstupní deklarace identity:
    • inputClaim: ["reader", "author", "admin"]
  • Vstupní parametry:
    • item: "Správa"
    • ignoreCase: "true"
  • Výstupní deklarace identity:
    • outputClaim: "true"

StringCollectionContainsClaim

Zkontroluje, jestli typ deklarace identity StringCollection obsahuje hodnotu deklarace identity. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim – kolekce Stringcollection Nárok, který se má prohledat.
InputClaim položka řetězec Typ deklarace identity, který obsahuje hodnotu, kterou chcete vyhledat.
InputParameter Ignorecase řetězec Určuje, zda má toto porovnání ignorovat případ porovnávaných řetězců.
OutputClaim outputClaim boolean ClaimType, který je vytvořen po této ClaimsTransformation byl vyvolán. Logický indikátor, pokud kolekce obsahuje takový řetězec

Příklad StringCollectionContainsClaim

Následující příklad zkontroluje roles , jestli typ deklarace identity stringCollection obsahuje hodnotu role typu deklarace identity.

<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> 
  • Vstupní deklarace identity:
    • collection: ["reader", "author", "admin"]
    • item: "Správa"
  • Vstupní parametry:
    • ignoreCase: "true"
  • Výstupní deklarace identity:
    • outputClaim: "true"

Další kroky