Azure B2C SignUp上的密码验证

时间:2018-05-08 21:58:54

标签: azure-ad-b2c

我们正在使用自定义SignUp / SignIn政策,并且未更改任何Microsoft提供的属性及其规则。

对于密码,验证无法按照政策中的规定进行操作

<ClaimType Id="newPassword">
    <DisplayName>New Password</DisplayName>
    <DataType>string</DataType>
    <UserHelpText>Enter new password</UserHelpText>
    <UserInputType>Password</UserInputType>
    <Restriction>
      <Pattern RegularExpression="^((?=.*[a-z])(?=.*[A-Z])(?=.*\d)|(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*\d)(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]))([A-Za-z\d@#$%^&amp;*\-_+=[\]{}|\\:',?/`~&quot;();!]|\.(?!@)){8,16}$" HelpText="8-16 characters, containing 3 out of 4 of the following: Lowercase characters, uppercase characters, digits (0-9), and one or more of the following symbols: @ # $ % ^ &amp; * - _ + = [ ] { } | \ : ' , ? / ` ~ &quot; ( ) ; ." />
    </Restriction>
  </ClaimType>

如果我开始在文本框中输入密码,它将显示如上所述的帮助文本,但是当我输入密码为&#34; testT1234&#34;并继续,它没有强制执行验证。

如果我必须添加/更新自定义政策以强制执行所说的内容,请告诉我。

谢谢,

1 个答案:

答案 0 :(得分:1)

根据Regex和helptext,您的密码“tesT1234”匹配正常。

我猜你的理解不同,并认为它应该允许特殊字符也完成密码匹配。

但按照正则表达式和helptext:如果您的密码满足4个条件中的3个,则B2C允许使用。并且您的密码已满足3个条件。

  

8-16个字符,包含 3个中的3个:小写字符,大写字符,数字(0-9)以及以下一个或多个符号:

您可以愉快地调整正则表达式并添加自己的匹配条件。