Transformaciones de notificaciones booleanas
En este artículo se proporcionan ejemplos de uso de las transformaciones de notificaciones booleanas del esquema de Identity Experience Framework en Azure Active Directory B2C (Azure AD B2C). Para más información, consulte Transformaciones de notificaciones.
AndClaims
Procesa una operación And
de dos inputClaims booleanos y establece la notificación de salida con el resultado de la operación. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | inputClaim1 | boolean | Primera notificación que se evalúa. |
InputClaim | inputClaim2 | boolean | Segunda notificación que se evaluará. |
OutputClaim | outputClaim | boolean | La notificación que se generará después de que se haya invocado esta transformación de notificaciones (true o false). |
Ejemplo de AndClaims
La siguiente transformación de notificaciones explica cómo aplicar And
a dos notificaciones booleanas: isEmailNotExist
y isSocialAccount
. La notificación de salida presentEmailSelfAsserted
está establecida en true
si los valores de ambas notificaciones de entrada es 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>
- Notificaciones de entrada:
- inputClaim1: true
- inputClaim2: false
- Notificaciones de salida:
- outputClaim: false
AssertBooleanClaimIsEqualToValue
Comprueba que los valores booleanos de dos notificaciones son iguales y lanza una excepción si no lo son. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
inputClaim | inputClaim | boolean | La notificación que se va a comprobar. |
InputParameter | valueToCompareTo | boolean | El valor que se va a comparar (true o false). |
La transformación de notificaciones AssertBooleanClaimIsEqualToValue siempre se ejecuta desde un perfil técnico de validación llamado por un perfil técnico autoafirmado. Los metadatos de un perfil técnico autoafirmado UserMessageIfClaimsTransformationBooleanValueIsNotEqual controlan el mensaje de error que el perfil técnico presenta al usuario. Los mensajes de error se pueden localizar.
Ejemplo de AssertBooleanClaimIsEqualToValue
La siguiente transformación de notificaciones explica cómo comprobar el valor de una notificación booleana con un valor true
. Si el valor de la notificación es accountEnabled
, se desencadena un mensaje de error.
<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
</ClaimsTransformation>
- Notificaciones de entrada:
- inputClaim: false
- valueToCompareTo: true
- Resultado: aparece un error
Llamada a la transformación de notificaciones AssertBooleanClaimIsEqualToValue
El siguiente perfil técnico de validación Example-AssertBoolean
llama a la transformación de notificaciones AssertAccountEnabledIsTrue
.
<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>
El perfil técnico autoafirmado llama al perfil técnico Example-AssertBoolean
de validación.
<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
Comprueba que el valor booleano de una notificación es igual a true
o false
y que devuelve el resultado de la compresión. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | inputClaim | boolean | La notificación que se va a comparar. |
InputParameter | valueToCompareTo | boolean | El valor que se va a comparar (true o false). |
OutputClaim | compareResult | boolean | Notificación que se genera después de que se haya invocado esta transformación de notificaciones. |
Ejemplo de CompareBooleanClaimToValue
La siguiente transformación de notificaciones explica cómo comprobar el valor de una notificación booleana con un valor true
. Si el valor de la notificación IsAgeOver21Years
es igual a true
, la transformación de notificación devuelve true
. De lo 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>
- Notificaciones de entrada:
- inputClaim: false
- Parámetros de entrada:
- valueToCompareTo: true
- Notificaciones de salida:
- compareResult: false
NotClaims
Realiza una operación Not
del inputClaim booleano y establece el elemento outputClaim con el resultado de la operación. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | inputClaim | boolean | La notificación que se va a realizar. |
OutputClaim | outputClaim | boolean | La notificación que se genera después de que se haya invocado esta transformación de notificaciones. |
Ejemplo de NotClaims
La siguiente transformación de notificaciones muestra cómo realizar la negación lógica en una notificación.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Notificaciones de entrada:
- inputClaim: false
- Notificaciones de salida:
- outputClaim: true
OrClaims
Procesa una operación Or
de dos inputClaims booleanos y establece el elemento outputClaim con el resultado de la operación. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | inputClaim1 | boolean | Primera notificación que se evalúa. |
InputClaim | inputClaim2 | boolean | Segunda notificación que se evaluará. |
OutputClaim | outputClaim | boolean | La notificación que se generará después de que se haya invocado esta transformación de notificaciones (true o false). |
Ejemplo de OrClaims
La siguiente transformación de notificaciones explica cómo aplicar Or
a dos notificaciones 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>
- Notificaciones de entrada:
- inputClaim1: true
- inputClaim2: false
- Notificaciones de salida:
- outputClaim: true
Pasos siguientes
- Encuentre más muestras de transformación de notificaciones en el repositorio de GitHub comunitario de Azure AD B2C.