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ć.
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 true
wartość , 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
- Więcej przykładów przekształcania oświadczeń można znaleźć w repozytorium GitHub społeczności usługi Azure AD B2C