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>
attributes
protected List<org.keycloak.events.Event>
events
protected boolean
eventsEnabled
protected FreeMarkerProvider
freeMarker
protected javax.ws.rs.core.HttpHeaders
headers
protected boolean
identityProviderEnabled
protected String
idTokenHint
protected List<org.keycloak.models.utils.FormMessage>
messages
protected MessageType
messageType
protected boolean
passwordSet
protected boolean
passwordUpdateSupported
protected javax.ws.rs.core.MultivaluedMap<String,String>
profileFormData
protected org.keycloak.models.RealmModel
realm
protected String[]
referrer
protected org.keycloak.models.KeycloakSession
session
protected List<org.keycloak.models.UserSessionModel>
sessions
protected String
stateChecker
protected javax.ws.rs.core.Response.Status
status
protected javax.ws.rs.core.UriInfo
uriInfo
protected org.keycloak.models.UserModel
user
-
Constructor Summary
Constructors Constructor Description FreeMarkerAccountProvider(org.keycloak.models.KeycloakSession session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
javax.ws.rs.core.Response
createResponse(org.keycloak.forms.account.AccountPages page)
protected String
formatMessage(org.keycloak.models.utils.FormMessage message, Properties messagesBundle, Locale locale)
protected org.keycloak.theme.Theme
getTheme()
Get Theme used for page rendering.protected void
handleMessages(Locale locale, Properties messagesBundle, Map<String,Object> attributes)
Handle messages to be shown on the page - set them to template attributesprotected Properties
handleThemeResources(org.keycloak.theme.Theme theme, Locale locale, Map<String,Object> attributes)
Load message bundle and place it intomsg
template attribute.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.org.keycloak.forms.account.AccountProvider
setAttribute(String key, String value)
org.keycloak.forms.account.AccountProvider
setError(javax.ws.rs.core.Response.Status status, String message, Object... parameters)
org.keycloak.forms.account.AccountProvider
setErrors(javax.ws.rs.core.Response.Status status, List<org.keycloak.models.utils.FormMessage> messages)
org.keycloak.forms.account.AccountProvider
setEvents(List<org.keycloak.events.Event> events)
org.keycloak.forms.account.AccountProvider
setFeatures(boolean identityProviderEnabled, boolean eventsEnabled, boolean passwordUpdateSupported, boolean authorizationSupported)
org.keycloak.forms.account.AccountProvider
setHttpHeaders(javax.ws.rs.core.HttpHeaders httpHeaders)
org.keycloak.forms.account.AccountProvider
setIdTokenHint(String idTokenHint)
protected void
setMessage(MessageType type, String message, Object... parameters)
org.keycloak.forms.account.AccountProvider
setPasswordSet(boolean passwordSet)
org.keycloak.forms.account.AccountProvider
setProfileFormData(javax.ws.rs.core.MultivaluedMap<String,String> formData)
org.keycloak.forms.account.AccountProvider
setRealm(org.keycloak.models.RealmModel realm)
org.keycloak.forms.account.AccountProvider
setReferrer(String[] referrer)
org.keycloak.forms.account.AccountProvider
setSessions(List<org.keycloak.models.UserSessionModel> sessions)
org.keycloak.forms.account.AccountProvider
setStateChecker(String stateChecker)
org.keycloak.forms.account.AccountProvider
setSuccess(String message, Object... parameters)
org.keycloak.forms.account.AccountProvider
setUriInfo(javax.ws.rs.core.UriInfo uriInfo)
org.keycloak.forms.account.AccountProvider
setUser(org.keycloak.models.UserModel user)
org.keycloak.forms.account.AccountProvider
setWarning(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
-
idTokenHint
protected String idTokenHint
-
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 FreeMarkerProvider 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
-
-
Method Detail
-
setUriInfo
public org.keycloak.forms.account.AccountProvider setUriInfo(javax.ws.rs.core.UriInfo uriInfo)
- Specified by:
setUriInfo
in interfaceorg.keycloak.forms.account.AccountProvider
-
setHttpHeaders
public org.keycloak.forms.account.AccountProvider setHttpHeaders(javax.ws.rs.core.HttpHeaders httpHeaders)
- Specified by:
setHttpHeaders
in interfaceorg.keycloak.forms.account.AccountProvider
-
createResponse
public javax.ws.rs.core.Response createResponse(org.keycloak.forms.account.AccountPages page)
- Specified by:
createResponse
in interfaceorg.keycloak.forms.account.AccountProvider
-
getTheme
protected org.keycloak.theme.Theme getTheme() throws IOException
Get 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 intomsg
template attribute. Also load Theme properties and place them intoproperties
template 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:
setPasswordSet
in 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:
setErrors
in 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:
setError
in interfaceorg.keycloak.forms.account.AccountProvider
-
setSuccess
public org.keycloak.forms.account.AccountProvider setSuccess(String message, Object... parameters)
- Specified by:
setSuccess
in interfaceorg.keycloak.forms.account.AccountProvider
-
setWarning
public org.keycloak.forms.account.AccountProvider setWarning(String message, Object... parameters)
- Specified by:
setWarning
in interfaceorg.keycloak.forms.account.AccountProvider
-
setUser
public org.keycloak.forms.account.AccountProvider setUser(org.keycloak.models.UserModel user)
- Specified by:
setUser
in interfaceorg.keycloak.forms.account.AccountProvider
-
setProfileFormData
public org.keycloak.forms.account.AccountProvider setProfileFormData(javax.ws.rs.core.MultivaluedMap<String,String> formData)
- Specified by:
setProfileFormData
in interfaceorg.keycloak.forms.account.AccountProvider
-
setRealm
public org.keycloak.forms.account.AccountProvider setRealm(org.keycloak.models.RealmModel realm)
- Specified by:
setRealm
in interfaceorg.keycloak.forms.account.AccountProvider
-
setReferrer
public org.keycloak.forms.account.AccountProvider setReferrer(String[] referrer)
- Specified by:
setReferrer
in interfaceorg.keycloak.forms.account.AccountProvider
-
setEvents
public org.keycloak.forms.account.AccountProvider setEvents(List<org.keycloak.events.Event> events)
- Specified by:
setEvents
in interfaceorg.keycloak.forms.account.AccountProvider
-
setSessions
public org.keycloak.forms.account.AccountProvider setSessions(List<org.keycloak.models.UserSessionModel> sessions)
- Specified by:
setSessions
in interfaceorg.keycloak.forms.account.AccountProvider
-
setStateChecker
public org.keycloak.forms.account.AccountProvider setStateChecker(String stateChecker)
- Specified by:
setStateChecker
in interfaceorg.keycloak.forms.account.AccountProvider
-
setIdTokenHint
public org.keycloak.forms.account.AccountProvider setIdTokenHint(String idTokenHint)
- Specified by:
setIdTokenHint
in interfaceorg.keycloak.forms.account.AccountProvider
-
setFeatures
public org.keycloak.forms.account.AccountProvider setFeatures(boolean identityProviderEnabled, boolean eventsEnabled, boolean passwordUpdateSupported, boolean authorizationSupported)
- Specified by:
setFeatures
in interfaceorg.keycloak.forms.account.AccountProvider
-
setAttribute
public org.keycloak.forms.account.AccountProvider setAttribute(String key, String value)
- Specified by:
setAttribute
in interfaceorg.keycloak.forms.account.AccountProvider
-
close
public void close()
- Specified by:
close
in interfaceorg.keycloak.provider.Provider
-
-