Определение технического профиля SSPR идентификатора Microsoft Entra в пользовательской политике Azure AD B2C

Примечание.

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

Azure Active Directory B2C (Azure AD B2C) обеспечивает поддержку проверки адреса электронной почты для самостоятельного сброса пароля (SSPR). Используйте технический профиль SSPR идентификатора Microsoft Entra ID для создания и отправки кода на адрес электронной почты, а затем проверьте код. Технический профиль SSPR идентификатора Microsoft Entra ID также может возвращать сообщение об ошибке. Этот профиль проверяет данные, предоставленные пользователем, прежде чем продолжать путь взаимодействия пользователя. С помощью технического профиля проверки сообщение об ошибке отображается на странице с автоматическим подтверждением.

Этот технический профиль:

Протокол

Атрибуту Name элемента Protocol необходимо присвоить значение Proprietary. Атрибут handler должен содержать полное имя сборки обработчика протокола, которое используется 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 Обязательное поле Описание
emailAddress Да Идентификатор пользователя, владеющего адресом электронной почты. Свойство PartnerClaimType входящего утверждения необходимо установить на emailAddress.

Элемент InputClaimsTransformations может содержать коллекцию элементов InputClaimsTransformation, которые используются для изменения входных утверждений или создания новых перед отправкой в службу Microsoft Entra SSPR.

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

Поставщик протокола Microsoft Entra SSPR не возвращает выходные утверждения, поэтому не требуется указывать выходные утверждения. Однако можно включить утверждения, которые не возвращаются поставщиком протокола Microsoft Entra SSPR до тех пор, пока вы задали DefaultValue атрибут.

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

Метаданные

Атрибут Обязательное поле Описание
Операция Да Должен быть SendCode.

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

Следующие метаданные можно использовать для настройки сообщений об ошибках, отображаемых при отправке ошибки SMS. Метаданные должны быть настроены в техническом профиле с самостоятельным подтверждением. Сообщения об ошибках можно локализовать.

Атрибут Обязательное поле Описание
UserMessageIfInternalError No Сообщение об ошибке пользователя, если на сервере произошла внутренняя ошибка.
UserMessageIfThrottled No Сообщение об ошибке пользователя, если запрос был усечен.

Пример: отправка по электронной почте

В следующем примере показан технический профиль 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 Обязательное поле Описание
emailAddress Да Тот же адрес электронной почты, который использовался ранее для отправки кода. Он также используется для размещения сеанса проверки адреса электронной почты. Свойство PartnerClaimType входящего утверждения необходимо установить на emailAddress.
verificationCode Да Код верификации, предоставленный пользователем для проверки. Свойство PartnerClaimType входящего утверждения необходимо установить на verificationCode.

Элемент InputClaimsTransformations может содержать коллекцию элементов InputClaimsTransformation, которые используются для изменения входных утверждений или создания новых перед вызовом службы Microsoft Entra SSPR.

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

Поставщик протокола Microsoft Entra SSPR не возвращает выходные утверждения, поэтому не требуется указывать выходные утверждения. Однако можно включить утверждения, которые не возвращаются поставщиком протокола Microsoft Entra SSPR до тех пор, пока вы задали DefaultValue атрибут.

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

Метаданные

Атрибут Обязательное поле Описание
Операция Да Должно быть VerifyCode

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

Следующие метаданные можно использовать для настройки сообщений об ошибках, отображаемых при сбое кода проверки. Метаданные должны быть настроены в техническом профиле с самостоятельным подтверждением. Сообщения об ошибках можно локализовать.

Атрибут Обязательное поле Описание
UserMessageIfChallengeExpired Сообщение, отображаемое пользователю, если истек срок действия сеанса проверки кода верификации. Либо истек срок действия кода, либо код для данного идентификатора никогда не создавался.
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>