Поделиться через


Элементы управления Display

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

Замечание

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

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

Предпосылки

В разделе метаданныхсамоподтверждающего технического профиля необходимо установить значение ContentDefinitionDataUri страницы версии 2.1.9 или более поздней. Рассмотрим пример.

<ContentDefinition Id="api.selfasserted">
  <LoadUri>~/tenant/default/selfAsserted.cshtml</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.9</DataUri>
  ...

Определение элементов управления отображением

Элемент DisplayControl содержит следующие атрибуты:

Свойство Обязательно Описание
Id Да Идентификатор, используемый для элемента управления отображением. На него можно ссылаться.
UserInterfaceControlType Да Тип элемента управления отображения. В настоящее время поддерживается AuthenticationControl, элементы управления TOTP и элементы управления CAPTCHA.

Контроль проверки

Элемент управления отображением проверки проверяет утверждения, например адрес электронной почты или номер телефона, с кодом проверки, отправленным пользователю. На следующем рисунке показана страница самостоятельной регистрации с двумя элементами управления отображения, которые проверяют первичный и вторичный адрес электронной почты.

Снимок экрана: элемент управления отображением проверки электронной почты

Элементы управления TOTP

Элементы управления отображения TOTP — это набор элементов управления отображения, которые обеспечивают многофакторную проверку подлинности TOTP с приложением Microsoft Authenticator. На следующем рисунке показана страница регистрации TOTP с тремя элементами управления отображения.

Снимок экрана: элементы управления отображением TOTP

QrCodeControl

Элемент DisplayControl содержит следующие элементы:

Элемент Вхождения Описание
InputClaims 00:14 InputClaims используется для предварительного заполнения значения утверждений, собираемых пользователем. Дополнительные сведения см. в разделе "Элемент InputClaims ".
DisplayClaims 00:14 DisplayClaims используется для представления утверждений, собираемых пользователем. Дополнительные сведения см. в разделе "Элемент DisplayClaim ".
OutputClaims 00:14 OutputClaims используются для представления утверждений, которые будут временно сохранены для этого DisplayControl. Дополнительные сведения см. в разделе OutputClaims .
Actions 00:14 Действия используются для перечисления технических профилей проверки для вызова действий пользователей, происходящих на интерфейсе.

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

В элементе управления отображением можно использовать элементы InputClaims для предварительного заполнения значения утверждений, собираемых пользователем на странице. Любой объект InputClaimsTransformations можно определить в самоутверждаемом техническом профиле, который ссылается на этот элемент управления отображения.

В следующем примере выполняется предварительное заполнение адреса электронной почты для проверки с уже имеющимся адресом.

<DisplayControl Id="emailControl" UserInterfaceControlType="VerificationControl">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="emailAddress" />
  </InputClaims>
  ...

Отображаемые утверждения

Для каждого типа элемента управления отображением требуется другой набор утверждений отображения, выходных утверждений и действий .

Как и утверждения отображения , определенные в самоутверждаемом техническом профиле, отображаемые утверждения представляют утверждения, собираемые пользователем в элементе управления отображения. Элемент ClaimType , на который ссылается, необходимо указать элемент UserInputType для типа ввода пользователя, поддерживаемого Azure AD B2C, например TextBox или DropdownSingleSelect. Если для действия требуется отображаемое значение утверждения, задайте обязательный атрибут true для принудительного предоставления пользователем значения для конкретного утверждения отображения.

Для определенных типов элемента управления отображением требуются определенные утверждения отображения. Например, Для элемента управления отображением типа AuthenticationControl требуется код проверки подлинности. Используйте атрибут ControlClaimType , чтобы указать, какое значение DisplayClaim назначено для этого обязательного утверждения. Рассмотрим пример.

<DisplayClaim ClaimTypeReferenceId="otpCode" ControlClaimType="VerificationCode" Required="true" />

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

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

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

Отображение действий элемента управления

Действия элемента управления отображением — это процедуры, происходящие в серверной части Azure AD B2C, когда пользователь выполняет определенное действие на стороне клиента (браузер). Например, проверки, выполняемые при нажатии кнопки на странице.

Действие определяет список технических профилей проверки. Они используются для проверки некоторых или всех утверждений отображения элемента управления дисплеем. Технический профиль проверки проверяет входные данные пользователя и может возвращать пользователю ошибку. Вы можете использовать ContinueOnError, ContinueOnSuccess и предварительные условия в действии элемента управления отображением, аналогично тому, как они используются в технических профилях проверки в самоутвержденном техническом профиле.

Действия

Элемент Actions содержит следующий элемент:

Элемент Вхождения Описание
Action 1:n Список выполняемых действий.

Действие

Элемент Action содержит следующий атрибут:

