use*_*019 5 freemarker keycloak
我想访问 keycloak freemarker 模板中的一些信息。我正在考虑两种方法。设置 url 参数并在 freemarker 模板中读取它们或将此信息设置为 cookie 并在模板中访问它们。
我已经尝试访问此处或此处所述的 url 参数。但两者都不起作用。Keycloak 数据模型不为当前 Url 提供任何 getter。
其中一种方法可能吗?我怎样才能实现我的目标
我遇到了类似的问题,我必须访问自定义 keycloak 登录主题中的查询参数。(使用Keycloak版本2.1.0.Final)
没有查询参数传递到我的登录站点。但我发现里面
org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProvider
Run Code Online (Sandbox Code Playgroud)
您可以访问以下查询参数:
这是可以通过使用
UriInfo uriInfo = session.getContext().getUri();
MultivaluedMap<String, String> queryParameters = uriInfo.getQueryParameters();
Run Code Online (Sandbox Code Playgroud)
redirect_uri您可以像这样读取查询参数
String redirectUri = queryParameters.getFirst("redirect_uri")
Run Code Online (Sandbox Code Playgroud)
要将某些数据传递到您的模板,您必须使用
attributes.put("keyToData", dataForTemplate);
Run Code Online (Sandbox Code Playgroud)
在处理模板之前
freeMarker.processTemplate(attributes, Templates.getTemplate(page), theme);
Run Code Online (Sandbox Code Playgroud)
然后在您的模板(例如 template.ftl)中您可以访问提供的数据,例如:
<#if keyToData!false == true>
...
</#if>
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法访问传递到我的 keycloak/auth端点的自定义查询参数FreeMarkerLoginFormsProvider。
| 归档时间: |
|
| 查看次数: |
3578 次 |
| 最近记录: |