验证显示控件

重要

自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息

使用验证 显示控件 验证声明(例如电子邮件地址或电话号码)并向用户发送验证码。

VerificationControl作

验证显示控件由两个步骤(作):

  1. 从用户请求目标,例如电子邮件地址或电话号码,应向其发送验证码。 当用户选择 “发送代码 ”按钮时,将执行验证显示控件的 SendCode作SendCode作将生成一个代码,构造要发送的内容,并将其发送给用户。 地址的值可以预先填充,并充当第二重身份验证。

    发送代码作的示例页

  2. 发送代码后,用户读取消息,将验证码输入到显示控件提供的控件中,然后选择 “验证码”。 通过选择 “验证代码”,将执行 VerifyCode作 以验证与地址关联的代码。 如果用户选择 “发送新代码”,则再次执行第一个作。

    验证代码作的示例页

VerificationControl 所需的元素

VerificationControl 必须包含以下元素:

  • DisplayControl类型为 VerificationControl.
  • DisplayClaims
    • 发送到 - 一个或多个声明,指定将验证码发送到的位置。 例如, 电子邮件国家/地区代码电话号码
    • 验证码 - 发送代码后用户提供的验证码声明。 必须根据需要设置此声明,并且 ControlClaimType 必须设置为 VerificationCode
  • 输出声明(可选)将在用户完成验证过程后返回到自断言页面。 例如, 电子邮件国家/地区代码电话号码。 自断言技术配置文件使用声明来保存数据或将输出声明气泡到下一个业务流程步骤。
  • 具有以下名称的两 Action个 s:
    • SendCode - 向用户发送代码。 此作通常包含两个验证技术配置文件,用于生成代码并将其发送。
    • VerifyCode - 验证代码。 此作通常包含单个验证技术配置文件。

在下面的示例中,页面上会显示 一个电子邮件 文本框。 当用户输入其电子邮件地址并选择 SendCode 时, SendCode 作在 Azure AD B2C 后端中触发。

然后,用户输入 验证码 并选择 VerifyCode 以在后端触发 VerifyCode 作。 如果所有验证都通过, 则 VerificationControl 被视为已完成,用户可以继续执行下一步。

<DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl">
  <DisplayClaims>
    <DisplayClaim ClaimTypeReferenceId="email"  Required="true" />
    <DisplayClaim ClaimTypeReferenceId="verificationCode" ControlClaimType="VerificationCode" Required="true" />
  </DisplayClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" />
  </OutputClaims>
  <Actions>
    <Action Id="SendCode">
      <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="GenerateOtp" />
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="SendGrid" />
      </ValidationClaimsExchange>
    </Action>
    <Action Id="VerifyCode">
      <ValidationClaimsExchange>
        <ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="VerifyOtp" />
      </ValidationClaimsExchange>
    </Action>
  </Actions>
</DisplayControl>