Техническое задание: Доработка системы аутентификации
Текущее состояние (AS IS)
Существует рабочее веб-приложение на стеке PHP, JavaScript и MySQL. В нём реализованы следующие функции:
- Регистрация нового пользователя с указанием логина и пароля
- Подтверждение учётной записи по электронной почте
- Вход в систему по логину и паролю
- Возможность входа как гостя (без регистрации)
- Сохранение данных пользователей в базе данных MySQL
Исходный код предоставляется для ознакомления.
Требуемые доработки (TO BE)
1. Изменение модели аутентификации
- Убрать обязательное поле «Логин» при регистрации.
- Сделать основным идентификатором пользователя адрес электронной почты (email).
- Обеспечить вход в систему только по email и паролю.
2. Восстановление пароля
- Реализовать стандартный механизм «Забыли пароль?».
- На странице входа добавить соответствующую ссылку.
- При её нажатии пользователь вводит свой email.
- На указанный email отправляется письмо с уникальной одноразовой ссылкой для сброса пароля.
- По переходу по ссылке пользователь попадает на защищённую страницу, где может задать новый пароль.
- После успешной смены пароля ссылка становится недействительной.
3. Общие требования
- Все изменения должны быть совместимы с существующей структурой базы данных (возможна адаптация).
- Функция гостевого входа должна остаться работоспособной.
- Процесс подтверждения email при регистрации должен быть сохранён.
- Код должен быть чистым, хорошо прокомментированным и соответствовать принципам безопасности.