Freigeben über


ClaimsTransformations

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

Hinweis

In Azure Active Directory B2C sind benutzerdefinierte Richtlinien in erster Linie für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir die Verwendung von integrierten Benutzerflows. Informieren Sie sich, sofern noch nicht geschehen, unter Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure Active Directory B2C über das Starter Pack für benutzerdefinierte Richtlinien.

Das ClaimsTransformations-Element enthält eine Liste der Anspruchstransformationsfunktionen, die in Benutzerreisen als Teil einer benutzerdefinierten Richtlinie verwendet werden können. Eine Anspruchstransformation konvertiert einen Anspruch in einen anderen. In der Anspruchstransformation geben Sie die Transformationsmethode an, z. B. das Hinzufügen eines Elements zu einer Zeichenfolgenauflistung oder das Ändern der Groß-/Kleinschreibung einer Zeichenfolge.

Um die Liste der Anspruchstransformationsfunktionen einzuschließen, die in den Benutzerreisen verwendet werden können, muss ein ClaimsTransformations-XML-Element im Abschnitt BuildingBlocks der Richtlinie deklariert werden.

<ClaimsTransformations>
  <ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
    ...
  </ClaimsTransformation>
</ClaimsTransformations>

Das ClaimsTransformation-Element enthält die folgenden Attribute:

Merkmal Erforderlich BESCHREIBUNG
Id Ja Ein Bezeichner, der verwendet wird, um die Anspruchstransformation eindeutig zu identifizieren. Auf den Bezeichner wird aus anderen XML-Elementen in der Richtlinie verwiesen.
Transformationsmethode Ja Die transformationsmethode, die in der Anspruchstransformation verwendet werden soll. Jede Anspruchstransformation hat eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Anspruchstransformation .

Umwandlung von Ansprüchen

Das ClaimsTransformation-Element enthält die folgenden Elemente:

<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
  <InputClaims>
    ...
  </InputClaims>
  <InputParameters>
    ...
  </InputParameters>
  <OutputClaims>
    ...
  </OutputClaims>
</ClaimsTransformation>
Element Vorkommen BESCHREIBUNG
Eingabe-Ansprüche 0:1 Eine Liste der InputClaim-Elemente , die Anspruchstypen angeben, die als Eingabe für die Anspruchstransformation verwendet werden. Jedes dieser Elemente enthält einen Verweis auf einen ClaimType, der bereits im Abschnitt "ClaimsSchema" in der Richtlinie definiert ist.
Eingabe-Parameter 0:1 Eine Liste der InputParameter-Elemente , die als Eingabe für die Anspruchstransformation bereitgestellt werden.
OutputClaims 0:1 Eine Liste der OutputClaim-Elemente , die Anspruchstypen angeben, die nach dem Aufrufen der ClaimsTransformation erzeugt werden. Jedes dieser Elemente enthält einen Verweis auf einen ClaimType, der bereits im Abschnitt "ClaimsSchema" definiert ist.

Eingabe-Ansprüche

Das InputClaims-Element enthält das folgende Element:

Element Vorkommen BESCHREIBUNG
Eingabe-Behauptung 1:n Ein erwarteter Eingabeanspruchstyp.

Eingabe-Behauptung

Das InputClaim-Element enthält die folgenden Attribute:

Merkmal Erforderlich BESCHREIBUNG
AnspruchstypReferenzId Ja Ein Verweis auf einen ClaimType, der bereits im Abschnitt "ClaimsSchema" in der Richtlinie definiert ist.
TransformationClaimType Ja Ein Bezeichner, der auf einen Transformationsanspruchstyp verweist. Jede Anspruchstransformation hat eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Anspruchstransformation .

Eingabe-Parameter

Das InputParameters-Element enthält das folgende Element:

Element Vorkommen BESCHREIBUNG
Eingabeparameter 1:n Ein erwarteter Eingabeparameter.

Eingabeparameter

Merkmal Erforderlich BESCHREIBUNG
Id Ja Ein Bezeichner, der einen Verweis auf einen Parameter der Anspruchstransformationsmethode darstellt. Jede Anspruchstransformationsmethode hat eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Anspruchstransformationstabelle.
Datentyp Ja Der Datentyp des Parameters, z. B. String, Boolean, Int oder DateTime gemäß der DataType-Enumeration im benutzerdefinierten Richtlinien-XML-Schema. Dieser Typ wird verwendet, um arithmetische Vorgänge ordnungsgemäß auszuführen. Jede Anspruchstransformation hat eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Anspruchstransformation .
Wert Ja Ein Wert, der an die Transformation übergeben wird. Einige der Werte sind willkürlich, von denen Sie aus der Anspruchstransformationsmethode auswählen.

OutputClaims

Das OutputClaims-Element enthält das folgende Element:

Element Vorkommen BESCHREIBUNG
OutputClaim (Ausgabeanspruch) 0:n Ein erwarteter Ausgabeanspruchstyp.

OutputClaim (Ausgabeanspruch)

Das OutputClaim-Element enthält die folgenden Attribute:

Merkmal Erforderlich BESCHREIBUNG
AnspruchstypReferenzId Ja Ein Verweis auf einen ClaimType, der bereits im Abschnitt "ClaimsSchema" in der Richtlinie definiert ist.
TransformationClaimType Ja Ein Bezeichner, der auf einen Transformationsanspruchstyp verweist. Jede Anspruchstransformation hat eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Anspruchstransformation .

Eingabe- und Ausgabeansprüche, die in der Anspruchstransformation verwendet werden, müssen unterschiedlich sein. Derselbe Eingabeanspruch kann nicht als Ausgabeanspruch verwendet werden.

Beispiel

Sie können beispielsweise die letzte Version Ihrer Nutzungsbedingungen speichern, die der Benutzer akzeptiert hat. Wenn Sie die Nutzungsbedingungen aktualisieren, können Sie den Benutzer bitten, die neue Version zu akzeptieren. Im folgenden Beispiel vergleicht die HasTOSVersionChanged-Anspruchstransformation den Wert des TOSVersion-Anspruchs mit dem Wert des LastTOSAcceptedVersion-Anspruchs und gibt dann den booleschen TOSVersionChanged-Anspruch zurück.

<BuildingBlocks>
  <ClaimsSchema>
    <ClaimType Id="TOSVersionChanged">
      <DisplayName>Indicates if the TOS version accepted by the end user is equal to the current version</DisplayName>
      <DataType>boolean</DataType>
    </ClaimType>
    <ClaimType Id="TOSVersion">
      <DisplayName>TOS version</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    <ClaimType Id="LastTOSAcceptedVersion">
      <DisplayName>TOS version accepted by the end user</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
  </ClaimsSchema>

  <ClaimsTransformations>
    <ClaimsTransformation Id="HasTOSVersionChanged" TransformationMethod="CompareClaims">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="TOSVersion" TransformationClaimType="inputClaim1" />
        <InputClaim ClaimTypeReferenceId="LastTOSAcceptedVersion" TransformationClaimType="inputClaim2" />
      </InputClaims>
      <InputParameters>
        <InputParameter Id="operator" DataType="string" Value="NOT EQUAL" />
      </InputParameters>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="TOSVersionChanged" TransformationClaimType="outputClaim" />
      </OutputClaims>
    </ClaimsTransformation>
  </ClaimsTransformations>
</BuildingBlocks>

Referenz zu Anspruchstransformationen

Beispiele für Anspruchstransformationen finden Sie auf den folgenden Referenzseiten: