Сделать аутентификацию, регистрацию на сайт через Facebook с 0
Главное показать умение проектировать гибкую, расширяемую систему.
NextJs, React, GraphQL, Apollo, Express, Node and MongoDB.
Frontend
приложение будет иметь 2 страницы / и /profile.
Страница /profile не доступна напрямую, только если пользователь вошел в систему.
На главной странице разместить логин с помощью кнопки facebook.
После успешного входа через Facebook пользователя перенаправляет на страницу профиля, в случае ошибки пользователь должен оставаться на главной странице и должна отображаться ошибка.
Статус аутентификации пользователя должен сохраняться, когда пользователь возвращается после закрытия или перезапуска вкладки или браузера.
Также необходимо добавить logout для авторизованных пользователей.
Backend
необходимо реализовать методы: 'login', 'logout', 'get-user-profile'.
Вы можете использовать JWT или express-session для аутентификации. Вы также можете использовать passport-facebook, если требуется.
При входе в систему создайте/обновите пользователя в mongodb.
При вызове метода 'get-user-profile' сначала проверьте, прошел ли пользователь аутентификацию. Если да то отправьте ответ, иначе отправьте ошибку.
Вы должны аутентифицировать пользователя как на веб-интерфейсе, так и на бэкэнде. Вы можете использовать куки для этого.
Срок до 02.12.2019 12:00 по мск.