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