我正在尝试将Keycloak Gatekeeper设置为我的服务前面的反向代理,但我不知道redirection-url的用途。我想我可以把Gatekeeper放在我的服务前面,而我的服务不需要知道任何有关authn/z的信息,如果它需要一个回调端点,这似乎是不可能的。
我能够部署Keycloak Server、Keycloak Gatekeeper和一个简单的节点服务(全部部署在本地docker容器中)。通过对我的hosts文件进行一些黑客攻击,我能够向Gatekeeper发送一个请求,它正确地对我进行了身份验证,并将我重定向回我的节点服务。但是,我的节点服务需要添加一个/oauth/callback端点,因为网关守卫会将该后缀添加到redirection-url中指定的任何内容中。
下面是我的网守配置:
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放在一个不了解身份验证、授权、开放数据中心等知识的服务面前,但使用redirection-url似乎是不可能的。
有没有办法让Gatekeeper在需要时进行身份验证,并在用户经过适当身份验证时充当简单的代理?或者,有没有什么我不理解的地方是不可能的?
发布于 2019-10-15 22:40:14
网守帮助:
--redirection-url value redirection url for the oauth callback url, defaults to host header is absent [$PROXY_REDIRECTION_URL]只有当网守位于负载均衡器或另一个反向代理之后时,才需要使用redirection-url。该redirection-url是开放ID连接流所必需的。当用户通过身份验证时,当然不会应用redirect-url。
https://stackoverflow.com/questions/58394685
复制相似问题