Требования:
Можно зарегистрировать пользователя при помощи логина/пароля. Пользователь должен подтвердить свой email.
Можно зарегистрировать пользователя при помощи аккаунтов из 2-3 сторонних сервисов
При регистрации через сторонние сервисы пользователь должен задать свой пароль.
Не использовать неподтвержденные по email аккаунты для регистрации пользователя.
Если аккаунт подтвержден, то аккаунт пользователя в SAAS автоматически считается подтвержденным
Можно аутентифицировать пользователя через логин/пароль.
Можно аутентифицировать пользователя через сторонний сервис:
Не использовать неподтвержденные по email аккаунты для аутентификации пользователя.
Если существует пользователь, и к нему уже привязан сторонний сервис,
Аутентифицировать пользователя.
Если существует пользователь, и к нему не привязан сторонний сервис,
Должен производиться поиск по базе пользователей
Если пользователь с таким email найден - привязать аккаунт к пользователю и аутентифицировать
Если не найдет - создать пользователя с email от аккаунта, подтвердить автоматически email, и перевести на страницу ввода пароля.
Пользователь должен иметь как минимум 3 аттрибута персональных данных (фамилия/имя, и тд)
Пользователь должен иметь страницу редактирования своих данных.
Страница редактирования пользователя должна иметь следующий функционал:
Изменять персональные данные.
Изменение возможно только при введении пароля пользователя.
Подключать и отключать от пользователя сторонние аккаунты социальных сетей