我遇到了類似的問題,我必須在我的自定義keycloak登錄主題中訪問查詢參數。 (使用Keycloak版本2.1.0.Final)
沒有查詢參數傳遞給我的登錄網站。 但我發現裏面
org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProvider
您可以訪問下面的查詢參數:
- 範圍
- RESPONSE_TYPE
- REDIRECT_URI
- 狀態
- 現時
- CLIENT_ID
- response_mode
,通過使用
UriInfo uriInfo = session.getContext().getUri();
MultivaluedMap<String, String> queryParameters = uriInfo.getQueryParameters();
是可能的,你可以閱讀的查詢參數redirect_uri
這樣
String redirectUri = queryParameters.getFirst("redirect_uri")
某些數據傳遞到您的模板,你必須使用
attributes.put("keyToData", dataForTemplate);
你的進程之前
freeMarker.processTemplate(attributes, Templates.getTemplate(page), theme);
然後在你的模板中的模板(如template.ftl),您可以訪問提供的數據,例如:
<#if keyToData!false == true>
...
</#if>
遺憾的是我沒能來訪問傳遞給我的keycloak /auth
端點內FreeMarkerLoginFormsProvider
自定義查詢參數。