Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 3.39 KB

authentification-jwt.md

File metadata and controls

23 lines (19 loc) · 3.39 KB

Authentication and JWT

При выставлении оценок используйте рекомендации RSSchool.

Максимальная оценка - 100 баллов. Минимальная оценка - 0 баллов.

  1. Пароли пользователей сохраняются в базу в виде хэша с использованием bcrypt. +20 баллов.
  2. Добавлен роут /login, связанная с ним логика разделена между контроллером (middleware) и соответствующим сервисом. В случае отсутствия юзера в БД, возвращается 403 (Forbidden) HTTP статус. +20 баллов.
  3. JWT токен содержит userId и login, секретный ключ хранится в .env +20 баллов.
  4. Доступ ко всем роутам, за исключением /login, /doc и /, требует аутентификации +20 баллов.
  5. Проверка на наличие токена в реквесте реализована в отдельной middleware на уровне приложения. В случае если токен не валидный, или отсутствует, возвращается 401 (Unauthorized) HTTP статус. +20 баллов.

Штрафы:

  • Наличие изменений в тестах либо в workflow минус 100 баллов
  • Внесение изменений в репозиторий после дедлайна не считая коммиты, вносящие изменения только в Readme.md минус 30% от максимального балла за задание (для этого задания 30 баллов)
  • За каждую ошибку линтера при запуске npm run lint на основе локального конфига -20 баллов (именно errors, не warnings)
  • За каждую ошибку компилятора -20 баллов
  • Для успешного прохождения тестов обязательно наличие в БД юзера с логином - admin, паролем - admin. Все тесты npm run test:auth должны проходить успешно, каждый не пройденный тест минус 20 баллов.
  • Имеются явно указанные типы any, unknown -20 баллов за каждое использование
  • За отсутствие отдельной ветки для разработки -20 баллов
  • За отсутствие Pull Request -20 баллов
  • За неполную информацию в описании Pull Request (отсутствует либо некорректен один из 3 обязательных пунктов) -10 баллов
  • Меньше 3 коммитов в ветке разработки, не считая коммиты, вносящие изменения только в Readme.md-20 баллов