Определение технического профиля телефонного фактора в настраиваемой политике Azure Active Directory B2C

Примечание.

В Azure Active Directory B2C пользовательские политики преимущественно предназначены для выполнения сложных сценариев. В большинстве случаев рекомендуется использовать встроенные потоки пользователей. Ознакомьтесь со статьей Начало работы с настраиваемыми политиками в Azure Active Directory B2C, чтобы узнать о базовом пакете настраиваемых политик, если еще не сделали этого.

Azure Active Directory B2C (Azure AD B2C) обеспечивает поддержку регистрации и проверки номеров телефонов. Этот технический профиль:

  • Предоставляет пользовательский интерфейс для взаимодействия с пользователем для проверки или регистрации номера телефона.
  • Поддерживает телефонные звонки и текстовые сообщения для проверки номера телефона.
  • Поддерживает несколько телефонных номеров. Пользователь может выбрать один из номеров телефона для проверки.
  • Возвращает утверждение о том, предоставил ли пользователь новый номер телефона. Вы можете использовать это утверждение, чтобы решить, следует ли сохранять номер телефона в профиле пользователя Azure AD B2C.
  • Использует определение содержимого для управления внешним видом и поведением.

Протокол

Атрибуту Name элемента Protocol необходимо присвоить значение Proprietary. Атрибут handler должен содержать полное имя сборки обработчика протокола, которое используется Azure AD B2C для телефонного фактора: Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

В следующем примере показан технический профиль телефонного фактора для регистрации и проверки:

<TechnicalProfile Id="PhoneFactor-InputOrVerify">
  <DisplayName>PhoneFactor</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</TechnicalProfile>

Преобразования входящих утверждений

Элемент InputClaimsTransformations может содержать коллекцию преобразований входящих утверждений, которые используются для изменения входящих утверждений или создания новых. Следующее преобразование входящих утверждений создает UserId утверждение, которое будет использоваться в коллекции входящих утверждений.

<InputClaimsTransformations>
  <InputClaimsTransformation ReferenceId="CreateUserIdForMFA" />
</InputClaimsTransformations>

Входящие утверждения

Элемент InputClaims должен содержать следующие утверждения. Также вы можете сопоставить имя вашего утверждения с именем, заданным в техническом профиле телефонного фактора.

Тип данных Обязательно Описание
string Да Уникальный идентификатор пользователя. Имя утверждения или PartnerClaimType должно иметь значение UserId. Это утверждение не должно содержать личных сведений.
строка Да Список типов утверждений. Каждое утверждение содержит один номер телефона. Если какое-либо из входящих утверждений не содержит номер телефона, пользователю будет предложено зарегистрироваться и проверить новый номер телефона. Проверенный номер телефона возвращается в виде исходящего утверждения. Если одно из входящих утверждений содержит номер телефона, пользователю предлагается проверить его. Если несколько входящих утверждений содержат номер телефона, пользователю предлагается выбрать и проверить один из телефонных номеров.

В следующем примере демонстрируется использование нескольких телефонных номеров. Для дополнительных сведений см. пример политики.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="userIdForMFA" PartnerClaimType="UserId" />
  <InputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
  <InputClaim ClaimTypeReferenceId="secondaryStrongAuthenticationPhoneNumber" />
</InputClaims>

Исходящие утверждения

Элемент OutputClaims содержит список утверждений, возвращаемых техническим профилем телефонного фактора.

Тип данных Обязательно Описание
boolean Да Указывает, введен ли новый номер телефона пользователем. Имя утверждения или PartnerClaimType должно иметь значение newPhoneNumberEntered
строка Да Проверенный номер телефона. Имя утверждения или PartnerClaimType должно иметь значение Verified.OfficePhone.

Элемент OutputClaimsTransformations может содержать коллекцию элементов OutputClaimsTransformation, которые используются для изменения исходящих утверждений или создания новых.

Криптографические ключи

Элемент CryptographicKeys не используется.

Метаданные

Атрибут Обязательное поле Описание
ContentDefinitionReferenceId Да Идентификатор определения содержимого, связанного с этим техническим профилем.
ManualPhoneNumberEntryAllowed No Укажите, разрешено ли пользователю вручную вводить номер телефона. Возможные значения: true или false (по умолчанию).
setting.authenticationMode No Метод для проверки номера телефона. Возможные значения: sms, phone, или mixed (по умолчанию).
setting.autodial No Укажите, должен ли технический профиль выполнять автоматический автонабор или автоматическую отправку SMS. Возможные значения: true или false (по умолчанию). Для автоматического набора необходимо, чтобы setting.authenticationMode метаданные имели значения sms или phone. Коллекция входящих утверждений должна иметь один номер телефона.
setting.autosubmit No Указывает, должен ли технический профиль автоматически отправлять форму ввода одноразовых паролей. Возможные значения — true (по умолчанию) или false. При отключении автоматической отправки пользователю необходимо нажать кнопку, чтобы выполнить переход.
setting.enableCaptchaChallenge No Указывает, должен ли код вызова CAPTCHA отображаться в потоке MFA. Возможные значения: true или false (по умолчанию). Для работы этого параметра элемент управления отображения CAPTCHA должен быть указан в утверждениях отображения технического профиля телефона. Функция CAPTCHA доступна в общедоступной предварительной версии.

Элементы пользовательского интерфейса

Элементы пользовательского интерфейса на странице аутентификации по номеру телефона можно переводить на другие языки.

Следующие шаги