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: isEmailNotExist
e 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.
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
- Trovare altri esempi di trasformazione attestazioni nel repository GitHub della community di Azure AD B2C