Требуется реализовать сервис авторизации. Java, jwt, http, postgres
Технологии:
- Язык программирования: Java
- Фреймворк (по выбору кандидата): Необходимо обосновать свой выбор перед началом работы.
- Для работы с базой данных использовать HikariCP и java/sql, никаких ORM
Требуемые rest api запросы:
- Регистрация пользователя (/register):
- Авторизация пользователя (/login):
- Обновление токена (/refresh):
- Защищенный ресурс (/protected): (Как пример использования токена)
Нефункциональные требования:
Безопасность: Пароли должны быть надежно захешированы. Необходимо избегать уязвимостей, таких как SQL Injection
Обработка ошибок: Сервис должен корректно обрабатывать ошибки и возвращать соответствующие HTTP статусы
Логирование: (Опционально, но приветствуется) Добавить базовое логирование действий сервиса
Конфигурация: Конфигурация (например, параметры подключения к базе данных, секретный ключ JWT) должна быть вынесена в переменные окружения или конфигурационный файл
Документация: Предоставить readme файл с инструкциями по запуску и использованию сервиса
Структура кода: Код должен быть чистым, хорошо структурированным и легко читаемым
Дополнительные указания:
Разрешается использовать любые библиотеки Java, которые сочтете необходимыми, но при указании причины выбора каждой библиотеки
Обратите внимание на обработку ошибок и валидацию входных данных
Предпочтительно использовать переменные окружения для конфигурации