Class FreeMarkerAccountProvider
- java.lang.Object
-
- org.keycloak.forms.account.freemarker.FreeMarkerAccountProvider
-
- All Implemented Interfaces:
org.keycloak.forms.account.AccountProvider,org.keycloak.provider.Provider
public class FreeMarkerAccountProvider extends Object implements org.keycloak.forms.account.AccountProvider
- Author:
- Stian Thorgersen
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,Object>attributesprotected List<org.keycloak.events.Event>eventsprotected booleaneventsEnabledprotected FreeMarkerUtilfreeMarkerprotected javax.ws.rs.core.HttpHeadersheadersprotected booleanidentityProviderEnabledprotected List<org.keycloak.models.utils.FormMessage>messagesprotected MessageTypemessageTypeprotected booleanpasswordSetprotected booleanpasswordUpdateSupportedprotected javax.ws.rs.core.MultivaluedMap<String,String>profileFormDataprotected org.keycloak.models.RealmModelrealmprotected String[]referrerprotected org.keycloak.models.KeycloakSessionsessionprotected List<org.keycloak.models.UserSessionModel>sessionsprotected StringstateCheckerprotected javax.ws.rs.core.Response.Statusstatusprotected javax.ws.rs.core.UriInfouriInfoprotected org.keycloak.models.UserModeluser
-
Constructor Summary
Constructors Constructor Description FreeMarkerAccountProvider(org.keycloak.models.KeycloakSession session, FreeMarkerUtil freeMarker)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()javax.ws.rs.core.ResponsecreateResponse(org.keycloak.forms.account.AccountPages page)protected StringformatMessage(org.keycloak.models.utils.FormMessage message, Properties messagesBundle, Locale locale)protected org.keycloak.theme.ThemegetTheme()Get Theme used for page rendering.protected voidhandleMessages(Locale locale, Properties messagesBundle, Map<String,Object> attributes)Handle messages to be shown on the page - set them to template attributesprotected PropertieshandleThemeResources(org.keycloak.theme.Theme theme, Locale locale, Map<String,Object> attributes)Load message bundle and place it intomsgtemplate attribute.protected javax.ws.rs.core.ResponseprocessTemplate(org.keycloak.theme.Theme theme, org.keycloak.forms.account.AccountPages page, Map<String,Object> attributes, Locale locale)Process FreeMarker template and prepare Response.org.keycloak.forms.account.AccountProvidersetAttribute(String key, String value)org.keycloak.forms.account.AccountProvidersetError(javax.ws.rs.core.Response.Status status, String message, Object... parameters)org.keycloak.forms.account.AccountProvidersetErrors(javax.ws.rs.core.Response.Status status, List<org.keycloak.models.utils.FormMessage> messages)org.keycloak.forms.account.AccountProvidersetEvents(List<org.keycloak.events.Event> events)org.keycloak.forms.account.AccountProvidersetFeatures(boolean identityProviderEnabled, boolean eventsEnabled, boolean passwordUpdateSupported, boolean authorizationSupported)org.keycloak.forms.account.AccountProvidersetHttpHeaders(javax.ws.rs.core.HttpHeaders httpHeaders)protected voidsetMessage(MessageType type, String message, Object... parameters)org.keycloak.forms.account.AccountProvidersetPasswordSet(boolean passwordSet)org.keycloak.forms.account.AccountProvidersetProfileFormData(javax.ws.rs.core.MultivaluedMap<String,String> formData)org.keycloak.forms.account.AccountProvidersetRealm(org.keycloak.models.RealmModel realm)org.keycloak.forms.account.AccountProvidersetReferrer(String[] referrer)org.keycloak.forms.account.AccountProvidersetSessions(List<org.keycloak.models.UserSessionModel> sessions)org.keycloak.forms.account.AccountProvidersetStateChecker(String stateChecker)org.keycloak.forms.account.AccountProvidersetSuccess(String message, Object... parameters)org.keycloak.forms.account.AccountProvidersetUriInfo(javax.ws.rs.core.UriInfo uriInfo)org.keycloak.forms.account.AccountProvidersetUser(org.keycloak.models.UserModel user)org.keycloak.forms.account.AccountProvidersetWarning(String message, Object... parameters)
-
-
-
Field Detail
-
user
protected org.keycloak.models.UserModel user
-
status
protected javax.ws.rs.core.Response.Status status
-
realm
protected org.keycloak.models.RealmModel realm
-
referrer
protected String[] referrer
-
events
protected List<org.keycloak.events.Event> events
-
stateChecker
protected String stateChecker
-
sessions
protected List<org.keycloak.models.UserSessionModel> sessions
-
identityProviderEnabled
protected boolean identityProviderEnabled
-
eventsEnabled
protected boolean eventsEnabled
-
passwordUpdateSupported
protected boolean passwordUpdateSupported
-
passwordSet
protected boolean passwordSet
-
session
protected org.keycloak.models.KeycloakSession session
-
freeMarker
protected FreeMarkerUtil freeMarker
-
headers
protected javax.ws.rs.core.HttpHeaders headers
-
uriInfo
protected javax.ws.rs.core.UriInfo uriInfo
-
messages
protected List<org.keycloak.models.utils.FormMessage> messages
-
messageType
protected MessageType messageType
-
-
Constructor Detail
-
FreeMarkerAccountProvider
public FreeMarkerAccountProvider(org.keycloak.models.KeycloakSession session, FreeMarkerUtil freeMarker)
-
-
Method Detail
-
setUriInfo
public org.keycloak.forms.account.AccountProvider setUriInfo(javax.ws.rs.core.UriInfo uriInfo)
- Specified by:
setUriInfoin interfaceorg.keycloak.forms.account.AccountProvider
-
setHttpHeaders
public org.keycloak.forms.account.AccountProvider setHttpHeaders(javax.ws.rs.core.HttpHeaders httpHeaders)
- Specified by:
setHttpHeadersin interfaceorg.keycloak.forms.account.AccountProvider
-
createResponse
public javax.ws.rs.core.Response createResponse(org.keycloak.forms.account.AccountPages page)
- Specified by:
createResponsein interfaceorg.keycloak.forms.account.AccountProvider
-
getTheme
protected org.keycloak.theme.Theme getTheme() throws IOExceptionGet Theme used for page rendering.- Returns:
- theme for page rendering, never null
- Throws:
IOException- in case of Theme loading problem
-
handleThemeResources
protected Properties handleThemeResources(org.keycloak.theme.Theme theme, Locale locale, Map<String,Object> attributes)
Load message bundle and place it intomsgtemplate attribute. Also load Theme properties and place them intopropertiestemplate attribute.- Parameters:
theme- actual Theme to load bundle fromlocale- to load bundle forattributes- template attributes to add resources to- Returns:
- message bundle for other use
-
handleMessages
protected void handleMessages(Locale locale, Properties messagesBundle, Map<String,Object> attributes)
Handle messages to be shown on the page - set them to template attributes- Parameters:
locale- to be used for message text loadingmessagesBundle- to be used for message text loadingattributes- template attributes to messages related info to- See Also:
messageType,messages
-
processTemplate
protected javax.ws.rs.core.Response processTemplate(org.keycloak.theme.Theme theme, org.keycloak.forms.account.AccountPages page, Map<String,Object> attributes, Locale locale)Process FreeMarker template and prepare Response. Some fields are used for rendering also.- Parameters:
theme- to be used (provided bygetTheme())page- to be renderedattributes- pushed to the templatelocale- to be used- Returns:
- Response object to be returned to the browser, never null
-
setPasswordSet
public org.keycloak.forms.account.AccountProvider setPasswordSet(boolean passwordSet)
- Specified by:
setPasswordSetin interfaceorg.keycloak.forms.account.AccountProvider
-
setMessage
protected void setMessage(MessageType type, String message, Object... parameters)
-
formatMessage
protected String formatMessage(org.keycloak.models.utils.FormMessage message, Properties messagesBundle, Locale locale)
-
setErrors
public org.keycloak.forms.account.AccountProvider setErrors(javax.ws.rs.core.Response.Status status, List<org.keycloak.models.utils.FormMessage> messages)- Specified by:
setErrorsin interfaceorg.keycloak.forms.account.AccountProvider
-
setError
public org.keycloak.forms.account.AccountProvider setError(javax.ws.rs.core.Response.Status status, String message, Object... parameters)- Specified by:
setErrorin interfaceorg.keycloak.forms.account.AccountProvider
-
setSuccess
public org.keycloak.forms.account.AccountProvider setSuccess(String message, Object... parameters)
- Specified by:
setSuccessin interfaceorg.keycloak.forms.account.AccountProvider
-
setWarning
public org.keycloak.forms.account.AccountProvider setWarning(String message, Object... parameters)
- Specified by:
setWarningin interfaceorg.keycloak.forms.account.AccountProvider
-
setUser
public org.keycloak.forms.account.AccountProvider setUser(org.keycloak.models.UserModel user)
- Specified by:
setUserin interfaceorg.keycloak.forms.account.AccountProvider
-
setProfileFormData
public org.keycloak.forms.account.AccountProvider setProfileFormData(javax.ws.rs.core.MultivaluedMap<String,String> formData)
- Specified by:
setProfileFormDatain interfaceorg.keycloak.forms.account.AccountProvider
-
setRealm
public org.keycloak.forms.account.AccountProvider setRealm(org.keycloak.models.RealmModel realm)
- Specified by:
setRealmin interfaceorg.keycloak.forms.account.AccountProvider
-
setReferrer
public org.keycloak.forms.account.AccountProvider setReferrer(String[] referrer)
- Specified by:
setReferrerin interfaceorg.keycloak.forms.account.AccountProvider
-
setEvents
public org.keycloak.forms.account.AccountProvider setEvents(List<org.keycloak.events.Event> events)
- Specified by:
setEventsin interfaceorg.keycloak.forms.account.AccountProvider
-
setSessions
public org.keycloak.forms.account.AccountProvider setSessions(List<org.keycloak.models.UserSessionModel> sessions)
- Specified by:
setSessionsin interfaceorg.keycloak.forms.account.AccountProvider
-
setStateChecker
public org.keycloak.forms.account.AccountProvider setStateChecker(String stateChecker)
- Specified by:
setStateCheckerin interfaceorg.keycloak.forms.account.AccountProvider
-
setFeatures
public org.keycloak.forms.account.AccountProvider setFeatures(boolean identityProviderEnabled, boolean eventsEnabled, boolean passwordUpdateSupported, boolean authorizationSupported)- Specified by:
setFeaturesin interfaceorg.keycloak.forms.account.AccountProvider
-
setAttribute
public org.keycloak.forms.account.AccountProvider setAttribute(String key, String value)
- Specified by:
setAttributein interfaceorg.keycloak.forms.account.AccountProvider
-
close
public void close()
- Specified by:
closein interfaceorg.keycloak.provider.Provider
-
-