Azure B2C - войдите с неанглийскими адресами электронной почты - PullRequest
0 голосов
/ 29 августа 2018

Мы используем настраиваемую политику регистрации и входа в Azure B2C, и у нас возникают проблемы при попытке войти с адресами электронной почты на иностранных языках.

Мы следовали учебным курсам Microsoft и использовали пользовательские стартовые XML-файлы здесь .

Сначала мы обнаружили, что не можем зарегистрироваться даже с адресом электронной почты на иностранном языке (например, 伊伊伊伊伊 伊伊 @ 伊伊伊. 伊伊伊), но заметили, что в Начальный файл TrustFrameworkBase.xml, которым мы можем манипулировать:

  <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 есть атрибут шаблона регулярного выражения, который выглядит следующим образом:

      <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">

, который запрещает вход в систему.

Если я пойду и уберу это регулярное выражение, я смогу войти, поэтому я знаю, что это МОЖЕТ работать. Мне просто нужно удалить этот атрибут шаблона.

Я должен что-то упустить. Может кто-нибудь сказать мне, что мне нужно настроить, чтобы иметь возможность войти с таким адресом электронной почты?

1 Ответ

0 голосов
/ 06 сентября 2018

Шаблон регулярного выражения электронной почты для входа в систему не извлекается из атрибута «pattern» в ClaimType из политики. Вот почему вы наблюдаете это поведение.

Что вы можете сделать, это добавить языковые настройки в метаданные технического профиля, как показано ниже.

   <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
      <Metadata>

        ...
        <Item Key="language.email_pattern">{desired_pattern}</Item>
      </Metadata>
      ….
    </TechnicalProfile>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...