Freigeben über


Transformationen von StringCollection-Ansprüchen

In diesem Artikel werden Beispiele für die Verwendung von Transformationen von StringCollection-Ansprüchen für das Identity Experience Framework-Schema in Azure Active Directory B2C (Azure AD B2C) veranschaulicht. Weitere Informationen finden Sie unter Transformationen von Ansprüchen.

AddItemToStringCollection

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

Element TransformationClaimType Datentyp Notizen
InputClaim Element Zeichenfolge Der Anspruchstyp, der dem Ausgabeanspruch hinzugefügt werden soll.
InputClaim collection stringCollection Die Zeichenfolgensammlung, die dem Ausgabeanspruch hinzugefügt werden soll. Wenn die Sammlung Elemente enthält, werden die Elemente von der Anspruchstransformation kopiert, und das Element wird am Ende des Ausgabensammlungsanspruchs hinzugefügt.
OutputClaim collection stringCollection Der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation ausgelöst wurde, und zwar mit dem Wert, der im Eingabeparameter angegeben wurde.

Verwenden Sie diese Anspruchstransformation, um eine Zeichenfolge zu einer neuen oder einer vorhandenen Zeichenfolgensammlung hinzuzufügen. Sie wird häufig in einem technischen AAD-UserWriteUsingAlternativeSecurityId-Profil verwendet. Bevor ein Social Media-Konto erstellt wird, liest die CreateOtherMailsFromEmail-Anspruchstransformation den Anspruchstyp und fügt den Wert zum Anspruchstyp otherMails hinzu.

Beispiel für AddItemToStringCollection

Die folgende Anspruchstransformation fügt den Anspruchstyp email zu otherMails 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 einen Zeichenfolgenparameter zu einem neuen stringCollection-Anspruch mit eindeutigen Werten hinzu. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim collection stringCollection Die Zeichenfolgensammlung, die dem Ausgabeanspruch hinzugefügt werden soll. Wenn die Sammlung Elemente enthält, werden die Elemente von der Anspruchstransformation kopiert, und das Element wird am Ende des Ausgabensammlungsanspruchs hinzugefügt.
InputParameter Element Zeichenfolge Der Wert, der dem Ausgabeanspruch hinzugefügt werden soll.
OutputClaim collection stringCollection Der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation ausgelöst wurde. Es handelt sich um den Wert, der im Eingabeparameter angegeben ist.

Beispiel für AddItemToStringCollection

Im folgenden Beispiel wird eine konstante E-Mail-Adresse (admin@contoso.com) zum Anspruch otherMails 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 angegebenen Zeichenfolgensammlung ab. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim collection stringCollection Die Anspruchstypen, die von der Anspruchstransformation verwendet werden, um das Element abzurufen
OutputClaim extractedItem Zeichenfolge Die Anspruchstypen, die erstellt werden, nachdem diese Anspruchstransformation aufgerufen wurde. Das erste Element in der Sammlung.

Beispiele für GetSingleItemFromStringCollection

Im folgenden Beispiel wird der Anspruch otherMails gelesen, und das erste Element wird im Anspruch email 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 Notizen
InputClaim inputClaim stringCollection Der zu durchsuchende Anspruch.
InputParameter item Zeichenfolge Der zu suchende Wert.
InputParameter ignoreCase Zeichenfolge Gibt an, ob bei diesem Vergleich die Groß-/Kleinschreibung in den Zeichenfolgen, die miteinander verglichen werden, ignoriert werden soll.
OutputClaim outputClaim boolean Der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Ein boolescher Indikator, wenn die Auflistung eine derartige Zeichenfolge enthält

Beispiel für StringCollectionContains

Im folgenden Beispiel wird überprüft, ob der stringCollection-Anspruchstyp roles den Wert admin 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 Notizen
InputClaim collection stringCollection Der zu durchsuchende Anspruch.
InputClaim item Zeichenfolge Der Anspruchstyp, der den zu suchenden Wert enthält.
InputParameter ignoreCase Zeichenfolge Gibt an, ob bei diesem Vergleich die Groß-/Kleinschreibung in den Zeichenfolgen, die miteinander verglichen werden, ignoriert werden soll.
OutputClaim outputClaim boolean Der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Ein boolescher Indikator, wenn die Auflistung eine derartige Zeichenfolge enthält

Beispiel für StringCollectionContains

Im folgenden Beispiel wird überprüft, ob der stringCollection-Anspruchstyp roles den Wert des Anspruchstyps role 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:
    • collection: ["reader", "author", "admin"]
    • item: "Admin"
  • Eingabeparameter:
    • ignoreCase: "true"
  • Ausgabeansprüche:
    • outputClaim: "true"

Nächste Schritte