Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
В этой статье приведены справочные материалы и примеры использования преобразований утверждений телефонных номеров в пользовательской политике Azure Active Directory B2C (Azure AD B2C). Дополнительные сведения о преобразованиях утверждений в целом см. в разделе ClaimsTransformations.
Замечание
Эта функция доступна в общедоступной предварительной версии.
ConvertPhoneNumberClaimToString (Конвертировать PhoneNumberClaimToString)
Преобразует phoneNumber
тип данных в string
тип данных. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType (Тип утверждения) | Тип данных | Примечания. |
---|---|---|---|
InputClaim (Утверждение входа) | номер телефона | номер телефона | Утверждение о преобразовании в строку. |
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 (Утверждение входа) | страна | струна | [Необязательный] Утверждение строки для кода страны или региона телефонного номера в формате ISO3166 (двухбуквенный код страны или региона ISO-3166). |
outputClaim | outputClaim | номер телефона | Результатом этого является преобразование притязаний. |
Преобразование утверждений 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
- страна: 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 (Утверждение входа) | номер телефона | струна | Строковое утверждение номера телефона. Номер телефона должен быть в международном формате, с ведущим знаком «+» и кодом страны/региона. |
ПараметрВвода | throwExceptionOnFailure | булевый | [Необязательный] Параметр, указывающий, создается ли исключение, когда номер телефона недействителен. По умолчанию используется значение false. |
ПараметрВвода | countryCodeType | струна | [Необязательный] Параметр, указывающий тип кода страны или региона в выходном утверждении. Доступные значения: CallingCode (международный телефонный код для страны или региона, например +1) или ISO3166 (двухбуквенный код страны или региона ISO-3166). |
outputClaim | национальныйномер | струна | Строка утверждения для национального номера телефонного номера. |
outputClaim | код страны | струна | Утверждение строки для кода страны или региона номера телефона. |
Если преобразование утверждений 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>
- Входные утверждения:
- телефон: +49 (123) 456-7890
- Входные параметры:
- throwExceptionOnFailure: false
- countryCodeType: ISO3166
- Выходные утверждения:
- национальныйНомер: 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>
- Входные утверждения:
- телефон: +49 (123) 456-7890
- Входные параметры
- throwExceptionOnFailure: false
- countryCodeType: Вызывающий код
- Выходные утверждения:
- национальныйНомер: 1234567890
- Код страны: +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.