Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
В Azure Active Directory B2C пользовательские политики преимущественно предназначены для выполнения сложных сценариев. В большинстве случаев рекомендуется использовать встроенные потоки пользователей. Ознакомьтесь со статьей Начало работы с настраиваемыми политиками в Azure Active Directory B2C, чтобы узнать о базовом пакете настраиваемых политик, если еще не сделали этого.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Azure Active Directory B2C (Azure AD B2C) обеспечивает поддержку проверки адреса электронной почты для самостоятельного сброса пароля (SSPR). Используйте технический профиль SSPR идентификатора Microsoft Entra ID для создания и отправки кода на адрес электронной почты, а затем проверьте код. Технический профиль SSPR идентификатора Microsoft Entra ID также может возвращать сообщение об ошибке. Технический профиль проверки проверяет предоставленные пользователем данные до продолжения взаимодействия пользователя. При использовании технического профиля проверки на странице самозаверяющейся страницы отображается сообщение об ошибке.
Этот технический профиль:
- Не предоставляет интерфейс для взаимодействия с пользователем. Вместо этого пользовательский интерфейс вызывается из самозаверяющего технического профиля или элемента управления отображения в качестве технического профиля проверки.
- Использует службу Microsoft Entra SSPR для создания и отправки кода на адрес электронной почты, а затем проверяет код.
- Проверяет адрес электронной почты с помощью кода проверки.
Протокол
Атрибуту Name элемента Protocol необходимо присвоить значение Proprietary
. Атрибут обработчика должен содержать полное имя сборки обработчика протокола, используемой Azure AD B2C:
Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
В следующем примере показан технический профиль SSPR идентификатора Microsoft Entra ID:
<TechnicalProfile Id="AadSspr-SendCode">
<DisplayName>Send Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
...
Отправка сообщения электронной почты
Первый режим этого технического профиля — создать код и отправить его. Для этого режима можно настроить следующие параметры.
Входящие утверждения
Элемент InputClaims содержит список утверждений для отправки в Microsoft Entra SSPR. Вы также можете сопоставить имя утверждения с именем, определенным в техническом профиле SSPR.
ClaimReferenceId (Идентификатор ссылки) | Обязательно | Описание |
---|---|---|
адрес электронной почты | Да | Идентификатор пользователя, которому принадлежит адрес электронной почты. Для PartnerClaimType свойства входного утверждения должно быть задано emailAddress значение . |
Элемент InputClaimsTransformations может содержать коллекцию элементов InputClaimsTransformation , которые используются для изменения входных утверждений или создания новых перед отправкой в службу Microsoft Entra SSPR.
Исходящие утверждения
Поставщик протокола Microsoft Entra SSPR не возвращает выходные утверждения, поэтому не требуется указывать выходные утверждения. Однако можно включить утверждения, которые не возвращаются поставщиком протокола Microsoft Entra SSPR до тех пор, пока вы задали DefaultValue
атрибут.
Элемент OutputClaimsTransformations может содержать коллекцию элементов OutputClaimsTransformation , которые используются для изменения выходных утверждений или создания новых.
Метаданные
Свойство | Обязательно | Описание |
---|---|---|
Операция | Да | Должен быть SendCode. |
Элементы пользовательского интерфейса
Следующие метаданные можно использовать для настройки сообщений об ошибках, отображаемых при отправке сбоя SMS. Метаданные должны быть настроены в самозаверяемом техническом профиле. Сообщения об ошибках можно локализовать.
Свойство | Обязательно | Описание |
---|---|---|
UserMessageIfInternalError (UserMessageIfInternalError) | нет | Сообщение об ошибке пользователя, если сервер столкнулся с внутренней ошибкой. |
UserMessageIfThrottled | нет | Сообщение об ошибке пользователя, если запрос был отрегулирован. |
Пример: отправка сообщения электронной почты
В следующем примере показан технический профиль SSPR идентификатора Microsoft Entra ID, который используется для отправки кода по электронной почте.
<TechnicalProfile Id="AadSspr-SendCode">
<DisplayName>Send Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">SendCode</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
</InputClaims>
</TechnicalProfile>
Проверить код
Второй режим этого технического профиля — проверка кода. Для этого режима можно настроить следующие параметры.
Входящие утверждения
Элемент InputClaims содержит список утверждений для отправки в Microsoft Entra SSPR. Вы также можете сопоставить имя утверждения с именем, определенным в техническом профиле SSPR.
ClaimReferenceId (Идентификатор ссылки) | Обязательно | Описание |
---|---|---|
адрес электронной почты | Да | Тот же адрес электронной почты, что и ранее используемый для отправки кода. Он также используется для поиска сеанса проверки электронной почты. Для PartnerClaimType свойства входного утверждения должно быть задано emailAddress значение . |
код проверки | Да | Код проверки, предоставленный пользователем для проверки. Для PartnerClaimType свойства входного утверждения должно быть задано verificationCode значение . |
Элемент InputClaimsTransformations может содержать коллекцию элементов InputClaimsTransformation , которые используются для изменения входных утверждений или создания новых перед вызовом службы Microsoft Entra SSPR.
Исходящие утверждения
Поставщик протокола Microsoft Entra SSPR не возвращает выходные утверждения, поэтому не требуется указывать выходные утверждения. Однако можно включить утверждения, которые не возвращаются поставщиком протокола Microsoft Entra SSPR до тех пор, пока вы задали DefaultValue
атрибут.
Элемент OutputClaimsTransformations может содержать коллекцию элементов OutputClaimsTransformation , которые используются для изменения выходных утверждений или создания новых.
Метаданные
Свойство | Обязательно | Описание |
---|---|---|
Операция | Да | Должен быть проверен код |
Элементы пользовательского интерфейса
Следующие метаданные можно использовать для настройки сообщений об ошибках, отображаемых при сбое проверки кода. Метаданные должны быть настроены в самозаверяемом техническом профиле. Сообщения об ошибках можно локализовать.
Свойство | Обязательно | Описание |
---|---|---|
UserMessageIfChallengeExpired | Сообщение, отображаемое пользователю, если истек срок действия сеанса проверки кода. Срок действия кода истек или код никогда не был создан для заданного идентификатора. | |
UserMessageIfInternalError (UserMessageIfInternalError) | Сообщение об ошибке пользователя, если сервер столкнулся с внутренней ошибкой. | |
UserMessageIfThrottled | Сообщение об ошибке пользователя, если запрос был отрегулирован. | |
UserMessageIfVerificationFailedNoRetry | Сообщение, отображаемое пользователю, если он предоставил недопустимый код, и пользователь не может предоставить правильный код. | |
UserMessageIfVerificationFailedRetryAllowed | Сообщение, отображаемое пользователю, если он предоставил недопустимый код, и пользователь может предоставить правильный код. |
Пример: проверка кода
В следующем примере показан технический профиль SSPR идентификатора Microsoft Entra ID, используемый для проверки кода.
<TechnicalProfile Id="AadSspr-VerifyCode">
<DisplayName>Verify Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">VerifyCode</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="verificationCode" PartnerClaimType="verificationCode" />
<InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
</InputClaims>
</TechnicalProfile>