Какова цель перенаправления URL-адреса в сторожевом шлюзе? - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь настроить Keycloak Gatekeeper в качестве обратного прокси-сервера перед моей службой, но я не знаю, какова цель redirection-url. Я подумал, что мог бы просто поставить Gatekeeper перед своим сервисом, без моего сервиса, который бы знал что-либо об authn / z. Это кажется невозможным, если для этого требуется конечная точка обратного вызова.

Мне удалось развернуть сервер Keycloak, Keycloak Gatekeeper и простой сервис узлов (все они развернуты локально в контейнерах докеров). Немного взломав мой файл hosts, я смог отправить запрос в Gatekeeper, который правильно аутентифицировал меня и перенаправил обратно в службу узлов. Однако моей службе узла необходимо было добавить конечную точку /oauth/callback, поскольку Gatekeeper добавляет этот суффикс ко всему, что указано в 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 выполнять authnz, когда это необходимо, и просто действовать как простой прокси-сервер, когда пользователь правильно аутентифицирован? Или есть что-то, чего я не понимаю, где это невозможно?

1 Ответ

1 голос
/ 15 октября 2019

Справка привратника:

--redirection-url      value redirection url for the oauth callback url, defaults to host header is absent [$PROXY_REDIRECTION_URL]

Вам нужно будет использовать redirection-url, только когда привратник сидит за loadbalancer или другим обратным прокси. Это redirection-url требуется для потока Open ID Connect. Когда пользователь аутентифицирован, redirect-url, конечно, не применяется.

...