Leopold1975 / project_yadro

0 stars 0 forks source link

Задание 7 #18

Closed vbelogrudov closed 5 months ago

vbelogrudov commented 6 months ago

Ограничение доступа к сервису - authentication/authorization, rate/concurrency limiters.

Цель

Добавить ограничение одновременных запросов к сервису по времени, ограничение запросов от одного пользователя, ограничение доступа к /update.

Критерии приемки

  1. Добавить concurrency limiter в поисковый API, ограничение указывать через опцию конфига "concurrency_limit".
  2. Добавить rate limiter в поисковый API, который должен ограничивать количество запросов в секунду от конкретных пользователей, ограничение указывать через опцию конфига "rate_limit".
  3. Добавить аутентификацию пользователей. Пользователи должны получать JWT токен по своему логину и паролю через POST /login на конфигурируемое время (минуты), опция конфига “token_max_time”.
  4. Пользователей можно хранить в users.json или в DB. Добавить по крайней мере пользователя admin + 2х обычных пользователей.
  5. POST /update должен быть доступен только пользователю admin.

    Материалы для ознакомления

Leopold1975 commented 5 months ago

https://github.com/Leopold1975/project_yadro/pull/19