Transformações de afirmações booleanas
Este artigo fornece exemplos para utilizar as transformações de afirmações booleanas do esquema do Identity Experience Framework no Azure Active Directory B2C (Azure AD B2C). Para obter mais informações, veja transformações de afirmações.
AndClaims
Calcula uma And
operação de duas afirmações de entrada booleanas e define a afirmação de saída com o resultado da operação. Veja a demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | inputClaim1 | boolean | A primeira afirmação a avaliar. |
InputClaim | inputClaim2 | boolean | A segunda afirmação a avaliar. |
OutputClaim | outputClaim | boolean | A afirmação que será produzida após esta transformação de afirmações ter sido invocada (verdadeira ou falsa). |
Exemplo de AndClaims
A seguinte transformação de afirmações demonstra como duas And
afirmações booleanas: isEmailNotExist
, e isSocialAccount
. A afirmação presentEmailSelfAsserted
de saída está definida como true
se os valores de ambas as afirmações de entrada forem 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>
- Afirmações de entrada:
- inputClaim1: true
- inputClaim2: false
- Afirmações de saída:
- outputClaim: false
AssertBooleanClaimIsEqualToValue
Verifica se os valores booleanos de duas afirmações são iguais e gera uma exceção se não forem. Veja a demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
inputClaim | inputClaim | boolean | A afirmação a verificar. |
InputParameter | valueToCompareTo | boolean | O valor a comparar (verdadeiro ou falso). |
A transformação de afirmações AssertBooleanClaimIsEqualToValue é sempre executada a partir de um perfil técnico de validação chamado por um perfil técnico auto-afirmado. Os metadados de perfil técnico auto-afirmado UserMessageIfClaimsTransformationBooleanValueIsNotEqual controlam a mensagem de erro que o perfil técnico apresenta ao utilizador. As mensagens de erro podem ser localizadas.
Exemplo de AssertBooleanClaimIsEqualToValue
A transformação de afirmações seguinte demonstra como verificar o valor de uma afirmação booleana com um true
valor. Se o valor da accountEnabled
afirmação for falso, é emitida uma mensagem de erro.
<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
</ClaimsTransformation>
- Afirmações de entrada:
- inputClaim: false
- valueToCompareTo: true
- Resultado: Erro emitido
Chamar a transformação de afirmações AssertBooleanClaimIsEqualToValue
O seguinte Example-AssertBoolean
perfil técnico de validação chama a transformação de AssertAccountEnabledIsTrue
afirmações.
<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>
O perfil técnico auto-afirmado chama o perfil técnico de validação 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 se o valor booleano de uma afirmação é igual a true
ou false
, e devolve o resultado da compressão. Veja a demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | inputClaim | boolean | A afirmação a ser comparada. |
InputParameter | valueToCompareTo | boolean | O valor a comparar (verdadeiro ou falso). |
OutputClaim | compareResult | boolean | A afirmação que é produzida após esta transformação de afirmações ter sido invocada. |
Exemplo de CompareBooleanClaimToValue
A transformação de afirmações seguinte demonstra como verificar o valor de uma afirmação booleana com um true
valor. Se o valor da IsAgeOver21Years
afirmação for igual a true
, a transformação de afirmações devolve true
, caso contrário 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>
- Afirmações de entrada:
- inputClaim: false
- Parâmetros de entrada:
- valueToCompareTo: true
- Afirmações de saída:
- compareResult: false
NotClaims
Calcula uma Not
operação da afirmação de entrada booleana e define a afirmação de saída com o resultado da operação. Veja a demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | inputClaim | boolean | A afirmação a ser operada. |
OutputClaim | outputClaim | boolean | A afirmação que é produzida após esta transformação de afirmações ter sido invocada (verdadeira ou falsa). |
Exemplo de NotClaims
A seguinte transformação de afirmações demonstra como executar negações lógicas numa afirmação.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Afirmações de entrada:
- inputClaim: false
- Afirmações de saída:
- outputClaim: true
OrClaims
Calcula uma Or
de duas afirmações booleanas e define a afirmação de saída com o resultado da operação. Veja a demonstração em direto desta transformação de afirmações.
Elemento | TransformationClaimType | Tipo de Dados | Notas |
---|---|---|---|
InputClaim | inputClaim1 | boolean | A primeira afirmação a avaliar. |
InputClaim | inputClaim2 | boolean | A segunda afirmação a avaliar. |
OutputClaim | outputClaim | boolean | A afirmação que será produzida após esta transformação de afirmações ter sido invocada (verdadeira ou falsa). |
Exemplo de OrClaims
A seguinte transformação de afirmações demonstra como duas Or
afirmações booleanas.
<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>
- Afirmações de entrada:
- inputClaim1: true
- inputClaim2: false
- Afirmações de saída:
- outputClaim: true
Passos seguintes
- Encontre mais exemplos de transformação de afirmações no repositório do GitHub da comunidade B2C Azure AD