Transformace logických deklarací identity
Tento článek obsahuje příklady použití logických transformací deklarací identity schématu identity Experience Framework v Azure Active Directory B2C (Azure AD B2C). Další informace najdete v tématu Transformace deklarací identity.
AndClaims
And
Vypočítá operaci dvou logických vstupních deklarací identity a nastaví výstupní deklaraci identity s výsledkem operace. Podívejte se na živou ukázku této transformace deklarací identity.
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
InputClaim | inputClaim1 | boolean | První deklarace, která se má vyhodnotit. |
InputClaim | inputClaim2 | boolean | Druhá deklarace identity, která se má vyhodnotit. |
OutputClaim | outputClaim | boolean | Deklarace identity, která se vytvoří po vyvolání této transformace deklarací identity (true nebo false). |
Příklad AndClaims
Následující transformace deklarací identity ukazuje, jak na And
dvě logické deklarace identity: isEmailNotExist
, a isSocialAccount
. Výstupní deklarace identity presentEmailSelfAsserted
je nastavená na true
hodnotu , pokud jsou true
hodnoty obou vstupních deklarací identity .
<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>
- Vstupní deklarace identity:
- inputClaim1: true
- inputClaim2: false
- Výstupní deklarace identity:
- outputClaim: false
AssertBooleanClaimIsEqualToValue
Zkontroluje, jestli jsou logické hodnoty dvou deklarací identity stejné, a pokud tomu tak není, vyvolá výjimku. Podívejte se na živou ukázku této transformace deklarací identity.
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
inputClaim | inputClaim | boolean | Deklarace identity, která se má zkontrolovat. |
InputParameter | valueToCompareTo | boolean | Hodnota, která se má porovnat (true nebo false). |
Transformace deklarací identity AssertBooleanClaimIsEqualToValue se vždy provádí z ověřovacího technického profilu , který je volán vlastním technickým profilem. Metadata technického profilu UserMessageIfClaimsTransformationBooleanValueIsNotEqual řídí chybovou zprávu, kterou technický profil zobrazí uživateli. Chybové zprávy lze lokalizovat.
Příklad AssertBooleanClaimIsEqualToValue
Následující transformace deklarací identity ukazuje, jak zkontrolovat hodnotu logické deklarace identity s true
hodnotou. Pokud je hodnota accountEnabled
deklarace identity false, vyvolá se chybová zpráva.
<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
</ClaimsTransformation>
- Vstupní deklarace identity:
- inputClaim: false
- valueToCompareTo: true
- Výsledek: Došlo k chybě.
Volání transformace deklarací identity AssertBooleanClaimIsEqualToValue
Následující Example-AssertBoolean
technický profil ověřování volá AssertAccountEnabledIsTrue
transformaci deklarací identity.
<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>
Technický profil, který se sám uplatňuje, volá technický profil ověření 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
Zkontroluje, jestli se logická hodnota deklarace identity rovná true
nebo false
, a vrátí výsledek komprese. Podívejte se na živou ukázku této transformace deklarací identity.
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
InputClaim | inputClaim | boolean | Nárok, který se má porovnat. |
InputParameter | valueToCompareTo | boolean | Hodnota, která se má porovnat (true nebo false). |
OutputClaim | compareResult | boolean | Deklarace identity, která se vytvoří po této transformaci deklarací identity, byla vyvolána. |
Příklad CompareBooleanClaimToValue
Následující transformace deklarací identity ukazuje, jak zkontrolovat hodnotu logické deklarace identity s true
hodnotou. Pokud je hodnota IsAgeOver21Years
deklarace identity rovna true
, vrátí transformace deklarací true
identity , jinak 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>
- Vstupní deklarace identity:
- inputClaim: false
- Vstupní parametry:
- valueToCompareTo: true
- Výstupní deklarace identity:
- compareResult: false
NotClaims
Not
Vypočítá operaci logické vstupní deklarace identity a nastaví výstupní deklaraci identity s výsledkem operace. Podívejte se na živou ukázku této transformace deklarací identity.
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
InputClaim | inputClaim | boolean | Nárok, který se má provozovat. |
OutputClaim | outputClaim | boolean | Deklarace identity vytvořená po této transformaci deklarací identity byla vyvolána (pravda nebo nepravda). |
Příklad NotClaims
Následující transformace deklarací identity ukazuje, jak u deklarace identity provést logickou negaci.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Vstupní deklarace identity:
- inputClaim: false
- Výstupní deklarace identity:
- outputClaim: true
OrClaims
Or
Vypočítá dvě logické deklarace identity a nastaví výstupní deklaraci identity s výsledkem operace. Podívejte se na živou ukázku této transformace deklarací identity.
Prvek | TransformationClaimType | Typ dat | Poznámky |
---|---|---|---|
InputClaim | inputClaim1 | boolean | První deklarace, která se má vyhodnotit. |
InputClaim | inputClaim2 | boolean | Druhá deklarace identity, která se má vyhodnotit. |
OutputClaim | outputClaim | boolean | Deklarace identity, která se vytvoří po vyvolání této transformace deklarací identity (true nebo false). |
Příklad OrClaims
Následující transformace deklarací identity ukazuje, jak na Or
dvě logické deklarace identity.
<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>
- Vstupní deklarace identity:
- inputClaim1: true
- inputClaim2: false
- Výstupní deklarace identity:
- outputClaim: true
Další kroky
- Další ukázky transformace deklarací identity najdete v úložišti GitHubu komunity Azure AD B2C.