🧑‍🚀 Подтверждение и смена email пользователя

Зачем

Для управления пользователями нужно подтверждение email, чтобы предотвратить регистрацию с чужими адресами и побочные эффекты:

  • непреднамеренный спам другим людям;
  • потеря доступа к аккаунту из-за указания неверного email;
  • блокировка других пользователей от регистрации с их email.

Предлагаемое решение

Активация

  • При регистрации пользователя:
    • генерировать URL подтверждения;
      • сохранять его в таблице пользователей;
    • отправлять URL подтверждения email при регистрации;
    • отмечать пользователя как активированного после перехода по ссылке.
  • В профиле пользователя показывать, подтверждён ли email.
  • Если email не подтверждён, пользователь не должен получать оповещения на этот адрес, см. Оповещения.

Смена email

  • чтобы сменить email в профиле, пользователь должен:
    • ввести новый email;
    • убедиться, что он не используется другими аккаунтами;
    • получить новый URL подтверждения email.