BasedAlex / yadro-xkcd

Assignment for Yadro
0 stars 0 forks source link

Задание 7 #12

Closed vbelogrudov closed 3 months ago

vbelogrudov commented 4 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.

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

BasedAlex commented 4 months ago

Сделал ПР https://github.com/BasedAlex/yadro-xkcd/pull/14 , готов к ревью, но я бы ещё над ним поработал

BasedAlex commented 3 months ago

Поработал над ПР, готов к ревью