azure-ad-b2c - 是否可以使用 Azure B2C 自定义策略中的声明转换来计算年龄组?
问题描述
我已成功创建了一个自定义策略,要求提供用户的出生日期。
接下来我想做的是根据用户的年龄定制注册体验。
我希望我可以使用声明转换和先决条件来做到这一点,但是通过查看我找到的文档,我看不到如何做到这一点。可能吗?
我有用户的出生日期,我想我可以得到当前的日期时间(TransformationMethod="GetCurrentDateTime"
这里提到:https ://docs.microsoft.com/en-us/azure/active-directory-b2c/manage-user-access#capture -terms-of-use-agreement),但我看不到如何计算差异(对于年龄),或者在先决条件中使用年龄。
我能想到的唯一解决方法是通过 REST API 声明交换来计算年龄(或年龄组),但我不希望给系统增加更多复杂性。
谢谢大家!
解决方案
我有用户的 DOB,我想我可以得到当前的日期时间(TransformationMethod="GetCurrentDateTime" 在这里提到: https ://docs.microsoft.com/en-us/azure/active-directory-b2c/manage- user-access#capture-terms-of-use-agreement),但我看不到如何计算差异(年龄),或在先决条件中使用年龄。
用于根据用户出生日期计算 ageGroup 的逻辑:
- 尝试通过列表中的国家代码查找国家。如果未找到该国家/地区,请回退到Default。
如果国家元素中存在 MinorConsent 节点:
一个。计算用户必须出生的日期才能被视为成年人。例如,如果当前日期为 2015 年 3 月 14 日,而 MinorConsent 为 18 岁,则出生日期不得晚于 2000 年 3 月 14 日。
湾。将最小出生日期与实际出生日期进行比较。如果最小出生日期早于用户的出生日期,则计算返回 Minor 作为年龄组计算。
- 如果 Country 元素中存在 MinorNoConsentRequired 节点,请使用 MinorNoConsentRequired 中的值重复步骤 2a 和 2b。如果最小出生日期早于用户的出生日期,则 2b 的输出将返回 MinorNoConsentRequired。
- 如果两个计算都没有返回 true,则计算返回 Adult。
接下来我想做的是根据用户的年龄定制注册体验。
您可以尝试使用年龄门控来做到这一点。
推荐阅读
- spring-boot - Spring Boot 2.1 Micrometer Kafka 消费者指标统计 COUNT 为“NaN”
- json - 根据模式划分文件
- redis - 为什么加载redis备份时LASTSAVE的值会发生变化?
- c++ - 如果语句没有被评估 C++
- build - 将 DACPAC 部署到多个数据库
- python - 为什么简单反向传播击败 Nesterov 和 RMSProp
- r - ggplot2:不知道如何为标记类型的对象自动选择比例
- javascript - 将 Array.map 中的当前/选定元素渲染到模态
- python - Python将地图绘制到球体上
- javascript - 仅在锚标记上的 href onlick 上禁用页面重新加载