首页 > 解决方案 > Azure AD B2C 自定义流验证密码但不接受

问题描述

使用 Azure B2C 自定义策略入门包。使用新密码正则表达式更新了 TrustedFrameworkBase.xml。注册时的密码字段根据配置的正则表达式验证该值,但在提交时,由于“复杂性要求”,密码被拒绝。除了自定义策略 XML 之外,是否在其他地方设置了复杂性要求?

在此处输入图像描述

标签: azureazure-ad-b2cazure-ad-b2c-custom-policyidentity-experience-framework

解决方案


当谈到 azure 广告密码复杂性时,我们提供了三种复杂性选项

简单:密码即至少 8 到 64 个字符。

:8 到 64 个字符,需要 4 个小写字母、大写字母、数字或符号中的 3 个。

自定义:它允许您配置自定义长度,它还允许只接受数字密码

因为您正在使用自定义策略启动包,并且您知道 TrustFrameworkBase.xml 是一个可以找到谓词的文件。使用 Predicates 和 PredicateValidationsInput,您可以控制用户在创建帐户时提供的密码的复杂性要求。

因此,您需要做的第一步是通过在密码策略声明中添加“DisableStrongPassword ”来禁用 B2C 的密码限制。

<PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration, DisableStrongPassword"/>

然后根据您的要求将正则表达式(正则表达式)附加到密码字段。(如密码长度..)

参考配置密码复杂性要求 - Azure AD B2C | 微软文档


推荐阅读