Определение преобразований утверждений номеров телефона в Azure AD B2C
В этой статье приведены справочные сведения и примеры использования преобразований утверждений номеров телефона в настраиваемой политике Azure Active Directory B2C (Azure AD B2C). Дополнительные общие сведения о преобразованиях утверждений см. в разделе ClaimsTransformations.
Примечание
Эта функция предоставляется в общедоступной предварительной версии.
ConvertPhoneNumberClaimToString
Преобразовывает тип данных phoneNumber
в тип данных string
. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | phoneNumber | phoneNumber | Утверждение для преобразования в строку. |
outputClaim | phoneNumberString | строка | Утверждение, которое создается после вызова этого преобразования утверждений. |
Пример ConvertPhoneNumberClaimToString
В этом примере утверждение cellPhoneNumber с типом значения phoneNumber
преобразуется в утверждение cellPhone с типом значения string
.
<ClaimsTransformation Id="PhoneNumberToString" TransformationMethod="ConvertPhoneNumberClaimToString">
<InputClaims>
<InputClaim ClaimTypeReferenceId="cellPhoneNumber" TransformationClaimType="phoneNumber" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="cellPhone" TransformationClaimType="phoneNumberString" />
</OutputClaims>
</ClaimsTransformation>
- Входящие утверждения:
- phoneNumber: +11234567890 (phoneNumber)
- Исходящие утверждения:
- phoneNumberString: +11234567890 (строка)
ConvertStringToPhoneNumberClaim
Проверяет формат номера телефона. Если формат номера телефона является допустимым, он преобразовывается в стандартный формат, используемый Azure AD B2C. Если указанный номер телефона имеет недопустимый формат, возвращается сообщение об ошибке. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | phoneNumberString | строка | Строковое утверждение для номера телефона. Номер телефона должен быть указан в международном формате, включая знак "+" и код страны или региона. Если добавлено входящее утверждение country , номер телефона указывается в местном формате (без кода страны или региона). |
InputClaim | country | строка | (Необязательно.) Строковое утверждение для кода страны или региона номера телефона в формате ISO 3166 (двухбуквенный код страны и региона в формате ISO 3166). |
outputClaim | outputClaim | phoneNumber | Результат преобразования утверждений. |
Преобразование утверждений ConvertStringToPhoneNumberClaim всегда выполняется из технического профиля проверки, вызываемого с помощью самоподтвержденного технического профиля или элемента управления отображением. Метаданные самоподтвержденного технического профиля UserMessageIfClaimsTransformationInvalidPhoneNumber управляют сообщением об ошибке, представляемым пользователю.
Пример ConvertStringToPhoneNumberClaim
В следующем примере проверяется, действительно ли утверждение phoneString соответствует допустимому номеру телефона, а затем возвращается номер телефона в стандартном формате Azure AD B2C. В противном случае отображается сообщение об ошибке.
<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>
- Входящие утверждения:
- phoneNumberString: 033 456-7890
- country: DK
- Исходящие утверждения:
- outputClaim: +450334567890
Пример ConvertStringToPhoneNumberClaim без утверждения кода страны
Ознакомьтесь с этим режимом преобразования утверждений в демонстрации в реальном времени.
- Входящие утверждения:
- phoneNumberString: +1 (123) 456-7890
- Исходящие утверждения:
- outputClaim: +11234567890
Вызов преобразования утверждений ConvertStringToPhoneNumberClaim
Самоподтвержденный технический профиль, который вызывает технический профиль проверки, содержащий это преобразование утверждений, может определять сообщение об ошибке.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignUp-Phone">
<Metadata>
<Item Key="UserMessageIfClaimsTransformationInvalidPhoneNumber">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
GetNationalNumberAndCountryCodeFromPhoneNumberString
Извлекает код страны или региона, а также национальный номер из входного утверждения. При необходимости создает исключение, если указанный номер телефона является недопустимым. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | phoneNumber | строка | Строковое утверждение для номера телефона. Номер телефона должен быть указан в международном формате, включая знак "+" и код страны или региона. |
InputParameter | throwExceptionOnFailure | Логическое | (Необязательно) Параметр, указывающий, создавать ли исключение, если номер телефона является недопустимым. Значение по умолчанию — false. |
InputParameter | countryCodeType | строка | (Необязательно.) Параметр, указывающий тип кода страны или региона в выходном утверждении. Допустимые значения: CallingCode (международный код страны или региона, например +1) или ISO3166 (двухбуквенный код страны и региона в формате ISO 3166). |
outputClaim | nationalNumber | строка | Строковое утверждение для национального номера телефона. |
outputClaim | countryCode | строка | Строковое утверждение для кода страны или региона номера телефона. |
Если преобразование утверждений GetNationalNumberAndCountryCodeFromPhoneNumberString выполняется из технического профиля проверки, вызванного самоподтвержденным техническим профилем или элементом управления отображением, то сообщением об ошибке, отображаемым пользователю, управляют метаданные UserMessageIfPhoneNumberParseFailure самоподтвержденного технического профиля.
Это преобразование утверждений можно использовать для разбиения полного номера телефона на код страны или региона и национальный номер. Можно выбрать отображение сообщения об ошибке, если указан недопустимый номер телефона.
Пример GetNationalNumberAndCountryCodeFromPhoneNumberString
В следующем примере производится попытка разделить номер телефона на национальной номер и код страны или региона. Если номер телефона действителен, то номер телефона будет заменен национальным номером. Если номер телефона является недопустимым, то исключение не будет создано, а номер телефона сохранит свое исходное значение.
<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>
- Входящие утверждения:
- phoneNumber: +49 (123) 456-7890
- Входные параметры:
- throwExceptionOnFailure: false
- countryCodeType: ISO3166
- Исходящие утверждения:
- nationalNumber: 1234567890
- countryCode: DE
Пример GetNationalNumberAndCountryCodeFromPhoneNumberString с параметром CallingCode
В следующем примере производится попытка разделить номер телефона на национальной номер и телефонный код страны.
<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>
- Входящие утверждения:
- phoneNumber: +49 (123) 456-7890
- Входные параметры
- throwExceptionOnFailure: false
- countryCodeType: CallingCode
- Исходящие утверждения:
- nationalNumber: 1234567890
- countryCode: +49
Вызов преобразования утверждений GetNationalNumberAndCountryCodeFromPhoneNumberString
Самоподтвержденный технический профиль, который вызывает технический профиль проверки, содержащий это преобразование утверждений, может определять сообщение об ошибке.
<TechnicalProfile Id="SelfAsserted-LocalAccountSignup-Phone">
<Metadata>
<Item Key="UserMessageIfPhoneNumberParseFailure">Custom error message if the phone number is not valid.</Item>
</Metadata>
...
</TechnicalProfile>
Дальнейшие действия
- Дополнительные примеры преобразования утверждений можно найти в репозитории сообщества Azure AD B2C в GitHub.