Sdílet prostřednictvím


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

Diagram ukazuje, jak použít transformaci deklarací identity AssertStringClaimsAreEqual.

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í trueidentity , 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