Регистрация пользователей: 5 обязательных вещей
Есть множество причин по которым может потребоваться собственная регистрация в своём сервисе. Это может быть как скорость разработки (нет необходимости изучать многочисленные API для интеграции), так и дополнительные требования к приватности данных. В регистрации пользователя нет ничего сложного: достаточно спросить его имя и пароль, добавить соль к паролю и сохранить это в базу. Однако, по мере эксплуатации, возникают различные ситуации, которые были не предусмотрены при дизайне системы. Ниже я собрал 5 вещей, полученные кровью и потом, багами в проде и мучительными часами ожиданий обычных пользователей.
1. Логин - это email
В 2019 уже достаточно сложно встретить сервисы, которые регистрируют пользователя по никнейму. Но совсем недавно, лет 15 назад, большинство сервисов регистрировали пользователей по имени пользователя или никнейму. С тех пор многие компании переосмыслили регистрацию и требуют только email. Ведь для того, чтобы, например, восстановить пароль, никнейма недостаточно. А что произойдёт, если пользователь зарегистрировался на сайте по никнейму, добавил множество данных или оплатил доступ, а через несколько месяц забыл пароль и попытался восстановить аккаунт? Правильно, ничего не получится, так как он забыл добавить email к своему профилю. И такие ситуации случались постоянно.
К счастью, тёмные времена уже позади и можно смело сказать, что регистрация по емейлу или телефону - это стандарт де-факто.
2. Captcha (Капча)
Captcha - Ваш друг и помощник в защите от спамеров. Стопроцентная защита от негодяев, пытающихся перебрать email адреса всех Ваших пользователей. Сейчас есть множество бесплатных сервисов, которые позволяют добавить капчу быстро и просто.
3. Первый логин только после перехода по ссылке активации в письме
За достаточно длинным названием правила стоит достаточно простой алгоритм:
- пользователь заходит на страницу регистрации
- вводит свой email (см. правило 1)
- сервис регистрирует аккаунт и отправляет письмо с подтверждением
- пользователь открывает письмо и переходит по ссылке активации
- вводит новый пароль, его подтверждение и сразу же логиниться
Зачем такая достаточно сложная процедура? Во-первых, происходит проверка того, что пользователь действительно ввёл свой емейл и не опечатался. А во-вторых, проверка того, что почтовый ящик действительно существует. Сколько часов своей жизни я потратил, пытаясь вместе с пользователем восстановить доступ к его аккаунту. Дело в том, что служба поддержки никогда не сможет отличить опечатку в емейле от мошенника, пытающегося завладеть чужими данными. Здесь злую шутку сыграли браузеры, которые предлагают хранить пароли к сайтам и автоматически подставляют их при входе. Пользователь месяцами может не догадываться, что емейл, который он ввёл при регистрации не совпадает с его настоящим. И это будет продолжаться до тех пор, пока он не попытается восстановить пароль.
4. Убирайте лишние пробелы в логине
Самые экзотические личности вводят свой логин при регистрации с пробелом. Возможно, Вы сможете отправить на него email с активацией, но никогда не сможете залогинить.
“info@example.com " != “info@example.com”
С точки зрения логина, пробелы в начале и конце не несут никакой информации и не являются частью емейл адреса. Но Ваша система аутентификации не знает этого. Ещё одной хорошей идеей будет приведение адреса в нижний регистр. Несмотря на то, что название ящика чувствительно к регистру, на практике почтовые сервера не позволяют регистрировать адреса в разном регистре. Седые волосы и дни на саппорте никому не нужны. Простая операция сэкономит много нервов:
5. Проверьте отправку email в проде
Казалось бы, столько времени потрачено на реализацию, трафик начали лить и пользователи ровными рядами идут смотреть Ваш сервис. Но, несмотря на это, регистраций всё нет. Проверьте настройки почты на проде и убедитесь, что письма не попадают в папку “спам”. Будет крайне обидно, если из-за такой мелочи сорвётся грандиозный запуск и деньги на привлечение клиентов пропадут зря.
Успехов
Надеюсь эти 5 простых правил помогут Вам сделать простую и удобную регистрацию, а клиентов полюбить Ваш сервис.