【问题标题】:Azure AD B2C custom flow validates password but does not acceptAzure AD B2C 自定义流验证密码但不接受
【发布时间】:2021-10-13 01:16:12
【问题描述】:
使用 Azure B2C 自定义策略启动包。使用新密码正则表达式更新了 TrustedFrameworkBase.xml。注册时的密码字段根据配置的正则表达式验证该值,但在提交时,由于“复杂性要求”,密码被拒绝。除了自定义策略 XML 之外,是否在其他地方设置了复杂性要求?
【问题讨论】:
标签:
azure
azure-ad-b2c
azure-ad-b2c-custom-policy
identity-experience-framework
【解决方案1】:
谈到 azure 广告密码的复杂性,我们提供了三种复杂性选项
简单:密码至少为 8 到 64 个字符。
强:8 到 64 个字符,需要 4 个小写字母、大写字母、数字或符号中的 3 个。
自定义:允许您配置自定义长度,也允许接受数字密码
您正在使用自定义策略启动包,并且您知道 TrustFrameworkBase.xml 是一个可以找到谓词的文件。使用 Predicates 和 PredicateValidationsInput,您可以控制用户在创建帐户时提供的密码的复杂性要求。
因此,您需要做的第一步是通过在密码策略声明中添加 ‘DisableStrongPassword’ 来禁用 B2C 的密码限制。
<PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration, DisableStrongPassword"/>
然后根据您的要求将正则表达式(正则表达式)附加到密码字段。(如密码长度..)
参考Configure password complexity requirements - Azure AD B2C | Microsoft Docss