Определение технического профиля 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 также может возвращать сообщение об ошибке. Этот профиль проверяет данные, предоставленные пользователем, прежде чем продолжать путь взаимодействия пользователя. С помощью технического профиля проверки сообщение об ошибке отображается на странице с автоматическим подтверждением.
Этот технический профиль:
- Не предоставляет интерфейс для взаимодействия с пользователем. Взамен этому пользовательский интерфейс можно вызывать из технического профиля с самостоятельным подтверждением или с дисплейного модуля в качестветехнического профиля для проверки.
- Использует службу Microsoft Entra SSPR для создания и отправки кода на адрес электронной почты, а затем проверяет код.
- Проверяет адрес электронной почты с помощью кода верификации.
Протокол
Атрибуту 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>