Свойство Обязательно Описание
Id Да Тип операции. Возможные значения: SendCode или VerifyCode. Значение SendCode отправляет пользователю код. Это действие может содержать два технических профиля проверки: один для создания кода и одного для отправки. Значение VerifyCode проверяет код, введенный пользователем в текстовое поле ввода.

Элемент Action содержит следующий элемент:

Элемент Вхождения Описание
ValidationClaimsExchange 1:1 Идентификаторы технических профилей, которые используются для проверки некоторых или всех утверждений отображения технического профиля ссылки. Все входные утверждения указанного технического профиля должны отображаться в утверждениях отображения технического профиля ссылки.

ValidationClaimsExchange (Обмен заявками)

Элемент ValidationClaimsExchange содержит следующий элемент:

Элемент Вхождения Описание
ValidationClaimsExchangeTechnicalProfile 1:n Технический профиль, используемый для проверки некоторых или всех утверждений отображения технического профиля ссылки.

Элемент ValidationClaimsExchangeTechnicalProfile содержит следующий атрибут:

Свойство Обязательно Описание
TechnicalProfileReferenceId Да Идентификатор технического профиля, уже определенный в политике или родительской политике.

Элемент ValidationClaimsExchangeTechnicalProfile содержит следующий элемент:

Элемент Вхождения Описание
Preconditions 00:14 Список предварительных условий, которые должны быть выполнены для выполнения технического профиля проверки.

Элемент Precondition содержит следующие атрибуты.

Свойство Обязательно Описание
Type Да Тип проверки или запроса для выполнения предварительных условий. Возможные значения: ClaimsExist или ClaimEquals. ClaimsExist указывает, что действия должны выполняться, если указанные утверждения существуют в текущем наборе утверждений пользователя. ClaimEquals указывает, что действия должны выполняться, если указанное утверждение существует, и его значение равно указанному значению.
ExecuteActionsIf Да Указывает, должны ли выполняться действия в предусловии, если тест имеет значение true или false.

Элемент Предварительные условия содержит следующие элементы:

Элемент Вхождения Описание
Value 1:n Данные, используемые проверкой. Если этот флажок задан ClaimsExist, то в этом поле указывается значение ClaimTypeReferenceId для запроса. Если установлен ClaimEqualsтип проверки, это поле указывает идентификатор ClaimTypeReferenceId для запроса. Укажите значение, которое необходимо проверить в другом элементе значения.
Action 1:1 Действие, которое следует предпринять, если проверка предварительных условий в шаге оркестрации имеет значение true. Значение действия имеет значение SkipThisValidationTechnicalProfile, указывающее, что связанный технический профиль проверки не должен выполняться.

В следующем примере отправляется и проверяется адрес электронной почты с помощью технического профиля SSPR идентификатора Microsoft Entra ID.

<DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl">
  <InputClaims></InputClaims>
  <DisplayClaims>
    <DisplayClaim ClaimTypeReferenceId="email" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="verificationCode" ControlClaimType="VerificationCode" Required="true" />
  </DisplayClaims>
  <OutputClaims></OutputClaims>
  <Actions>
    <Action Id="SendCode">
      <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendCode" />
      </ValidationClaimsExchange>
    </Action>
    <Action Id="VerifyCode">
      <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-VerifyCode" />
      </ValidationClaimsExchange>
    </Action>
  </Actions>
</DisplayControl>

В следующем примере код отправляется по электронной почте или SMS на основе выбора пользователем утверждения mfaType с предварительными условиями.

<Action Id="SendCode">
  <ValidationClaimsExchange>
    <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AzureMfa-SendSms">
      <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>mfaType</Value>
          <Value>email</Value>
          <Action>SkipThisValidationTechnicalProfile</Action>
        </Precondition>
      </Preconditions>
    </ValidationClaimsExchangeTechnicalProfile>
    <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendEmail">
      <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>mfaType</Value>
          <Value>phone</Value>
          <Action>SkipThisValidationTechnicalProfile</Action>
        </Precondition>
      </Preconditions>
    </ValidationClaimsExchangeTechnicalProfile>
  </ValidationClaimsExchange>
</Action>

Ссылки на элементы управления отображением

Элементы управления отображением ссылаются в утверждениях отображениясамозаверяющего технического профиля.

Рассмотрим пример.

<TechnicalProfile Id="SelfAsserted-ProfileUpdate">
  ...
  <DisplayClaims>
    <DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
    <DisplayClaim DisplayControlReferenceId="PhoneVerificationControl" />
    <DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
    <DisplayClaim ClaimTypeReferenceId="surName" Required="true" />

Дальнейшие шаги

Примеры использования элемента управления отображением см. в следующей статье: