Definición de transformaciones de notificaciones de número de teléfono en Azure AD B2C
En este artículo se proporcionan referencias y ejemplos de uso de las transformaciones de notificaciones de números de teléfono de la directiva personalizada de Azure Active Directory B2C (Azure AD B2C). Para obtener más información sobre las transformaciones de notificaciones en general, vea ClaimsTransformations.
Nota:
Esta característica está en versión preliminar pública.
ConvertPhoneNumberClaimToString
Convierte un tipo de datos phoneNumber
en un tipo de datos string
. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | phoneNumber | phoneNumber | La notificación que se va a convertir en cadena. |
OutputClaim | phoneNumberString | string | Notificación que se genera después de que se haya invocado esta transformación de notificaciones. |
Ejemplo de ConvertPhoneNumberClaimToString
En este ejemplo, la notificación cellPhoneNumber con un tipo de valor de phoneNumber
se convierte en una notificación cellPhone con un tipo de valor de string
.
<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
</OutputClaims>
</ClaimsTransformation>
- Notificaciones de entrada:
- phoneNumber: + 11234567890 (phoneNumber)
- Notificaciones de salida:
- phoneNumberString: +11234567890 (string)
ConvertStringToPhoneNumberClaim
Valida el formato de un número de teléfono. Si es válido, cámbielo a un formato estándar que use Azure AD B2C. Si el número de teléfono proporcionado no tiene un formato válido, se devuelve un mensaje de error. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | phoneNumberString | string | Notificación de cadena para el número de teléfono. El número de teléfono tiene que estar en formato internacional y completo con un signo "+" y un código de país o región al principio. Si se proporciona la notificación de entrada country , el número de teléfono está en formato local (sin el código de país o región). |
InputClaim | country | string | [Opcional] Notificación de cadena para el código de país o región del número de teléfono en formato ISO3166 (código de país o región ISO-3166 de dos letras). |
OutputClaim | outputClaim | phoneNumber | Resultado de esta transformación de notificaciones. |
La transformación de notificaciones ConvertStringToPhoneNumberClaim siempre se ejecuta desde un perfil técnico de validación llamado por un perfil técnico autoafirmado o un control de visualización. Los metadatos de un perfil técnico autoafirmado UserMessageIfClaimsTransformationInvalidPhoneNumber controlan el mensaje de error que se presenta al usuario.
Ejemplo de ConvertStringToPhoneNumberClaim
En el ejemplo siguiente se comprueba que el valor de la notificación phoneString es realmente un número de teléfono válido y, a continuación, se devuelve el número de teléfono con el formato de Azure AD B2C estándar. De lo contrario, se emite un mensaje de error.
<ClaimsTransformation Id="ConvertStringToPhoneNumber" TransformationMethod="ConvertStringToPhoneNumberClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="phoneString" TransformationClaimType="phoneNumberString" />
<InputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="country" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Notificaciones de entrada:
- phoneNumberString: 033 456-7890
- country: DK
- Notificaciones de salida:
- outputClaim: +450334567890
Ejemplo de ConvertStringToPhoneNumberClaim sin notificación de código de país
Consulte la demo en vivo de este modo de la transformación de notificaciones.
- Notificaciones de entrada:
- phoneNumberString: +1 (123) 456-7890
- Notificaciones de salida:
- outputClaim: +11234567890
Llamada a la transformación de notificaciones ConvertStringToPhoneNumberClaim
El perfil técnico autoafirmado que llama al perfil técnico de validación que contiene esta transformación de notificaciones puede definir el mensaje de error.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignUp-Phone">
<Metadata>
<Item Key="UserMessageIfClaimsTransformationInvalidPhoneNumber">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
GetNationalNumberAndCountryCodeFromPhoneNumberString
Extrae el código de país o región y el número nacional de la notificación de entrada y, opcionalmente, produce una excepción si el número de teléfono proporcionado no es válido. Consulte la demo en vivo de esta transformación de notificaciones.
Elemento | TransformationClaimType | Tipo de datos | Notas |
---|---|---|---|
InputClaim | phoneNumber | string | Notificación de cadena del número de teléfono. El número de teléfono tiene que estar en formato internacional y estar completo con un signo "+" y un código de país o región al principio. |
InputParameter | throwExceptionOnFailure | boolean | [Opcional] Parámetro que indica si se produce una excepción cuando el número de teléfono no es válido. El valor predeterminado es False. |
InputParameter | countryCodeType | string | [Opcional] Parámetro que indica el tipo de código de país o región de la notificación de salida. Los valores disponibles son CallingCode (el código de llamada internacional de un país o región, por ejemplo, +1) o ISO3166 (el código de país o región ISO-3166 de dos letras). |
OutputClaim | nationalNumber | string | Notificación de cadena para el número nacional del número de teléfono. |
OutputClaim | countryCode | string | Notificación de cadena para el código de país o región del número de teléfono. |
Si la transformación de notificaciones GetNationalNumberAndCountryCodeFromPhoneNumberString se ejecuta desde un perfil técnico de validación al que llama un perfil técnico autoafirmado o una acción de control de visualización, los metadatos del perfil técnico autoafirmado UserMessageIfPhoneNumberParseFailure controlan el mensaje de error que se presenta al usuario.
Puede usar esta transformación de notificaciones para dividir un número de teléfono completo en el código de país o región y el número nacional. Si el número de teléfono proporcionado no es válido, puede optar por generar un mensaje de error.
Ejemplo de GetNationalNumberAndCountryCodeFromPhoneNumberString
En el ejemplo siguiente se intenta dividir el número de teléfono en el número nacional y el código de país o región. Si el número de teléfono es válido, el número nacional invalidará el número de teléfono. Si el número de teléfono no es válido, no se iniciará ninguna excepción y el número de teléfono seguirá teniendo su valor original.
<ClaimsTransformation Id="GetNationalNumberAndCountryCodeFromPhoneNumberString" TransformationMethod="GetNationalNumberAndCountryCodeFromPhoneNumberString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<InputParameters>
<InputParameter Id="throwExceptionOnFailure" DataType="boolean" Value="false" />
<InputParameter Id="countryCodeType" DataType="string" Value="ISO3166" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="nationalNumber" TransformationClaimType="nationalNumber" />
<OutputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="countryCode" />
</OutputClaims>
</ClaimsTransformation>
- Notificaciones de entrada:
- phoneNumber: +49 (123) 456-7890
- Parámetros de entrada:
- throwExceptionOnFailure: false
- countryCodeType: ISO3166
- Notificaciones de salida:
- nationalNumber: 1234567890
- countryCode DE
Ejemplo de GetNumberAndCountryCodeFromPhoneNumberString con el parámetro CallingCode
En el ejemplo siguiente se intenta dividir el número de teléfono en el número nacional y el código de país.
<ClaimsTransformation Id="GetNationalNumberAndCountryCodeFromPhoneNumberString" TransformationMethod="GetNationalNumberAndCountryCodeFromPhoneNumberString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<InputParameters>
<InputParameter Id="throwExceptionOnFailure" DataType="boolean" Value="false" />
<InputParameter Id="countryCodeType" DataType="string" Value="CallingCode" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="nationalNumber" TransformationClaimType="nationalNumber" />
<OutputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="countryCode" />
</OutputClaims>
</ClaimsTransformation>
- Notificaciones de entrada:
- phoneNumber: +49 (123) 456-7890
- Parámetros de entrada
- throwExceptionOnFailure: false
- countryCodeType: CallingCode
- Notificaciones de salida:
- nationalNumber: 1234567890
- countryCode: +49
Llamada a la transformación de notificaciones GetNumberNumberAndCountryCodeFromPhoneNumberString
El perfil técnico autoafirmado que llama al perfil técnico de validación que contiene esta transformación de notificaciones puede definir el mensaje de error.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignup-Phone">
<Metadata>
<Item Key="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
Pasos siguientes
- Encuentre más muestras de transformación de notificaciones en el repositorio de GitHub comunitario de Azure AD B2C.