Рекомендации по разработке модуля регистрации и аутентификации с использованием интернационализированных адресов электронной почты
Настоящий документ предназначен для разработчиков веб сайтов и веб приложений, в которых предполагается реализовать функцию по использованию в качестве логина в профиле пользователя интернационализированного адреса электронной почты.
Интернационализированный адрес электронной почты (далее – 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 адресом необходимо проводить его нормализацию в соответствии с одной из форм нормализации юникод.
Другие общепринятые методики, которые применяются при разработке модуля регистрации и аутентификации веб-сайта или веб-приложения, не рассматриваются в рамках настоящего документа и могут использоваться по усмотрению разработчика.
Дополнительные материалы:
- Рекомендации по внедрению в программном обеспечении поддержки доменных имен и адресов электронной почты c использованием символов кириллицы, https://универсальноепринятие.рф
- RFC и ключевые стандарты, https://поддерживаю.рф/участникам/документация/rfc-и-ключевые-стандарты.php
- Формы нормализации Unicode, http://www.unicode.org/reports/tr15/