Compartir a través de


Transformaciones de notificaciones booleanas

Importante

A partir del 1 de mayo de 2025, Azure AD B2C ya no estará disponible para la compra por parte de nuevos clientes. Obtenga más información en nuestras preguntas más frecuentes.

En este artículo se proporcionan ejemplos para usar 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.

YReclamaciones

Calcula una And operación de dos notificaciones de entrada booleanas 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 booleano Primera notificación que se va a evaluar.
InputClaim inputClaim2 booleano Segunda notificación que se va a evaluar.
OutputClaim (Reclamo de salida) outputClaim booleano Notificación que se generará después de invocar esta transformación de notificaciones (true o false).

Ejemplo de AndClaims

La siguiente transformación de notificaciones muestra cómo dos And notificaciones booleanas: isEmailNotExist, y isSocialAccount. La notificación presentEmailSelfAsserted de salida se establece en true si los valores de ambas notificaciones de entrada son 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 produce 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 booleano Notificación que se va a comprobar.
InputParameter valueToCompareTo booleano 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 al que llama un perfil técnico autoafirmado. Los metadatos del 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.

Diagrama que muestra cómo usar la transformación de notificaciones AssertStringClaimsAreEqual.

Ejemplo de AssertBooleanClaimIsEqualToValue

La siguiente transformación de notificaciones muestra cómo comprobar el valor de una notificación booleana con un true valor . Si el valor de la accountEnabled notificación es false, se produce 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 Example-AssertBoolean perfil técnico de validación llama a la transformación de AssertAccountEnabledIsTrue notificaciones.

<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 de validación 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

Comprueba que el valor booleano de una notificación es igual a true o falsey 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 booleano Notificación que se va a comparar.
InputParameter valueToCompareTo booleano Valor que se va a comparar (true o false).
OutputClaim (Reclamo de salida) compareResult booleano 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 muestra cómo comprobar el valor de una notificación booleana con un true valor . Si el valor de la IsAgeOver21Years notificación es igual a true, la transformación de notificaciones 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

Calcula una Not operación de la notificación de entrada booleana 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 inputClaim booleano La notificación que se va a operar.
OutputClaim (Reclamo de salida) outputClaim booleano La notificación que se genera después de invocar esta transformación de notificaciones (true o false).

Ejemplo de NotClaims

La siguiente transformación de notificaciones muestra cómo realizar 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

OReclamaciones

Calcula una Or de dos notificaciones booleanas 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 booleano Primera notificación que se va a evaluar.
InputClaim inputClaim2 booleano Segunda notificación que se va a evaluar.
OutputClaim (Reclamo de salida) outputClaim booleano Notificación que se generará después de invocar esta transformación de notificaciones (true o false).

Ejemplo de OrClaims

La siguiente transformación de notificaciones muestra cómo dos Or 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