keycloak 网守中 redirection-url 的目的是什么?

What is the purpose of redirection-url in keycloak gatekeeper?

我正在尝试将 Keycloak Gatekeeper 设置为服务前的反向代理,但我不知道 redirection-url 的目的是什么。我想我可以把 Gatekeeper 放在我的服务前面,而我的服务不需要知道任何关于 authn/z 的信息。如果它需要回调端点,这似乎是不可能的。

我能够部署 Keycloak 服务器、Keycloak Gatekeeper 和一个简单的节点服务(全部部署在本地 docker 容器中)。通过对我的主机文件进行一些修改,我能够向 Gatekeeper 发送请求,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,并在用户通过正确身份验证时充当简单代理?或者有什么地方我不明白这是不可能的吗?

网守帮助:

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

您将需要使用 redirection-url,仅当网守位于负载均衡器或其他反向代理后面时。 Open ID Connect 流程需要 redirection-url。当用户通过身份验证时,当然不会应用 redirect-url