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: