Udostępnij przez


Przekształcenia oświadczeń logicznych

Ważne

Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.

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

AndRoszczenia

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

Składnik TransformationClaimType Typ danych Notatki
Oświadczenie wejściowe inputClaim1 (Twierdzenie wejściowe1) typ logiczny (boolowski) Pierwsze twierdzenie, które należy ocenić.
Oświadczenie wejściowe inputClaim2 (Twierdzenie wejściowe2) typ logiczny (boolowski) Drugie twierdzenie do oceny.
OutputClaim (Roszczenie wyjściowe) outputClaim (roszczenie wyjściowe) typ logiczny (boolowski) Oświadczenie, które zostanie utworzone po wywołaniu tego przekształcenia 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 presentEmailSelfAsserted wyjściowe 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: prawda
    • inputClaim2: fałsz
  • Oświadczenia wyjściowe:
    • outputClaim: fałsz

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

Składnik TransformationClaimType Typ danych Notatki
inputClaim (Twierdzenie wejściowe) inputClaim (Twierdzenie wejściowe) typ logiczny (boolowski) Oświadczenie do sprawdzenia.
Parametr wejściowy valueToCompareTo typ logiczny (boolowski) Wartość do porównania (prawda lub fałsz).

Przekształcenie oświadczeń AssertBooleanClaimIsEqualToValue jest zawsze wykonywane z profilu technicznego weryfikacji , który jest wywoływany przez własny profil techniczny. Metadane profilu technicznego UserMessageIfClaimsTransformationBooleanValueIsNotEqual samozwańczego profilu technicznego kontrolują komunikat o błędzie prezentowany użytkownikowi przez profil techniczny. Komunikaty o błędach mogą być zlokalizowane.

Diagram przedstawia sposób użycia przekształcenia claims AssertStringClaimsAreEqual.

Przykład wartości AssertBooleanClaimIsEqualToValue

Poniższe przekształcenie oświadczeń pokazuje, jak sprawdzić wartość oświadczenia logicznego z wartością true . Jeśli wartość accountEnabled oświadczenia ma wartość false, 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: fałsz
    • 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 samodzielnym 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ń.

Składnik TransformationClaimType Typ danych Notatki
Oświadczenie wejściowe inputClaim (Twierdzenie wejściowe) typ logiczny (boolowski) Twierdzenie, które należy porównać.
Parametr wejściowy valueToCompareTo typ logiczny (boolowski) Wartość do porównania (prawda lub fałsz).
OutputClaim (Roszczenie wyjściowe) porównaj Wynik typ logiczny (boolowski) Oświadczenie, które zostało wygenerowane po wywołaniu tego przekształcenia oświadczeń.

Przykład funkcji CompareBooleanClaimToValue

Poniższe przekształcenie oświadczeń pokazuje, 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: fałsz
  • Parametry wejściowe:
    • valueToCompareTo: true
  • Oświadczenia wyjściowe:
    • compareResult: false

NotClaims (Nieroszczenia)

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

Składnik TransformationClaimType Typ danych Notatki
Oświadczenie wejściowe inputClaim (Twierdzenie wejściowe) typ logiczny (boolowski) Roszczenie, które ma być obsługiwane.
OutputClaim (Roszczenie wyjściowe) outputClaim (roszczenie wyjściowe) typ logiczny (boolowski) Oświadczenie, które zostało wygenerowane 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ą na oświadczeniach.

<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: fałsz
  • Oświadczenia wyjściowe:
    • outputClaim: prawda

OrRoszczenia

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

Składnik TransformationClaimType Typ danych Notatki
Oświadczenie wejściowe inputClaim1 (Twierdzenie wejściowe1) typ logiczny (boolowski) Pierwsze twierdzenie, które należy ocenić.
Oświadczenie wejściowe inputClaim2 (Twierdzenie wejściowe2) typ logiczny (boolowski) Drugie twierdzenie do oceny.
OutputClaim (Roszczenie wyjściowe) outputClaim (roszczenie wyjściowe) typ logiczny (boolowski) Oświadczenie, które zostanie utworzone po wywołaniu tego przekształcenia 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: prawda
    • inputClaim2: fałsz
  • Oświadczenia wyjściowe:
    • outputClaim: prawda

Dalsze kroki

  • Znajdź więcej przykładów przekształcania oświadczeń w repozytorium GitHub społeczności usługi Azure AD B2C