【问题标题】:Azure B2C How to prevent more than one password change per dayAzure B2C 如何防止每天多次更改密码
【发布时间】:2020-02-11 00:42:54
【问题描述】:

我正在使用 B2C 自定义策略,我希望防止用户每天多次更改密码。是否可以获取最后一次密码更改的日期并在自定义策略中进行此项检查?

【问题讨论】:

    标签: azure-ad-b2c identity-experience-framework


    【解决方案1】:

    看看这个策略,它使用在用户对象上存储日期时间的概念来做一些条件控制:
    https://github.com/azure-ad-b2c/samples/blob/master/policies/force-password-reset-after-90-days


    https://github.com/azure-ad-b2c/samples/tree/master/policies/mfa-absolute-timeout-and-ip-change-trigger

    您可以在成功更改密码后将日期存储在用户对象扩展属性中。然后,当用户尝试重置密码时,检查此时间戳并使用 claimTransform 与 24 小时进行比较。在声明中存储布尔结果。这可以使用claims transformation 类型的编排步骤来完成,该步骤调用dateComparison transform

    您可以在显示密码重置屏幕的自我断言技术配置文件之前进行此计算并设置声明值。然后在用户验证他们的电子邮件后,您可以使用输出声明转换来确保此boolean is false,否则使用您收集电子邮件的自断言技术配置文件中的元数据项引发错误:

      <Metadata>
        <Item Key="UserMessageIfClaimsTransformationBooleanValueIsNotEqual">Custom error message if account is disabled.</Item>
      </Metadata>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 2022-11-23
      • 2021-01-07
      • 2018-12-19
      • 1970-01-01
      • 2018-07-22
      • 2023-01-05
      相关资源
      最近更新 更多