Keycloak:如何覆盖欢迎屏幕重定向行为(到自定义领域,而不是主领域/管理员)

问题描述 投票:0回答:1

我正在使用 Keycloak (

24.0.2
) 作为一个小型非营利组织的独立自助注册应用程序(带有一些自定义字段)。 Keycloak 作为 nginx 后面的 docker 运行,并在
keycloak.myorganization.com
下提供服务。我有两个领域:
master
(默认领域)和
members
(会员将在其中登录/注册)。

现在,我希望用户在输入基本路径时自动转发到“会员”登录/注册。我将主领域的

Frontend URL
设置为
keycloak.myorganization.com
,将会员领域设置为
members.myorganization.com

我还修改了docker环境变量:

KC_HOSTNAME=members.myorganization.com
KC_HOSTNAME_ADMIN=keycloak.myorganization.com

Nginx 执行 SSL 终止,并使用

proxy_pass
members.myorganization.com
keycloak.myorganization.com
的所有内容转发到 localhost/docker。

但是,当我打开 https://members.myorganization.com 时,我会被转发到管理/根控制台,而不是会员领域登录,该登录可在 https://members.myorganization.com/realms 下找到/会员/帐户/.

如何直接转发 https://members.myorganization.comhttps://members.myorganization.com/realms/members/account/

迁移指南中,它说:

如果启用了管理控制台,并且管理用户已存在,则欢迎页面将自动重定向到该控制台。可以通过在

redirectToAdmin
文件中设置
theme.properties
来修改此行为。默认情况下,该属性设置为
false
,除非您要扩展内置主题,在这种情况下,该属性设置为
true

这是否意味着我必须创建/覆盖主题才能修改重定向行为?

nginx keycloak
1个回答
0
投票

我在 Github 讨论中找到了一种覆盖基本路径行为的方法

首先,按照

此处描述的基本设置在本地创建自定义主题以进行 docker 测试。

修改

theme/welcome/theme.properties

import=common/keycloak locales=en
修改

theme/welcome/index.ftl

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="refresh" content="0; url=${adminUrl}" /> <meta name="robots" content="noindex, nofollow" /> <script type="text/javascript"> window.location.href = 'https://members.myorganization.com/realms/members/account/#/' </script> </head> <body> If you are not redirected automatically, follow this <a href="https://members.myorganization.com/realms/members/account/#/">link</a>. </body> </html>
打开 

https://members.myorganization.com/ 后,将显示帐户模板中的“欢迎”页面,而不是管理控制台登录页面:

© www.soinside.com 2019 - 2024. All rights reserved.