Go to file
2022-10-20 17:35:15 +03:00
.github OPS-104: Initial implementation (#1) 2022-06-29 14:34:02 +03:00
doc OPS-176: Upd readme (#18) 2022-09-08 18:08:18 +03:00
src OPS-212: add forbidden some methods in service (#21) 2022-10-20 17:35:15 +03:00
.gitignore OPS-104: Initial implementation (#1) 2022-06-29 14:34:02 +03:00
LICENSE 🔄 Created local 'LICENSE' from remote 'LICENSE' (#4) 2022-07-01 17:38:41 +03:00
pom.xml Bump bouncer proto, fix BouncerContextFactory (#14) 2022-08-25 18:50:45 +03:00
README.md OPS-176: Upd readme (#18) 2022-09-08 18:08:18 +03:00
renovate.json OPS-104: Initial implementation (#1) 2022-06-29 14:34:02 +03:00

wachter

Сервис предназначен для авторизации и проксирования вызовов от control-center.

Описание работы сервиса

  1. Wachter получает от control-center запрос на проведение операции, содержащий токен и имя сервиса, в который необходимо спроксировать запрос. Имя сервиса получает из header "Service".
  2. Из сообщения запроса wachter получает имя метода
  3. В KeycloakService wachter получает AccessToken.
  4. По имени сервиса из header wachter маппит url, на который необходимо спроксировать запрос.
  5. Далее сервис проверяет возможность авторизации пользователя, сравнивая полученные названия сервиса и метода от control-center с теми, что находятся в JWT токене. Доступ может быть разрешен как ко всему сервису, так и только к отдельному методу сервиса.
  6. Если доступ разрешен, сервис отправляет запрос на ранее смаппленный урл.
  7. Полученный ответ возвращает control-center.

Схема работы сервиса:

diagram-wachter