在 Keycloak 登录主题中获取 root url
Posted
技术标签:
【中文标题】在 Keycloak 登录主题中获取 root url【英文标题】:Get root url in Keycloak login theme 【发布时间】:2020-08-28 02:58:32 【问题描述】:是否可以在 Keycloak 登录主题使用的 Freemaker 模板中获取根 url?我找到的最接近的是在客户端 bean 中:
keycloak-master\services\src\main\java\org\keycloak\forms\login\freemarker\model\ClientBean.java
public String getBaseUrl()
return ResolveRelative.resolveRelativeUri(session, client.getRootUrl(), client.getBaseUrl());
可以在 Freemaker tamplete 中调用:
$client.baseUrl
但是,client.getRootUrl() 本身并未暴露。是否可以在不更改服务源代码的情况下获取root url,只使用Keycloak主题中的Freemaker模板?
【问题讨论】:
【参考方案1】:如果只是在页面中显示,请使用javascript,它将在客户端进行评估:
<label id="yourLabel">test</label>
<script>
var root = window.location.origin;
document.getElementById('yourLabel').innerhtml = root;
</script>
另请参阅:
Change label text using JavaScript How to extract the hostname portion of a URL in JavaScript【讨论】:
以上是关于在 Keycloak 登录主题中获取 root url的主要内容,如果未能解决你的问题,请参考以下文章
在 keycloak 主题中更新密码时正在存储“这不是登录表单”
如何在 Kubernetes 上的 Keycloak Operator 部署中使用自定义主题?
在使用 Keycloak 保护的 web 应用程序中获取登录用户名