Я пытаюсь настроить Keycloak Gatekeeper в качестве обратного прокси перед моей службой, но я не знаю, для чего нужен redirection-url
. Я решил, что могу просто поставить Gatekeeper перед своей службой, и моей службе не нужно будет ничего знать об authn / z. Это не представляется возможным, если требуется конечная точка обратного вызова.
Мне удалось развернуть Keycloak Server, Keycloak Gatekeeper и простую службу узлов (все они развернуты локально в контейнерах докеров). Немного взломав мой файл hosts, я смог отправить запрос в Gatekeeper, который правильно аутентифицировал меня и перенаправил обратно в службу моего узла. Однако моей службе узла потребовалось добавить конечную точку /oauth/callback
, поскольку гейткипер добавляет этот суффикс ко всему, что указано в redirection-url
.
Вот как выглядит моя конфигурация Gatekeeper:
discovery-url: http://keycloak-server:8080/auth/realms/master
client-id: proxy-node-server
client-secret: abcabcab-abca-abca-abca-abcabcabcabc
listen: ':3001'
enable-refresh-tokens: true
redirection-url: http://node-server:3000
encryption-key: <ENCRYPTION_KEY>
upstream-url: http://node-server:3000
resources:
- uri: /*
secure-cookie: false
Я ожидаю, что смогу поставить Gatekeeper перед службой, которая не знает об аутентификации, авторизации, OIDC и т. Д., Но с redirection-url
, что кажется невозможным.
Есть ли способ заставить Gatekeeper выполнять аутентификацию, когда это необходимо, и просто действовать как простой прокси, когда пользователь правильно аутентифицирован? Или я чего-то не понимаю, где это невозможно?