【发布时间】:2020-11-12 19:16:40
【问题描述】:
我在自定义策略中有以下 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 & Canada)" Value="(UTC-08:00) Pacific Time (US & Canada)" SelectByDefault="false" />
<Enumeration Text="(UTC-06:00) Central Time (US & Canada)" Value="(UTC-06:00) Central Time (US & 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>
这在注册流程中正确显示,但我注意到输入未针对限制进行验证。步骤:
- 从下拉列表中选择项目
- 使用浏览器工具(例如 Chrome DevTools)更改所选选项的值
- 提交表格
我希望有验证来检查提交的值是否与枚举条目之一匹配,但这不会发生。我可以在输出声明中包含 extension_timezone 并查看该值反映了我所做的与任何枚举选项都不匹配的更改。
【问题讨论】:
-
关于浏览器工具更改值和缺少验证将进一步调查
-
@GovindSharma-MSFTIdentity 答案不能解决我的问题。我需要在不使用自定义 jQuery 的情况下进行验证。我希望这种验证发生在服务器端,但客户端总比没有好。
-
@AlasdairStark 你有没有找到解决方案?我们刚刚发现了同样的问题
-
不。这并不理想:(
标签: azure-ad-b2c