Logické transformace deklarací identity

Důležité

Od 1. května 2025 už nebude Azure AD B2C k dispozici k nákupu pro nové zákazníky. Další informace najdete v našich nejčastějších dotazech.

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 TransformaceClaimType Datový typ Poznámky
Vstupní deklarace inputClaim1 – Deklarace Boolean První deklarace identity, která se má vyhodnotit.
Vstupní deklarace inputClaim2 – Deklarace nároku 2 Boolean Druhá deklarace identity, která se má vyhodnotit.
Výstupní deklarace Deklarace výstupu Boolean Deklarace identity, která se vytvoří po vyvolání této transformace deklarací identity (pravda nebo nepravda).

Příklad AndClaims

Následující transformace deklarací identity ukazuje, jak dvě And logické deklarace identity: isEmailNotExista isSocialAccount. Výstupní deklarace identity je nastavena napresentEmailSelfAsserted, pokud jsou truehodnoty obou vstupních deklarací true 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: pravda
    • inputClaim2: false
  • Výstupní deklarace identity:
    • outputClaim: false

AssertBooleanClaimIsEqualToValue

Zkontroluje, jestli jsou logické hodnoty dvou deklarací identity stejné, a pokud ne, vyvolá výjimku. Podívejte se na živou ukázku této transformace deklarací identity.

prvek TransformaceClaimType Datový typ Poznámky
Požadavek vstupu Požadavek vstupu Boolean Deklarace identity, která se má zkontrolovat.
VstupníParametr hodnotaToCompareTo Boolean Hodnota, která se má porovnat (pravda nebo nepravda).

Transformace deklarací identity AssertBooleanClaimIsEqualToValue se vždy provádí z technického profilu ověření , který je volán vlastním technickým profilem. Metadata technického profilu UserMessageIfClaimsTransformationBooleanValueIsNotEqual řídí chybovou zprávu, že technický profil prezentuje uživateli. Chybové zprávy lze lokalizovat.

Diagram znázorňuje, jak použít AssertStringClaimsAreEqual deklarace identity transformace.

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

Example-AssertBoolean Následující technický profil ověření 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 s vlastním kontrolním výrazem 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, zda je logická hodnota deklarace identity rovna true nebo false, a vrátí výsledek komprese. Podívejte se na živou ukázku této transformace deklarací identity.

prvek TransformaceClaimType Datový typ Poznámky
Vstupní deklarace Požadavek vstupu Boolean Deklarace identity, která se má porovnat.
VstupníParametr hodnotaToCompareTo Boolean Hodnota, která se má porovnat (pravda nebo nepravda).
Výstupní deklarace Výsledek porovnání Boolean Deklarace identity, která se vytvoří po vyvolání této transformace deklarací.

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í truetransformace deklarací 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 TransformaceClaimType Datový typ Poznámky
Vstupní deklarace Požadavek vstupu Boolean Deklarace, která se má provozovat.
Výstupní deklarace Deklarace výstupu Boolean Deklarace identity, která se vytvoří po vyvolání této transformace deklarací identity (pravda nebo nepravda).

Příklad NotClaims

Následující transformace deklarací identity ukazuje, jak provést logickou negaci deklarace identity.

<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

Reklamace

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 TransformaceClaimType Datový typ Poznámky
Vstupní deklarace inputClaim1 – Deklarace Boolean První deklarace identity, která se má vyhodnotit.
Vstupní deklarace inputClaim2 – Deklarace nároku 2 Boolean Druhá deklarace identity, která se má vyhodnotit.
Výstupní deklarace Deklarace výstupu Boolean Deklarace identity, která se vytvoří po vyvolání této transformace deklarací identity (pravda nebo nepravda).

Příklad orClaims

Následující transformace deklarací identity ukazuje, jak dvě Or 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: pravda
    • inputClaim2: false
  • Výstupní deklarace identity:
    • outputClaim: true

Další kroky

  • Další ukázky transformace deklarací identity najdete v úložišti GitHub komunity Azure AD B2C.