MikhailFerapontow / yadro-go

Проект с Golang курс | YADRO
1 stars 0 forks source link

Задание 7 #13

Open vbelogrudov opened 2 months ago

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

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

MikhailFerapontow commented 1 month ago

@vbelogrudov

По обстоятельствам не смогу выполнить задание вовремя, надеюсь будет возможность на вашу проверку на следующей неделе