Freigeben über


StringCollection-Anspruchstransformationen

Dieser Artikel enthält Beispiele für die Verwendung der Anspruchstransformationen der Zeichenfolgensammlung des Identity Experience Framework-Schemas in Azure Active Directory B2C (Azure AD B2C). Weitere Informationen finden Sie unter Transformationen von Ansprüchen.

AddItemToStringCollection

Fügt einem neuen stringCollection-Anspruch einen Zeichenfolgenanspruch hinzu. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung item Schnur Der Anspruchstyp, der dem Ausgabeanspruch hinzugefügt werden soll.
Eingabe-Behauptung Sammlung stringCollection Die Zeichenfolgenauflistung, die dem Ausgabeanspruch hinzugefügt werden soll. Wenn die Auflistung Elemente enthält, kopiert die Forderungstransformation die Elemente und fügt das Element am Ende des Ausgabeauflistungsanspruchs hinzu.
OutputClaim (Ausgabeanspruch) Sammlung stringCollection Der ClaimType, der nach dem Aufrufen dieser Anspruchstransformation erstellt wird, wobei der im Eingabeanspruch angegebene Wert angegeben ist.

Verwenden Sie diese Anspruchstransformation, um einer neuen oder vorhandenen stringCollection eine Zeichenfolge hinzuzufügen. Es wird häufig in einem technischen Profil von AAD-UserWriteUsingAlternativeSecurityId verwendet. Bevor ein neues soziales Konto erstellt wird, liest createOtherMailsFromEmail anspruchstransformation den ClaimType und fügt den Wert dem otherMails ClaimType hinzu.

Beispiel für AddItemToStringCollection

Die folgende Anspruchstransformation fügt den email ClaimType zu otherMails ClaimType hinzu.

<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>
  • Eingabeansprüche:
    • collection: ["someone@outlook.com"]
    • item: "admin@contoso.com"
  • Ausgabeansprüche:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

AddParameterToStringCollection

Fügt einem neuen stringCollection-Anspruch einen Zeichenfolgenparameter hinzu. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung Sammlung stringCollection Die Zeichenfolgenauflistung, die dem Ausgabeanspruch hinzugefügt werden soll. Wenn die Auflistung Elemente enthält, kopiert die Forderungstransformation die Elemente und fügt das Element am Ende des Ausgabeauflistungsanspruchs hinzu.
Eingabeparameter item Schnur Der Wert, der dem Ausgabeanspruch hinzugefügt werden soll.
OutputClaim (Ausgabeanspruch) Sammlung stringCollection Der Anspruchstyp, der nach dem Aufruf dieser Anspruchstransformation erstellt wird, wobei der im Eingabeparameter angegebene Wert angegeben ist.

Beispiel für AddParameterToStringCollection

Im folgenden Beispiel wird dem anspruch "otherMails" eine konstante E-Mail-Adresse (admin@contoso.com) hinzugefügt.

<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>
  • Eingabeansprüche:
    • collection: ["someone@outlook.com"]
  • Eingabeparameter
    • item: "admin@contoso.com"
  • Ausgabeansprüche:
    • collection: ["someone@outlook.com", "admin@contoso.com"]

GetSingleItemFromStringCollection

Ruft das erste Element aus der bereitgestellten Zeichenfolgenauflistung ab. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung Sammlung stringCollection Die ClaimTypes, die von der Anspruchstransformation verwendet werden, um das Element abzurufen.
OutputClaim (Ausgabeanspruch) extractedItem Schnur Die ClaimTypes, die erstellt werden, nachdem diese ClaimsTransformation aufgerufen wurde. Das erste Element in der Auflistung.

Beispiel für GetSingleItemFromStringCollection

Im folgenden Beispiel wird der andereMails-Anspruch gelesen und das erste Element in den E-Mail-Anspruch zurückgegeben.

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

StringCollectionContains

Überprüft, ob ein StringCollection-Anspruchstyp ein Element enthält. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung inputClaim stringCollection Der anspruch, der durchsucht werden soll.
Eingabeparameter item Schnur Der zu suchende Wert.
Eingabeparameter ignoreCase Schnur Gibt an, ob bei diesem Vergleich die Groß-/Kleinschreibung in den Zeichenfolgen, die miteinander verglichen werden, ignoriert werden soll.
OutputClaim (Ausgabeanspruch) outputClaim (Ausschreibung) Boolescher Wert Der Anspruchstyp, der nach dem Aufrufen dieser ClaimsTransformation erzeugt wird. Ein boolescher Indikator, wenn die Auflistung eine solche Zeichenfolge enthält

Beispiel für StringCollectionContains

Im folgenden Beispiel wird überprüft, ob der roles stringCollection-Anspruchstyp den Wert des Administrators enthält.

<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>
  • Eingabeansprüche:
    • inputClaim: ["reader", "author", "admin"]
  • Eingabeparameter:
    • item: "Admin"
    • ignoreCase: "true"
  • Ausgabeansprüche:
    • outputClaim: "true"

StringCollectionContainsClaim

Überprüft, ob ein StringCollection-Anspruchstyp einen Anspruchswert enthält. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung Sammlung stringCollection Der anspruch, der durchsucht werden soll.
Eingabe-Behauptung item Schnur Der Anspruchstyp, der den zu durchsuchenden Wert enthält.
Eingabeparameter ignoreCase Schnur Gibt an, ob bei diesem Vergleich die Groß-/Kleinschreibung in den Zeichenfolgen, die miteinander verglichen werden, ignoriert werden soll.
OutputClaim (Ausgabeanspruch) outputClaim (Ausschreibung) Boolescher Wert Der Anspruchstyp, der nach dem Aufrufen dieser ClaimsTransformation erzeugt wird. Ein boolescher Indikator, wenn die Auflistung eine solche Zeichenfolge enthält

Beispiel für StringCollectionContainsClaim

Im folgenden Beispiel wird überprüft, ob der roles stringCollection-Anspruchstyp den Wert des role Anspruchstyps enthält.

<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> 
  • Eingabeansprüche:
    • sammlung: ["reader", "author", "admin"]
    • item: "Admin"
  • Eingabeparameter:
    • ignoreCase: "true"
  • Ausgabeansprüche:
    • outputClaim: "true"

Nächste Schritte