为什么keycloak在重定向uri中删除SSL?

问题描述 投票:9回答:2

我们有一个简单的要求:PS:https:/ === https://

当用户点击https:/company_landing.company.com时,应将其重定向到keycloak登录页面(https:/ourcompany-keycloak.company.com)。用户输入他/她的keycloak登录凭据。成功登录keycloak后,它们将显示在company_landing页面上。

麻烦是:

用户输入时 - https:/company_landing.company.com

Keycloak尝试打开登录页面,但提供500内部服务器错误并说“错误的重定向uri”,在浏览器中我看到:

HTTPS:?/ourcompany-keycloak.company.com/auth/realms/realm1/tokens/login CLIENT_ID = company_dev&状态= aaaafffff-559d-4312-a8be-123412341234&REDIRECT_URI = HTTP%3A%2F%2Fcompany_landing.company.com%3A8081%2F %3Fauth_callback%3D1

如果您观察到上面的重定向uri,我认为问题是,重定向uri不是https而是以http开头,并且http:/company-landing.company.com不存在。

设置:keycloak设置: -

领域 - >设置 - >登录:要求SSL =所有请求(也尝试使用“外部”)

应用程序 - > realm1 - >设置 - >重定向URI = https://company_landing.company.com/ *

AWS负载均衡器:端口配置:443(https)转发到8443

我很困惑为什么它剥离SSL?当在本地环境上测试时,上述工作正常(可能是因为它的http://localhost),但在尝试访问任何ssl加密的链接时,这总是会提供无效的重定向URL。

-mm

redirect ssl amazon-web-services https keycloak
2个回答
5
投票

您必须在代理配置json文件中添加以下属性(默认情况下为proxy.json)作为应用程序属性(与“adapter-config”相同):

"proxy-address-forwarding" : true,

此配置属性未记录,但存在于代理配置的源中:https://github.com/keycloak/keycloak/blob/master/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyConfig.java


0
投票

您不需要安装证书或使用适配器配置中的更改。

这需要在你的standalone.xmlstandalone-hadomain.xml(视情况而定)中完成,如Keycloak文档反向代理部分https://www.keycloak.org/docs/latest/server_installation/index.html#_setting-up-a-load-balancer-or-proxy中所记录

假设您的反向代理不使用端口8443进行SSL,您还需要配置重定向到HTTPS流量的端口。

<subsystem xmlns="urn:jboss:domain:undertow:4.0">
    ...
    <http-listener name="default" socket-binding="http"
        proxy-address-forwarding="true" redirect-socket="proxy-https"/>
    ...
</subsystem>

将redirect-socket属性添加到http-listener元素。值应该是proxy-https,它指向您还需要定义的套接字绑定。

然后将新的套接字绑定元素添加到socket-binding-group元素:

<socket-binding-group name="standard-sockets" default-interface="public"
    port-offset="${jboss.socket.binding.port-offset:0}">
    ...
    <socket-binding name="proxy-https" port="443"/>
    ...
</socket-binding-group>
© www.soinside.com 2019 - 2024. All rights reserved.