ClaimsTransformations

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 von Funktionen für das Transformieren von Ansprüchen, die als Teil einer benutzerdefinierten Richtlinie in User Journeys verwendet werden können. Eine Anspruchstransformation konvertiert einen Anspruch in einen anderen. In der Anspruchstransformation legen Sie die Transformationsmethode fest, z.B. das Hinzufügen eines Elements zu einer Zeichenfolgensammlung oder das Ändern der Groß-/Kleinschreibung einer Zeichenfolge.

Ein ClaimsTransformations-XML-Element muss im BuildingBlocks-Abschnitt der Richtlinie deklariert werden, damit die Liste von Anspruchstransformationsfunktionen enthalten wird, die in User Journeys verwendet werden können.

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

Das ClaimsTransformation-Element enthält die folgenden Attribute:

attribute Erforderlich BESCHREIBUNG
Id Ja Ein Bezeichner, der zur eindeutigen Identifizierung der Anspruchstransformation verwendet wird. Andere XML-Elemente in der Richtlinie verweisen auf den Bezeichner.
Transformationsmethode Ja Die Transformationsmethode, die für die Anspruchstransformation verwendet werden soll. Jede Anspruchstransformation verfügt über eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Referenz zu Anspruchstransformationen.

ClaimsTransformation

Das ClaimsTransformation-Element enthält die folgenden Elemente:

<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
  <InputClaims>
    ...
  </InputClaims>
  <InputParameters>
    ...
  </InputParameters>
  <OutputClaims>
    ...
  </OutputClaims>
</ClaimsTransformation>
Element Vorkommen BESCHREIBUNG
InputClaims 0:1 Eine Liste von InputClaim-Elementen, die Anspruchstypen angeben, die als Eingabe in die Anspruchstransformation eingefügt werden. Jedes dieser Elemente enthält einen Verweis auf ein ClaimType-Element, das bereits im ClaimsSchema-Abschnitt der Richtlinie definiert wurde.
InputParameters 0:1 Eine Liste von InputParameter-Elementen, die für die Anspruchstransformation als Eingabe bereitgestellt werden.
OutputClaims 0:1 Eine Liste von OutputClaim-Elementen, die Anspruchstypen angeben, die nach dem Aufruf des ClaimsTransformation-Elements erstellt werden. Jedes dieser Elemente enthält einen Verweis auf ein ClaimType-Element, das bereits im ClaimsSchema-Abschnitt definiert wurde.

InputClaims

Das InputClaims-Element enthält das folgende Element:

Element Vorkommen BESCHREIBUNG
InputClaim 1:n Ein erwarteter Eingabeanspruchstyp.

InputClaim

Das InputClaim-Element enthält die folgenden Attribute:

attribute Erforderlich BESCHREIBUNG
ClaimTypeReferenceId Ja Ein Verweis auf ein ClaimType-Element, das bereits im ClaimsSchema-Abschnitt der Richtlinie definiert wurde.
TransformationClaimType Ja Ein Bezeichner zum Verweisen auf den Anspruchstransformationstyp. Jede Anspruchstransformation verfügt über eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Referenz zu Anspruchstransformationen.

InputParameters

Das InputParameters-Element enthält das folgende Element:

Element Vorkommen BESCHREIBUNG
InputParameter 1:n Ein erwarteter Eingabeparameter.

InputParameter

attribute Erforderlich BESCHREIBUNG
Id Ja Ein Bezeichner, der einen Verweis auf einen Parameter der Anspruchstransformationsmethode darstellt. Jede Anspruchstransformationsmethode verfügt über eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Tabelle für Anspruchstransformationen.
DataType Ja Der Datentyp des Parameters, z.B. „String“, „Boolean“, „Int“ oder „DateTime“, gemäß der DataType-Enumeration im XML-Schema der benutzerdefinierten Richtlinie. Dieser Typ wird dazu verwendet, arithmetische Operationen ordnungsgemäß auszuführen. Jede Anspruchstransformation verfügt über eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Referenz zu Anspruchstransformationen.
Wert Ja Ein Wert der wörtlich an die Transformation übergeben wird. Einige der Werte sind arbiträr, andere wählen Sie hingegen gemäß der Anspruchstransformationsmethode aus.

OutputClaims

Das OutputClaims-Element enthält das folgende Element:

Element Vorkommen BESCHREIBUNG
OutputClaim 0:n Ein erwarteter Ausgabeanspruchstyp.

OutputClaim

Das OutputClaim-Element enthält die folgenden Attribute:

attribute Erforderlich BESCHREIBUNG
ClaimTypeReferenceId Ja Ein Verweis auf ein ClaimType-Element, das bereits im ClaimsSchema-Abschnitt der Richtlinie definiert wurde.
TransformationClaimType Ja Ein Bezeichner zum Verweisen auf den Anspruchstransformationstyp. Jede Anspruchstransformation verfügt über eigene Werte. Eine vollständige Liste der verfügbaren Werte finden Sie in der Referenz zu Anspruchstransformationen.

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

Beispiel

Sie können beispielsweise die neueste Version Ihrer Nutzungsbedingungen speichern, denen der Benutzer zugestimmt hat. Wenn Sie die Nutzungsbedingungen aktualisieren, können Sie den Benutzer dazu auffordern, der neuen Version zuzustimmen. Im folgenden Beispiel vergleicht die Anspruchstransformation HasTOSVersionChanged den Wert des Anspruchs TOSVersion mit dem Wert des Anspruchs LastTOSAcceptedVersion. Daraufhin wird der boolesche Anspruch TOSVersionChanged zurückgegeben.

<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>

Referenzen zu Transformationen von Ansprüchen

In den folgenden Referenzseiten finden Sie weitere Beispiele für Anspruchstransformationen: