Сервис позволяет:
- Регистрировать пользователя (отправителя сообщений)
- Осуществлять аутентификацию и авторизацию пользователя по jwt токену
- Сохранять сообщения пользователя в базе данных
- Показывать историю сообщений пользователя
Проект выполнен с использованием Spring Boot, Spring Security, PostgreSQL
В базе данных созданы две sql таблицы person - отправители и message - сообщения.
Для регистрации нового пользователя необходимо по адресу http://localhost:8091/auth/registration
сделать HTTP POST
запрос вида:
{
"name": "имя отправителя",
"password": "пароль"
}
Этот эндпоинт проверяет добавляет пользователя в БД, создает jwt-токен
, в токен записывает данные: name: "имя отправителя" и отправляет токен в ответ, тоже json вида:
{
"token": "тут сгенерированный токен"
}
Для аутентификации существующего пользователя необходимо по адресу http://localhost:8091/auth/login
сделать HTTP POST
запрос вида:
{
"name": "имя отправителя",
"password": "пароль"
}
Этот эндпоинт проверяет пользователя и его пароль по БД, создает jwt-токен
, в токен записывает данные: name: "имя отправителя" и отправляет токен в ответ, тоже json вида:
{
"token": "тут сгенерированный токен"
}
Для сохранения сообщения от пользователя необходимо по адресу http://localhost:8091/message
сделать HTTP POST
запрос вида:
{
"name": "имя отправителя",
"message": "текст сообщение"
}
В заголовках необходимо указать Bearer токен
, полученный из эндпоинта выше (между Bearer
и полученным токеном должно быть нижнее подчеркивание).
В случае успешной проверки токена, полученное сообщение сохраняется в БД.
Если по адресу http://localhost:8091/message
пришло сообщение вида:
{
"name": "имя отправителя",
"message": "history 10"
}
В случае успешной проверки токена отправитель получит 10 последних сообщений из БД. Можно указать необходимое количество сообщений.
Для проверки работоспособности программы приложен файл с curl запросами - curl.txt
.
Команды для создания таблиц БД в файле schema.sql