Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Azure Active Directory B2C (Azure AD B2C) обеспечивает поддержку проверки номера телефона с помощью кода проверки или проверки кода однократного пароля (TOTP).
Протокол
Атрибуту Name элемента Protocol необходимо присвоить значение Proprietary. Атрибут обработчика должен содержать полное имя сборки обработчика протокола, используемой Azure AD B2C:
Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
В следующем примере показан технический профиль многофакторной проверки подлинности Идентификатора Microsoft Entra:
<TechnicalProfile Id="AzureMfa-SendSms">
<DisplayName>Send Sms</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
...
Проверка режима телефона
В режиме проверки телефона технический профиль создает и отправляет код на номер телефона, а затем проверяет код. Технический профиль многофакторной проверки подлинности Microsoft Entra ID также может возвращать сообщение об ошибке. Технический профиль проверки проверяет предоставленные пользователем данные до продолжения взаимодействия пользователя. При использовании технического профиля проверки на странице самозаверяющейся страницы отображается сообщение об ошибке. Технический профиль:
- Не предоставляет интерфейс для взаимодействия с пользователем. Вместо этого пользовательский интерфейс вызывается из самозаверяющего технического профиля или элемента управления отображения в качестве технического профиля проверки.
- Использует службу многофакторной проверки подлинности Microsoft Entra для создания и отправки кода на номер телефона, а затем проверяет код.
- Проверяет номер телефона с помощью текстовых сообщений.
Технический профиль предоставляет методы для отправки кода проверки с помощью текстового сообщения SMS и проверки кода. На следующем снимка экрана показан поток проверки телефонов.
Отправка SMS
Чтобы проверить телефон, первый шаг создает код и отправляет его на номер телефона. Для этого шага можно настроить следующие параметры.
Входящие утверждения
Элемент InputClaims содержит список утверждений для отправки в многофакторную проверку подлинности Microsoft Entra. Вы также можете сопоставить имя утверждения с именем, определенным в техническом профиле MFA.
| ClaimReferenceId (Идентификатор ссылки) | Обязательно | Описание |
|---|---|---|
userPrincipalName |
Да | Идентификатор пользователя, которому принадлежит номер телефона. |
phoneNumber |
Да | Номер телефона для отправки SMS-кода. |
companyName |
нет | Имя компании в SMS. Если оно не указано, используется имя приложения. |
locale |
нет | Языковой стандарт SMS. Если он не указан, используется языковой стандарт браузера пользователя. |
Исходящие утверждения
Поставщик протокола многофакторной проверки подлинности Microsoft Entra не возвращает выходные утверждения, поэтому не требуется указывать выходные утверждения.
Метаданные
Элемент метаданных содержит следующий атрибут.
| Свойство | Обязательно | Описание |
|---|---|---|
Operation |
Да | Этот параметр должен содержать значение OneWaySMS. |
Элементы пользовательского интерфейса
Следующие метаданные можно использовать для настройки сообщений об ошибках, отображаемых при отправке сбоя SMS. Метаданные должны быть настроены в самозаверяемом техническом профиле. Сообщения об ошибках можно локализовать.
| Свойство | Обязательно | Описание |
|---|---|---|
UserMessageIfCouldntSendSms |
нет | Сообщение об ошибке пользователя, если указанный номер телефона не принимает SMS. |
UserMessageIfInvalidFormat |
нет | Сообщение об ошибке пользователя, если указанный номер телефона не является допустимым номером телефона. |
UserMessageIfServerError |
нет | Сообщение об ошибке пользователя, если сервер столкнулся с внутренней ошибкой. |
UserMessageIfThrottled |
нет | Сообщение об ошибке пользователя, если запрос был отрегулирован. |
Пример: отправка SMS
В следующем примере показан технический профиль многофакторной проверки подлинности Идентификатора Майкрософт, который используется для отправки кода через SMS.
<TechnicalProfile Id="AzureMfa-SendSms">
<DisplayName>Send Sms</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">OneWaySMS</Item>
</Metadata>
<InputClaimsTransformations>
<InputClaimsTransformation ReferenceId="CombinePhoneAndCountryCode" />
<InputClaimsTransformation ReferenceId="ConvertStringToPhoneNumber" />
</InputClaimsTransformations>
<InputClaims>
<InputClaim ClaimTypeReferenceId="userPrincipalName" />
<InputClaim ClaimTypeReferenceId="fullPhoneNumber" PartnerClaimType="phoneNumber" />
</InputClaims>
</TechnicalProfile>
Проверить код
Шаг проверки кода проверяет код, отправленный пользователю. Для этого шага можно настроить следующие параметры.
Входящие утверждения
Элемент InputClaims содержит список утверждений для отправки в многофакторную проверку подлинности Microsoft Entra. Вы также можете сопоставить имя утверждения с именем, определенным в техническом профиле MFA.
| ClaimReferenceId (Идентификатор ссылки) | Обязательно | Описание |
|---|---|---|
phoneNumber |
Да | Тот же номер телефона, что и раньше, используемый для отправки кода. Он также используется для поиска сеанса проверки телефона. |
verificationCode |
Да | Код проверки, предоставленный пользователем для проверки |
Исходящие утверждения
Поставщик протокола многофакторной проверки подлинности Microsoft Entra не возвращает выходные утверждения, поэтому не требуется указывать выходные утверждения.
Метаданные
Элемент метаданных содержит следующий атрибут.
| Свойство | Обязательно | Описание |
|---|---|---|
Operation |
Да | Этот параметр должен содержать значение Verify. |
Элементы пользовательского интерфейса
Следующие метаданные можно использовать для настройки сообщений об ошибках, отображаемых при сбое проверки кода. Метаданные должны быть настроены в самозаверяемом техническом профиле. Сообщения об ошибках можно локализовать.
| Свойство | Обязательно | Описание |
|---|---|---|
UserMessageIfMaxAllowedCodeRetryReached |
нет | Сообщение об ошибке пользователя, если пользователь попытался выполнить проверку кода слишком много раз. |
UserMessageIfServerError |
нет | Сообщение об ошибке пользователя, если сервер столкнулся с внутренней ошибкой. |
UserMessageIfThrottled |
нет | Сообщение об ошибке пользователя, если запрос регулируется. |
UserMessageIfWrongCodeEntered |
нет | Сообщение об ошибке пользователя, если код, введенный для проверки, неправильный. |
Пример: проверка кода
В следующем примере показан технический профиль многофакторной проверки подлинности Microsoft Entra ID, используемый для проверки кода.
<TechnicalProfile Id="AzureMfa-VerifySms">
<DisplayName>Verify Sms</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">Verify</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="phoneNumber" PartnerClaimType="phoneNumber" />
<InputClaim ClaimTypeReferenceId="verificationCode" />
</InputClaims>
</TechnicalProfile>
Режим TOTP
В этом режиме пользователю требуется установить любое приложение authenticator, которое поддерживает проверку одноразового пароля (TOTP), например приложение Microsoft Authenticator, на устройстве, которому они принадлежат.
Во время первой регистрации или входа пользователь сканирует QR-код, открывает глубокую ссылку или вводит код вручную с помощью приложения проверки подлинности. Чтобы проверить код TOTP, используйте метод "Начать проверку OTP ", а затем технический профиль проверки TOTP .
Для последующих входов используйте метод Get available devices , чтобы проверить, уже ли пользователь зарегистрировал свое устройство. Если число доступных устройств больше нуля, это означает, что пользователь зарегистрировался раньше. В этом случае пользователю необходимо ввести код TOTP, который отображается в приложении authenticator.
Технический профиль:
- Не предоставляет интерфейс для взаимодействия с пользователем. Вместо этого пользовательский интерфейс вызывается из самоутверждаемого технического профиля с элементами управления отображения TOTP.
- Использует службу многофакторной проверки подлинности Microsoft Entra для проверки кода TOTP.
- Проверяет, уже ли пользователь зарегистрировал свое устройство.
На следующем снимка экрана показан поток регистрации и проверки TOTP. Она начинается с проверки количества доступных устройств. Если число доступных устройств равно нулю, пользователь проходит шаг оркестрации регистрации. В противном случае пользователь проходит этап оркестрации проверки.
Получение доступных устройств
В режиме получения доступных устройств проверяется количество устройств, доступных для пользователя. Если число доступных устройств равно нулю, это означает, что пользователь еще не зарегистрировался.
Входящие утверждения
Элемент InputClaims содержит список утверждений для отправки в многофакторную проверку подлинности Microsoft Entra. Вы также можете сопоставить имя утверждения с именем, определенным в техническом профиле MFA.
| ClaimReferenceId (Идентификатор ссылки) | Обязательно | Описание |
|---|---|---|
userPrincipalName |
Да | Основное имя пользователя. |
Исходящие утверждения
Элемент выходных утверждений содержит список утверждений, возвращаемых из многофакторной проверки подлинности Microsoft Entra. Вы также можете сопоставить имя утверждения с именем, определенным в техническом профиле MFA.
| ClaimReferenceId (Идентификатор ссылки) | Обязательно | Описание |
|---|---|---|
numberOfAvailableDevices |
Да | Количество доступных устройств для пользователя. |
Метаданные
Элемент метаданных содержит следующий атрибут.
| Свойство | Обязательно | Описание |
|---|---|---|
Operation |
Да | Этот параметр должен содержать значение GetAvailableDevices. |
Пример. Получение доступных устройств
В следующем примере показан технический профиль многофакторной проверки подлинности Microsoft Entra ID, используемый для получения количества доступных устройств.
<TechnicalProfile Id="AzureMfa-GetAvailableDevices">
<DisplayName>Get Available Devices</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">GetAvailableDevices</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="userPrincipalName" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="numberOfAvailableDevices" />
</OutputClaims>
</TechnicalProfile>
Начало проверки TOTP
Начало проверки TOTP запускает процесс проверки. Этот технический профиль проверки вызывается из самозаверяющего технического профиля, который представляет и проверяет коды TOTP. Этот технический профиль проверки должен следовать вызову проверки технических профилей проверки TOTP .
Входящие утверждения
Элемент InputClaims содержит список утверждений для отправки в многофакторную проверку подлинности Microsoft Entra. Вы также можете сопоставить имя утверждения с именем, определенным в техническом профиле MFA.
| ClaimReferenceId (Идентификатор ссылки) | Обязательно | Описание |
|---|---|---|
userPrincipalName |
Да | Основное имя пользователя. |
objectId |
Да | Идентификатор объекта пользователя. |
secretKey |
Да | Секретный ключ пользователя. Этот ключ хранится в профиле пользователя в каталоге Azure AD B2C и предоставляется приложению authenticator. Приложение authenticator использует секрет для создания кода TOTP. Этот технический профиль использует секрет для проверки кода TOTP. |
Исходящие утверждения
Поставщик протокола многофакторной проверки подлинности Microsoft Entra не возвращает выходные утверждения, поэтому не требуется указывать выходные утверждения.
Метаданные
Элемент метаданных содержит следующий атрибут.
| Свойство | Обязательно | Описание |
|---|---|---|
Operation |
Да | Этот параметр должен содержать значение BeginVerifyOTP. |
Пример. Начало проверки TOTP
В следующем примере показан технический профиль многофакторной проверки подлинности Microsoft Entra ID, используемый для начала процесса проверки TOTP.
<TechnicalProfile Id="AzureMfa-BeginVerifyOTP">
<DisplayName>Begin verify TOTP"</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">BeginVerifyOTP</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="secretKey" />
<InputClaim ClaimTypeReferenceId="objectId" />
<InputClaim ClaimTypeReferenceId="userPrincipalName" />
</InputClaims>
</TechnicalProfile>
Проверка TOTP
Метод TOTP проверяет код TOTP. Этот технический профиль проверки вызывается из самозаверяющего технического профиля, который представляет и проверяет коды TOTP. Этот технический профиль проверки должен предшествовать вызову технических профилей проверки TOTP begin.
Входящие утверждения
Элемент InputClaims содержит список утверждений для отправки в многофакторную проверку подлинности Microsoft Entra. Вы также можете сопоставить имя утверждения с именем, определенным в техническом профиле MFA.
| ClaimReferenceId (Идентификатор ссылки) | Обязательно | Описание |
|---|---|---|
otpCode |
Да | Код TOTP, предоставленный пользователем. |
Исходящие утверждения
Поставщик протокола многофакторной проверки подлинности Microsoft Entra не возвращает выходные утверждения, поэтому не требуется указывать выходные утверждения.
Метаданные
Элемент метаданных содержит следующий атрибут.
| Свойство | Обязательно | Описание |
|---|---|---|
Operation |
Да | Этот параметр должен содержать значение VerifyOTP. |
Пример. Проверка TOTP
В следующем примере показан технический профиль многофакторной проверки подлинности Идентификатора Microsoft Entra, используемый для проверки кода TOTP.
<TechnicalProfile Id="AzureMfa-VerifyOTP">
<DisplayName>Verify OTP</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">VerifyOTP</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="otpCode" />
</InputClaims>
</TechnicalProfile>