Teilen über


Boolesche Anspruchstransformationen

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.

Dieser Artikel enthält Beispiele für die Verwendung der booleschen Anspruchstransformationen des Identity Experience Framework-Schemas in Azure Active Directory B2C (Azure AD B2C). Weitere Informationen finden Sie unter Transformationen von Ansprüchen.

UndForderungen

Berechnet einen And Vorgang mit zwei booleschen Eingabeansprüchen und legt den Ausgabeanspruch mit Dem Ergebnis des Vorgangs fest. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung inputAnspruch1 Boolescher Wert Der erste zu bewertende Anspruch.
Eingabe-Behauptung EingabeAnspruch2 Boolescher Wert Der zweite zu bewertende Anspruch.
OutputClaim (Ausgabeanspruch) outputClaim (Ausschreibung) Boolescher Wert Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde (wahr oder falsch).

Beispiel für AndClaims

Die folgende Anspruchstransformation veranschaulicht, wie zwei And boolesche Ansprüche verwendet werden: isEmailNotExistund isSocialAccount. Der Ausgabeanspruch presentEmailSelfAsserted wird festgelegt, true wenn die Werte beider Eingabeansprüche lauten true.

<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: wahr
    • inputClaim2: falsch
  • Ausgabeansprüche:
    • outputClaim: falsch

AssertBooleanClaimIsEqualToValue

Überprüft, ob boolesche Werte von zwei Ansprüchen gleich sind, und löst eine Ausnahme aus, wenn sie nicht vorhanden sind. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
inputClaim inputClaim Boolescher Wert Der zu überprüfende Anspruch.
Eingabeparameter valueToCompareTo Boolescher Wert Der zu vergleichende Wert (wahr oder falsch).

Die AssertionBooleanClaimIsEqualToValue-Anspruchstransformation wird immer aus einem technischen Überprüfungsprofil ausgeführt, das von einem selbst bestätigten technischen Profil aufgerufen wird. Die benutzerspezifischen Metadaten des technischen Profils "UserMessageIfClaimsTransformationBooleanValueIsNotEqual " steuern die Fehlermeldung, dass das technische Profil dem Benutzer präsentiert. Die Fehlermeldungen können lokalisiert werden.

Das Diagramm zeigt, wie die AssertionStringClaimsAreEqual-Anspruchstransformation verwendet wird.

Beispiel für AssertBooleanClaimIsEqualToValue

Die folgende Anspruchstransformation veranschaulicht, wie der Wert eines booleschen Anspruchs mit einem true Wert überprüft wird. Wenn der Wert des accountEnabled Anspruchs falsch 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: falsch
    • valueToCompareTo: wahr
  • Ergebnis: Fehler wird ausgelöst.

Aufrufen der AssertionBooleanClaimIsEqualToValue-Anspruchstransformation

Das folgende Example-AssertBoolean technische Überprüfungsprofil ruft die AssertAccountEnabledIsTrue Anspruchstransformation 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 selbstbesetzte technische Profil ruft das validierungstechnische Example-AssertBoolean Profil 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 gleich true oder falsegleich ist, und gibt das Ergebnis der Komprimierung zurück. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung inputClaim Boolescher Wert Der zu vergleichende Anspruch.
Eingabeparameter valueToCompareTo Boolescher Wert Der zu vergleichende Wert (wahr oder falsch).
OutputClaim (Ausgabeanspruch) compareResult Boolescher Wert Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde.

Beispiel für CompareBooleanClaimToValue

Die folgende Anspruchstransformation veranschaulicht, wie der Wert eines booleschen Anspruchs mit einem true Wert überprüft wird. Wenn der Wert des IsAgeOver21Years Anspruchs gleich trueist, gibt die Anspruchstransformation zurück true, andernfalls false.

<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: falsch
  • Eingabeparameter:
    • valueToCompareTo: wahr
  • Ausgabeansprüche:
    • compareResult: falsch

NotClaims

Berechnet einen Not Vorgang des booleschen Eingabeanspruchs und legt den Ausgabeanspruch mit Dem Ergebnis des Vorgangs fest. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung inputClaim Boolescher Wert Der zu betreibende Anspruch.
OutputClaim (Ausgabeanspruch) outputClaim (Ausschreibung) Boolescher Wert Der Anspruch, der nach dem Aufrufen dieser Anspruchstransformation erzeugt wird (wahr oder falsch).

Beispiel für NotClaims

Die folgende Anspruchstransformation veranschaulicht, wie 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: falsch
  • Ausgabeansprüche:
    • outputAnspruch: wahr

OderAnsprüche

Berechnet einen Or von zwei booleschen Ansprüchen und legt den Ausgabeanspruch mit dem Ergebnis des Vorgangs fest. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Hinweise
Eingabe-Behauptung inputAnspruch1 Boolescher Wert Der erste zu bewertende Anspruch.
Eingabe-Behauptung EingabeAnspruch2 Boolescher Wert Der zweite zu bewertende Anspruch.
OutputClaim (Ausgabeanspruch) outputClaim (Ausschreibung) Boolescher Wert Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde (wahr oder falsch).

Beispiel für OrClaims

Die folgende Anspruchstransformation veranschaulicht, wie zwei Or boolesche Ansprüche verwendet werden.

<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: wahr
    • inputClaim2: falsch
  • Ausgabeansprüche:
    • outputAnspruch: wahr

Nächste Schritte