Condividi tramite


Trasformazioni delle attestazioni booleane

Questo articolo fornisce esempi per l'uso delle trasformazioni di attestazioni booleane dello schema Identity Experience Framework di Azure Active Directory B2C (Azure AD B2C). Per altre informazioni, vedere Trasformazioni delle attestazioni.

AndClaims

Calcola un'operazione And di due attestazioni di input booleane e imposta l'attestazione di output con il risultato dell'operazione. Vedere la demo live di questa trasformazione delle attestazioni.

Elemento TransformationClaimType Tipo di dati Note
InputClaim inputClaim1 boolean Prima attestazione da valutare.
InputClaim inputClaim2 boolean Seconda attestazione da valutare.
OutputClaim outputClaim boolean Attestazione che verrà generata dopo che questa trasformazione delle attestazioni è stata richiamata (true o false).

Esempio di AndClaims

La trasformazione delle attestazioni seguente illustra come due And attestazioni booleane: isEmailNotExiste isSocialAccount. L'attestazione presentEmailSelfAsserted di output è impostata su true se i valori di entrambe le attestazioni di input sono 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>
  • Attestazioni di input:
    • inputClaim1: true
    • inputClaim2: false
  • Attestazioni di output:
    • outputClaim: false

AssertBooleanClaimIsEqualToValue

Verifica che i valori booleani di due attestazioni siano uguali e generi un'eccezione se non lo sono. Check out the Live demo of this claims transformation.

Elemento TransformationClaimType Tipo di dati Note
inputClaim inputClaim boolean Attestazione da controllare.
InputParameter valueToCompareTo boolean Il valore da confrontare (true o false).

La trasformazione delle attestazioni AssertBooleanClaimIsEqualToValue viene sempre eseguita da un profilo tecnico di convalida che viene chiamato da un profilo tecnico autocertificato. I metadati del profilo tecnico autocertificato UserMessageIfClaimsTransformationBooleanValueIsNotEqual controllano il messaggio di errore che il profilo tecnico presenta all'utente. I messaggi di errore possono essere localizzati.

Diagramma che mostra come usare la trasformazione delle attestazioni AssertStringClaimsAreEqual.

Esempio di AssertBooleanClaimIsEqualToValue

La trasformazione delle attestazioni seguente illustra come controllare il valore di un'attestazione booleana con un true valore. Se il valore dell'attestazione accountEnabled è false, viene generato un messaggio di errore.

<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • Attestazioni di input:
    • inputClaim: false
    • valueToCompareTo: true
  • Risultato: errore generato

Chiamata alla trasformazione delle attestazioni AssertBooleanClaimIsEqualToValue

Il profilo tecnico di convalida seguente Example-AssertBoolean chiama la AssertAccountEnabledIsTrue trasformazione delle attestazioni.

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

Il profilo tecnico autocertificato chiama il profilo tecnico di convalida 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

Verifica che il valore booleano di un'attestazione sia uguale a true o false e restituisca il risultato della compressione. Check out the Live demo of this claims transformation.

Elemento TransformationClaimType Tipo di dati Note
InputClaim inputClaim boolean Attestazione da confrontare.
InputParameter valueToCompareTo boolean Il valore da confrontare (true o false).
OutputClaim compareResult boolean Attestazione generata dopo la chiamata di questa trasformazione delle attestazioni.

Esempio di CompareBooleanClaimToValue

The following claims transformation demonstrates how to check the value of a boolean claim with a true value. Se il valore dell'attestazione IsAgeOver21Years è uguale a true, la trasformazione delle attestazioni restituisce true, in caso contrario 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>
  • Attestazioni di input:
    • inputClaim: false
  • Parametri di input:
    • valueToCompareTo: true
  • Attestazioni di output:
    • compareResult: false

NotClaims

Calcola un'operazione Not dell'attestazione di input booleana e imposta l'attestazione di output con il risultato dell'operazione. Check out the Live demo of this claims transformation.

Elemento TransformationClaimType Tipo di dati Note
InputClaim inputClaim boolean L'attestazione da usare.
OutputClaim outputClaim boolean Attestazione generata dopo che questa trasformazione attestazioni è stata richiamata (true o false).

Esempio di NotClaims

La trasformazione attestazioni seguente illustra come eseguire la negazione logica in un'attestazione.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Attestazioni di input:
    • inputClaim: false
  • Attestazioni di output:
    • outputClaim: true

OrClaims

Calcola un valore Or di due attestazioni booleane e imposta l'attestazione di output con il risultato dell'operazione. Vedere la demo live di questa trasformazione delle attestazioni.

Elemento TransformationClaimType Tipo di dati Note
InputClaim inputClaim1 boolean Prima attestazione da valutare.
InputClaim inputClaim2 boolean Seconda attestazione da valutare.
OutputClaim outputClaim boolean Attestazione che verrà generata dopo che questa trasformazione attestazioni è stata richiamata (true o false).

Esempio di OrClaims

La trasformazione attestazioni seguente illustra come Or due attestazioni booleane.

<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>
  • Attestazioni di input:
    • inputClaim1: true
    • inputClaim2: false
  • Attestazioni di output:
    • outputClaim: true

Passaggi successivi