Рекомендации по разработке модуля регистрации и аутентификации с использованием интернационализированных адресов электронной почты

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

Интернационализированный адрес электронной почты (далее – EAI адрес) имеет вид «локальнаячасть@доменнаячасть», при этом в каждой из указанных частей адреса электронной почты допустимо использование символов в кодировке юникод и ASCII. При работе с EAI адресами следует учитывать рекомендации, изложенные в RFC 6530, RFC 6531, RFC 6532 и RFC6533, а также другие рекомендации и стандарты, относящиеся к интернационализации доменных имен и электронной почты.

При разработке функции использования EAI адреса в качестве логина следует учитывать следующие требования к элементам модуля регистрации и аутентификации:

1. Регистрация

1. Заполнение формы регистрации

  • в форме регистрации должна быть предусмотрена возможность ввода EAI адреса и его проверки для исключения ошибочного ввода пользователем;
  • в форме регистрации рекомендуется использовать подстановки или подсказки для пользователей, например, в виде кириллического email-адреса;

2. Подтверждение email

  • в модуле регистрации и аутентификации должна быть реализована возможность отправки и получения сообщений на и от EAI адресов;

3. Хранение и проверка на совпадение

  • при сохранении переданного пользователем при регистрации email-адреса должна быть реализована возможность корректного сохранения такого адреса в информационной системе веб сайта или веб приложения. Необходимо определять типы данных таким образом, чтобы операции с данными (сортировка, сравнение и другие) производились без дополнительных преобразований, например, при проверке на совпадение передаваемого email-адреса с уже хранящимся в системе;
  • рекомендуется хранить EAI адреса в формате юникод.

2. Аутентификация

  • Должна быть предусмотрена проверка введенного пользователем EAI адреса на совпадение с адресами, хранящимися в информационной системе веб-сайта или веб-приложения.

3. Восстановление доступа

  • Поле для ввода email-адреса при восстановлении доступа должно предусматривать совместимость с EAI адресами.

При осуществлении любых операций с EAI адресом необходимо проводить его нормализацию в соответствии с одной из форм нормализации юникод.

Другие общепринятые методики, которые применяются при разработке модуля регистрации и аутентификации веб-сайта или веб-приложения, не рассматриваются в рамках настоящего документа и могут использоваться по усмотрению разработчика.

Дополнительные материалы:

  1. Рекомендации по внедрению в программном обеспечении поддержки доменных имен и адресов электронной почты c использованием символов кириллицы, https://универсальноепринятие.рф
  2. RFC и ключевые стандарты, https://поддерживаю.рф/участникам/документация/rfc-и-ключевые-стандарты.php
  3. Формы нормализации Unicode, http://www.unicode.org/reports/tr15/