Transformationen von booleschen Ansprüchen
Dieser Artikel enthält Beispiele für die Verwendung von Transformationen von booleschen Ansprüchen des Identity Experience Framework-Schemas in Azure Active Directory B2C (Azure AD B2C). Weitere Informationen finden Sie unter Transformationen von Ansprüchen.
AndClaims
Berechnet einen And
-Vorgang für zwei boolesche Eingabeansprüche und legt den Ausgabeanspruch mit dem Ergebnis des Vorgangs fest. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputClaim1 | boolean | Der erste zu evaluierende Anspruch. |
InputClaim | inputClaim2 | boolean | Der zweite zu evaluierende Anspruch. |
OutputClaim | outputClaim | boolean | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde (TRUE oder FALSE). |
Beispiel für AndClaims
Die folgende Anspruchstransformation veranschaulicht, wie Sie einen And
-Vorgang für zwei boolesche Ansprüche (isEmailNotExist
und isSocialAccount
) durchführen.
true
wird für den Ausgabeanspruch presentEmailSelfAsserted
festgelegt, wenn beide Eingabeansprüche den Wert true
aufweisen.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="AndClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="isEmailNotExist" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="isSocialAccount" TransformationClaimType="inputClaim2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="presentEmailSelfAsserted" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Eingabeansprüche:
- inputClaim1: TRUE
- inputClaim2: FALSE
- Ausgabeansprüche:
- outputClaim: FALSE
AssertBooleanClaimIsEqualToValue
Überprüft, ob die booleschen Werte von zwei Ansprüchen identisch sind und löst eine Ausnahme aus, wenn sie es nicht sind. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
inputClaim | inputClaim | boolean | Der zu überprüfende Anspruch. |
InputParameter | valueToCompareTo | boolean | Der Wert, der verglichen werden soll (TRUE oder FALSE). |
Die Anspruchstransformation AssertBooleanClaimIsEqualToValue wird immer über ein technisches Validierungsprofil ausgeführt, das von einem selbstbestätigten technischen Profil aufgerufen wird. Die Metadaten des selbstbestätigten technischen Profils UserMessageIfClaimsTransformationBooleanValueIsNotEqual steuern die Fehlermeldung, die das technische Profil dem Benutzer anzeigt. Die Fehlermeldungen können lokalisiert werden.
Beispiel für AssertBooleanClaimIsEqualToValue
Die folgende Anspruchstransformation veranschaulicht, wie Sie den Wert eines booleschen Anspruchs mit einem true
-Wert überprüfen. Wenn der Wert des Anspruchs accountEnabled
FALSE ist, wird eine Fehlermeldung ausgelöst.
<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
</ClaimsTransformation>
- Eingabeansprüche:
- inputClaim: FALSE
- valueToCompareTo: TRUE
- Ergebnis: Fehler wird ausgelöst.
Aufrufen der Anspruchstransformation AssertBooleanClaimIsEqualToValue
Das folgende technische Validierungsprofil Example-AssertBoolean
ruft die Anspruchstransformation AssertAccountEnabledIsTrue
auf.
<TechnicalProfile Id="Example-AssertBoolean">
<DisplayName>Unit test</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="ComparisonResult" DefaultValue="false" />
</OutputClaims>
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="AssertAccountEnabledIsTrue" />
</OutputClaimsTransformations>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
Das selbstbestätigte technische Profil ruft das technische Validierungsprofil Example-AssertBoolean
auf.
<TechnicalProfile Id="SelfAsserted-AssertDateTimeIsGreaterThan">
<DisplayName>Example</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
<Item Key="UserMessageIfClaimsTransformationBooleanValueIsNotEqual">Custom error message if account is disabled.</Item>
</Metadata>
...
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="Example-AssertBoolean" />
</ValidationTechnicalProfiles>
</TechnicalProfile>
CompareBooleanClaimToValue
Überprüft, ob der boolesche Wert eines Anspruchs true
oder false
entspricht, und gibt das Ergebnis der Komprimierung zurück. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputClaim | boolean | Der zu vergleichende Anspruch. |
InputParameter | valueToCompareTo | boolean | Der Wert, der verglichen werden soll (TRUE oder FALSE). |
OutputClaim | compareResult | boolean | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. |
Beispiel für CompareBooleanClaimToValue
Die folgende Anspruchstransformation veranschaulicht, wie Sie den Wert eines booleschen Anspruchs mit einem true
-Wert überprüfen. Wenn der Wert des IsAgeOver21Years
-Anspruchs true
entspricht, gibt die Anspruchstransformation true
, andernfalls false
zurück.
<ClaimsTransformation Id="AssertAccountEnabled" TransformationMethod="CompareBooleanClaimToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="IsAgeOver21Years" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="compareResult"/>
</OutputClaims>
</ClaimsTransformation>
- Eingabeansprüche:
- inputClaim: FALSE
- Eingabeparameter:
- valueToCompareTo: TRUE
- Ausgabeansprüche:
- compareResult: false
NotClaims
Berechnet einen Not
-Vorgang für den booleschen Eingabeanspruch und legt den Ausgabeanspruch mit dem Ergebnis des Vorgangs fest. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputClaim | boolean | Der auszuführende Anspruch |
OutputClaim | outputClaim | boolean | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde (TRUE oder FALSE). |
Beispiel für NotClaims
Die folgende Anspruchstransformation veranschaulicht, wie eine logische Negation für einen Anspruch ausgeführt wird.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Eingabeansprüche:
- inputClaim: FALSE
- Ausgabeansprüche:
- outputClaim: true
OrClaims
Berechnet ein Or
für zwei boolesche Ansprüche und legt den Ausgabeanspruch mit dem Ergebnis des Vorgangs fest. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.
Element | TransformationClaimType | Datentyp | Notizen |
---|---|---|---|
InputClaim | inputClaim1 | boolean | Der erste zu evaluierende Anspruch. |
InputClaim | inputClaim2 | boolean | Der zweite zu evaluierende Anspruch. |
OutputClaim | outputClaim | boolean | Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde (TRUE oder FALSE). |
Beispiel für OrClaims
Die folgende Anspruchstransformation veranschaulicht, wie Sie einen Or
-Vorgang für zwei boolesche Ansprüche durchführen.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="OrClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="isLastTOSAcceptedNotExists" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="isLastTOSAcceptedGreaterThanNow" TransformationClaimType="inputClaim2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="presentTOSSelfAsserted" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Eingabeansprüche:
- inputClaim1: TRUE
- inputClaim2: FALSE
- Ausgabeansprüche:
- outputClaim: true
Nächste Schritte
- Weitere Beispiele für die Anspruchstransformation finden Sie im GitHub-Repository der Azure-AD-B2C-Community