我正在尝试将 Keycloak Gatekeeper 设置为我的服务前的反向代理,但我不知道redirection-url
. 我想我可以把 Gatekeeper 放在我的服务前面,而我的服务不需要知道任何关于 authn/z 的信息。如果需要回调端点,这似乎是不可能的。
我能够部署 Keycloak Server、Keycloak Gatekeeper 和一个简单的节点服务(全部部署在本地 docker 容器中)。通过对我的主机文件进行一些黑客攻击,我能够向 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 并在用户通过正确身份验证时充当简单的代理?或者有什么我不明白的地方这是不可能的吗?