Udostępnij za pośrednictwem


Przekształcenia oświadczeń logicznych

Ten artykuł zawiera przykłady użycia przekształceń oświadczeń logicznych schematu struktury obsługi tożsamości w usłudze Azure Active Directory B2C (Azure AD B2C). Aby uzyskać więcej informacji, zobacz przekształcenia oświadczeń.

AndClaims

Oblicza operację And dwóch oświadczeń wejściowych logicznych i ustawia oświadczenie wyjściowe z wynikiem operacji. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputClaim1 boolean Pierwsze oświadczenie do oceny.
InputClaim inputClaim2 boolean Drugie oświadczenie do oceny.
OutputClaim outputClaim boolean Oświadczenie, które zostanie wygenerowane po wywołaniu tej transformacji oświadczeń (prawda lub fałsz).

Przykład andClaims

Następujące przekształcenia oświadczeń pokazują, jak And dwa oświadczenia logiczne: isEmailNotExist, i isSocialAccount. Oświadczenie wyjściowe presentEmailSelfAsserted jest ustawione na true wartość , jeśli wartości obu oświadczeń wejściowych to 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>
  • Oświadczenia wejściowe:
    • inputClaim1: true
    • inputClaim2: false
  • Oświadczenia wyjściowe:
    • outputClaim: false

AssertBooleanClaimIsEqualToValue

Sprawdza, czy wartości logiczne dwóch oświadczeń są równe i zgłasza wyjątek, jeśli nie są. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
inputClaim inputClaim boolean Oświadczenie do sprawdzenia.
Inputparameter valueToCompareTo boolean Wartość do porównania (prawda lub fałsz).

Przekształcenie oświadczeń AssertBooleanClaimIsEqualToValue jest zawsze wykonywane z profilu technicznego weryfikacji wywoływanego przez własny profil techniczny. Metadane profilu technicznego UserMessageIfClaimsTransformationBooleanValueIsNotEqual kontrolują komunikat o błędzie prezentowany użytkownikowi przez profil techniczny. Komunikaty o błędach można lokalizować.

Diagram przedstawia sposób użycia przekształcenia oświadczeń AssertStringClaimsAreEqual.

Przykład wartości AssertBooleanClaimIsEqualToValue

Poniższe przekształcenia oświadczeń pokazują, jak sprawdzić wartość oświadczenia logicznego z wartością true . Jeśli wartość accountEnabled oświadczenia jest fałszywa, zostanie zgłoszony komunikat o błędzie.

<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • Oświadczenia wejściowe:
    • inputClaim: false
    • valueToCompareTo: true
  • Wynik: zgłoszony błąd

Wywoływanie przekształcenia oświadczeń AssertBooleanClaimIsEqualToValue

Poniższy Example-AssertBoolean profil techniczny weryfikacji wywołuje AssertAccountEnabledIsTrue przekształcenie oświadczeń.

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

Profil techniczny z własnym potwierdzeniem wywołuje profil techniczny weryfikacji Example-AssertBoolean .

<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

Sprawdza, czy wartość logiczna oświadczenia jest równa true lub false, i zwraca wynik kompresji. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputClaim boolean Twierdzenie, które należy porównać.
Inputparameter valueToCompareTo boolean Wartość do porównania (prawda lub fałsz).
OutputClaim compareResult boolean Oświadczenie, które jest generowane po wywołaniu tej transformacji oświadczeń.

Przykład funkcji CompareBooleanClaimToValue

Poniższe przekształcenia oświadczeń pokazują, jak sprawdzić wartość oświadczenia logicznego z wartością true . Jeśli wartość IsAgeOver21Years oświadczenia jest równa true, przekształcenie oświadczeń zwraca truewartość , w przeciwnym razie 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>
  • Oświadczenia wejściowe:
    • inputClaim: false
  • Parametry wejściowe:
    • valueToCompareTo: true
  • Oświadczenia wyjściowe:
    • compareResult: false

NotClaims

Oblicza operację Not oświadczenia wejściowego logicznego i ustawia oświadczenie wyjściowe z wynikiem operacji. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputClaim boolean Roszczenie, które ma być obsługiwane.
OutputClaim outputClaim boolean Oświadczenie, które jest generowane po tym przekształceniu oświadczeń, zostało wywołane (prawda lub fałsz).

Przykład notClaims

Poniższe przekształcenia oświadczeń pokazują, jak wykonać negację logiczną w oświadczeniu.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Oświadczenia wejściowe:
    • inputClaim: false
  • Oświadczenia wyjściowe:
    • outputClaim: true

OrClaims

Or Oblicza dwa oświadczenia logiczne i ustawia oświadczenie wyjściowe z wynikiem operacji. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputClaim1 boolean Pierwsze oświadczenie do oceny.
InputClaim inputClaim2 boolean Drugie oświadczenie do oceny.
OutputClaim outputClaim boolean Oświadczenie, które zostanie wygenerowane po wywołaniu tej transformacji oświadczeń (prawda lub fałsz).

Przykład orclaims

Poniższe przekształcenia oświadczeń pokazują, jak Or dwa oświadczenia logiczne.

<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>
  • Oświadczenia wejściowe:
    • inputClaim1: true
    • inputClaim2: false
  • Oświadczenia wyjściowe:
    • outputClaim: true

Następne kroki