Class 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 Detail

      • user

        protected org.keycloak.models.UserModel user
      • profileFormData

        protected javax.ws.rs.core.MultivaluedMap<String,​String> profileFormData
      • 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
      • 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
    • Constructor Detail

      • FreeMarkerAccountProvider

        public FreeMarkerAccountProvider​(org.keycloak.models.KeycloakSession session)
    • Method Detail

      • setUriInfo

        public org.keycloak.forms.account.AccountProvider setUriInfo​(javax.ws.rs.core.UriInfo uriInfo)
        Specified by:
        setUriInfo in interface org.keycloak.forms.account.AccountProvider
      • setHttpHeaders

        public org.keycloak.forms.account.AccountProvider setHttpHeaders​(javax.ws.rs.core.HttpHeaders httpHeaders)
        Specified by:
        setHttpHeaders in interface org.keycloak.forms.account.AccountProvider
      • createResponse

        public javax.ws.rs.core.Response createResponse​(org.keycloak.forms.account.AccountPages page)
        Specified by:
        createResponse in interface org.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 into msg template attribute. Also load Theme properties and place them into properties template attribute.
        Parameters:
        theme - actual Theme to load bundle from
        locale - to load bundle for
        attributes - 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 loading
        messagesBundle - to be used for message text loading
        attributes - 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 by getTheme())
        page - to be rendered
        attributes - pushed to the template
        locale - 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 interface org.keycloak.forms.account.AccountProvider
      • 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 interface org.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 interface org.keycloak.forms.account.AccountProvider
      • setSuccess

        public org.keycloak.forms.account.AccountProvider setSuccess​(String message,
                                                                     Object... parameters)
        Specified by:
        setSuccess in interface org.keycloak.forms.account.AccountProvider
      • setWarning

        public org.keycloak.forms.account.AccountProvider setWarning​(String message,
                                                                     Object... parameters)
        Specified by:
        setWarning in interface org.keycloak.forms.account.AccountProvider
      • setUser

        public org.keycloak.forms.account.AccountProvider setUser​(org.keycloak.models.UserModel user)
        Specified by:
        setUser in interface org.keycloak.forms.account.AccountProvider
      • setProfileFormData

        public org.keycloak.forms.account.AccountProvider setProfileFormData​(javax.ws.rs.core.MultivaluedMap<String,​String> formData)
        Specified by:
        setProfileFormData in interface org.keycloak.forms.account.AccountProvider
      • setRealm

        public org.keycloak.forms.account.AccountProvider setRealm​(org.keycloak.models.RealmModel realm)
        Specified by:
        setRealm in interface org.keycloak.forms.account.AccountProvider
      • setReferrer

        public org.keycloak.forms.account.AccountProvider setReferrer​(String[] referrer)
        Specified by:
        setReferrer in interface org.keycloak.forms.account.AccountProvider
      • setEvents

        public org.keycloak.forms.account.AccountProvider setEvents​(List<org.keycloak.events.Event> events)
        Specified by:
        setEvents in interface org.keycloak.forms.account.AccountProvider
      • setSessions

        public org.keycloak.forms.account.AccountProvider setSessions​(List<org.keycloak.models.UserSessionModel> sessions)
        Specified by:
        setSessions in interface org.keycloak.forms.account.AccountProvider
      • setStateChecker

        public org.keycloak.forms.account.AccountProvider setStateChecker​(String stateChecker)
        Specified by:
        setStateChecker in interface org.keycloak.forms.account.AccountProvider
      • setIdTokenHint

        public org.keycloak.forms.account.AccountProvider setIdTokenHint​(String idTokenHint)
        Specified by:
        setIdTokenHint in interface org.keycloak.forms.account.AccountProvider
      • setFeatures

        public org.keycloak.forms.account.AccountProvider setFeatures​(boolean identityProviderEnabled,
                                                                      boolean eventsEnabled,
                                                                      boolean passwordUpdateSupported,
                                                                      boolean authorizationSupported)
        Specified by:
        setFeatures in interface org.keycloak.forms.account.AccountProvider
      • setAttribute

        public org.keycloak.forms.account.AccountProvider setAttribute​(String key,
                                                                       String value)
        Specified by:
        setAttribute in interface org.keycloak.forms.account.AccountProvider
      • close

        public void close()
        Specified by:
        close in interface org.keycloak.provider.Provider