小编Iai*_*ley的帖子

Azure B2C - 使用非英语电子邮件地址登录

我们正在使用 Azure B2C 的自定义注册/登录策略,并且在尝试使用外语电子邮件地址登录时遇到问题。

\n\n

我们遵循了 Microsoft 教程并在此处使用了自定义入门 XML 文件。

\n\n

我们最初发现我们甚至无法使用外语电子邮件地址(例如 \xe4\xbc\x8a\xe4\xbc\x8a\xe4\xbc\x8a\xe4\xbc\x8a\xe4\xbc \x8a\xe4\xbc\x8a\xe4\xbc\x8a@\xe4\xbc\x8a\xe4\xbc\x8a\xe4\xbc\x8a。\xe4\xbc\x8a\xe4\xbc\x8a\xe4\xbc \x8a) 但我们注意到 TrustFrameworkBase.xml 启动文件中有一些我们可以操作的正则表达式:

\n\n
  <ClaimType Id="email">\n    <DisplayName>Email Address</DisplayName>\n    <DataType>string</DataType>\n    <DefaultPartnerClaimTypes>\n      <Protocol Name="OpenIdConnect" PartnerClaimType="email" />\n    </DefaultPartnerClaimTypes>\n    <UserHelpText>Email address that can be used to contact you.</UserHelpText>\n    <UserInputType>TextBox</UserInputType>\n    <Restriction>\n      <Pattern RegularExpression="^[a-zA-Z0-9.!#$%&amp;\'^_`{}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$" HelpText="Please enter a valid email address." />\n    </Restriction>\n  </ClaimType>\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以我们改变了正则表达式,我们就可以注册了!

\n\n

但是,当我们尝试使用刚刚注册的帐户登录时,我们收到一条消息“请输入有效的电子邮件地址”。

\n\n

我已经用开箱即用的普通注册/登录策略尝试过这一点,并且得到了同样的结果。HTML 文本框上有一个正则表达式模式属性,如下所示:

\n\n
      <input type="email" id="logonIdentifier" name="Username or email address" pattern="^[a-zA-Z0-9.!#$%&amp;\xe2\x80\x99\'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$" placeholder="Email Address" value="" tabindex="1">\n
Run Code Online (Sandbox Code Playgroud)\n\n

阻止登录。

\n\n

如果我进去并删除这个模式正则表达式,我实际上可以登录,所以我知道它可以工作。我只需要删除这个模式属性。

\n\n

我肯定错过了什么。谁能告诉我需要配置什么才能使用这样的电子邮件地址登录? …

azure azure-ad-b2c

5
推荐指数
1
解决办法
875
查看次数

标签 统计

azure ×1

azure-ad-b2c ×1