Transformaciones de notificaciones de entero
En este artículo se proporcionan ejemplos de uso de las transformaciones de notificaciones de enteros del esquema Identity Experience Framework en Azure Active Directory B2C (Azure AD B2C). Para más información, vea ClaimsTransformations.
AdjustNumber
Aumenta o disminuye una notificación numérica y devuelve una nueva notificación. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | inputClaim | int | Tipo de notificación, que contiene el número que se va a aumentar o disminuir. Si el valor de la notificación inputClaim es NULL, se usa el valor predeterminado de 0. |
InputParameter | Operador | string | Valores posibles: INCREMENT (opción predeterminada) o DECREMENT . |
OutputClaim | outputClaim | int | El tipo de notificación que se genera después de que se haya invocado esta transformación de notificaciones. |
Ejemplo de AdjustNumber
Use esta transformación de notificación para aumentar o disminuir un valor de notificación numérico. La siguiente transformación de notificación aumenta un valor numérico de notificación.
<ClaimsTransformation Id="UpdateSteps" TransformationMethod="AdjustNumber">
<InputClaims>
<InputClaim ClaimTypeReferenceId="steps" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="Operator" DataType="string" Value="INCREMENT" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="steps" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Notificaciones de entrada:
- inputClaim: 1
- Parámetros de entrada:
- Operador: INCREMENT
- Notificaciones de salida:
- outputClaim: 2
Ejemplo de AdjustNumber con valor NULL
Si la notificación de entrada es NULL, la notificación de salida será una.
- Notificaciones de entrada:
- inputClaim: NULL
- Parámetros de entrada:
- Operador: INCREMENT
- Notificaciones de salida:
- outputClaim: 1
AssertNumber
Determina si una notificación numérica es mayor, menor, igual o no igual que un número. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | inputClaim | int | Primera notificación numérica que se va a comparar si es mayor, menor, igual o no igual que el segundo número. Un valor nulo inicia una excepción. |
InputParameter | CompareToValue | int | Segundo número que se va a comparar si es mayor, menor, igual o no igual que el primer número. |
InputParameter | Operador | string | Valores posibles: LessThan , GreaterThan , GreaterThanOrEqual , LessThanOrEqual , Equal y NotEqual . |
InputParameter | throwError | boolean | Especifica si esta aserción debe producir un error si el resultado de la comparación es true . Valores posibles: true (opción predeterminada) o false . Cuando se establece en true (modo de aserción) y el resultado de la comparación es true , se producirá una excepción. Cuando se establece en false (modo de evaluación), el resultado es un nuevo tipo de notificación booleana con un valor de true o false . |
OutputClaim | outputClaim | boolean | Si ThrowError se establece en false , esta notificación de salida contiene true , o false según el resultado de la comparación. |
Modo de aserción
Cuando el parámetro de entrada throwError
es true
(valor predeterminado), la transformación de notificaciones AssertNumber siempre se ejecuta desde un perfil técnico de validación llamado por un perfil técnico autofirmado.
Los metadatos de un perfil técnico autoafirmado AssertNumberError controlan el mensaje de error que el perfil técnico presenta al usuario. Los mensajes de error se pueden localizar.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
<Metadata>
<Item Key="AssertNumberError">You've reached the maximum logon attempts</Item>
</Metadata>
...
</TechnicalProfile>
Para obtener más información sobre cómo llamar a la transformación de notificaciones en un modo de aserción, vea las transformaciones de notificaciones AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue y AssertDateTimeIsGreaterThan.
Ejemplo de AssertNumber
En el ejemplo siguiente se impone que el número de intentos es mayor que cinco. La transformación de notificaciones produce un error según el resultado de la comparación.
<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
<InputClaims>
<InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
<InputParameter Id="CompareToValue" DataType="int" Value="5" />
<InputParameter Id="throwError" DataType="boolean" Value="true" />
</InputParameters>
</ClaimsTransformation>
- Notificaciones de entrada:
- inputClaim: 10
- Parámetros de entrada:
- Operador: GreaterThan
- CompareToValue: 5
- throwError: true
- Resultado: aparece un error
Ejemplo del modo de evaluación AssertNumber
En el ejemplo siguiente se evalúa si el número de intentos es mayor que cinco. La notificación de salida contiene un valor booleano según el resultado de la comparación. La transformación de notificaciones no producirá un error.
<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
<InputClaims>
<InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
<InputParameter Id="CompareToValue" DataType="int" Value="5" />
<InputParameter Id="throwError" DataType="boolean" Value="false" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="attemptsCountExceeded" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Notificaciones de entrada:
- inputClaim: 10
- Parámetros de entrada:
- Operador: GreaterThan
- CompareToValue: 5
- throwError: false
- Notificaciones de salida:
- outputClaim: true
ConvertNumberToStringClaim
Convierte a un tipo de datos Long en un tipo de datos String. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | inputClaim | long | Tipo de notificación que se va a convertir en cadena. |
OutputClaim | outputClaim | string | El tipo de notificación que se genera después de que se haya invocado esta transformación de notificaciones. |
Ejemplo de ConvertNumberToStringClaim
En este ejemplo, la notificación numericUserId
con un tipo de valor de Long se convierte en una notificación UserId
con un tipo de valor de String.
<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Notificaciones de entrada:
- inputClaim: 12334 (Long)
- Notificaciones de salida:
- outputClaim: "12334" (cadena)
Pasos siguientes
- Encuentre más muestras de transformación de notificaciones en el repositorio de GitHub comunitario de Azure AD B2C.