Определение технического профиля телефонного фактора в настраиваемой политике 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 доступна в общедоступной предварительной версии. |
Элементы пользовательского интерфейса
Элементы пользовательского интерфейса на странице аутентификации по номеру телефона можно переводить на другие языки.