首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure B2C -使用非英语电子邮件地址登录

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

Stack Overflow用户
提问于 2018-08-29 17:54:41
回答 1查看 530关注 0票数 4

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

我们遵循了微软的教程,并使用了自定义的starter XML文件here

我们最初发现,我们甚至不能使用外语电子邮件地址注册(例如伊伊伊伊伊伊伊@伊伊伊。但是我们注意到TrustFrameworkBase.xml启动文件中有一些我们可以操作的正则表达式:

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

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

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

我已经尝试了这种开箱即用的注册/注册策略,我得到了同样的结果。HTML文本框中有一个regex模式属性,如下所示:

代码语言:javascript
复制
      <input type="email" id="logonIdentifier" name="Username or email address" pattern="^[a-zA-Z0-9.!#$%&amp;’'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" placeholder="Email Address" value="" tabindex="1">

这会阻止登录。

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

我一定漏掉了什么。有人能告诉我我需要配置什么才能使用这样的电子邮件地址登录吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-06 23:02:28

signIn的电子邮件正则表达式模式不是从策略的ClaimType中的" pattern“属性中提取的。这就是你观察这个行为的原因。

您可以通过在技术配置文件元数据中添加语言设置,如下所示。

代码语言:javascript
复制
   <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
      <Metadata>

        ...
        <Item Key="language.email_pattern">{desired_pattern}</Item>
      </Metadata>
      ….
    </TechnicalProfile>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52074563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档