验证Azure AD B2C自定义策略中的限制

时间:2020-11-12 19:16:40

标签: azure-ad-b2c

我在自定义策略中具有以下ClaimType,以测试注册期间收集用户时区的情况:

  <ClaimType Id="extension_timezone">
    <DisplayName>Timezone</DisplayName>
    <DataType>string</DataType>
    <UserHelpText>Enter your timezone</UserHelpText>
    <UserInputType>DropdownSingleSelect</UserInputType>
    <Restriction>
      <Enumeration Text="(UTC-08:00) Pacific Time (US &amp; Canada)" Value="(UTC-08:00) Pacific Time (US &amp; Canada)" SelectByDefault="false" />
      <Enumeration Text="(UTC-06:00) Central Time (US &amp; Canada)" Value="(UTC-06:00) Central Time (US &amp; Canada)" SelectByDefault="false" />
      <Enumeration Text="(UTC+00:00) Dublin, Edinburgh, Lisbon, London" Value="(UTC+00:00) Dublin, Edinburgh, Lisbon, London" SelectByDefault="true" />
      <Enumeration Text="(UTC+12:00) Auckland, Wellington" Value="(UTC+12:00) Auckland, Wellington" SelectByDefault="false" />
    </Restriction>
  </ClaimType>  

这在注册流程中正确显示,但是我注意到输入未针对限制进行验证。步骤:

  1. 从下拉菜单中选择项目
  2. 使用浏览器工具(例如Chrome DevTools)更改所选选项的值
  3. 提交表格

我希望可以通过验证来检查提交的值是否与枚举项之一匹配,但这不会发生。我可以在输出声明中包含extension_timezone,然后看到该值反映了我所做的与任何枚举选项都不匹配的更改。

1 个答案:

答案 0 :(得分:0)

您可以使用同时由v1和v2策略加载的jQuery添加自己的验证规则。

有关使用Javascript的指导和示例,请参阅此document