Class FormClient

  • All Implemented Interfaces:
    org.pac4j.core.client.Client

    public class FormClient
    extends org.pac4j.core.client.IndirectClient

    This class is the client to authenticate users through HTTP form.

    The login url of the form must be defined through the setLoginUrl(String) method. For authentication, the user is redirected to this login form. The username and password inputs must be posted on the callback url. Their names can be defined by using the setUsernameParameter(String) and setPasswordParameter(String) methods.

    Since:
    1.4.0
    Author:
    Jerome Leleu
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ERROR_PARAMETER  
      static java.lang.String MISSING_FIELD_ERROR  
      • Fields inherited from class org.pac4j.core.client.IndirectClient

        ATTEMPTED_AUTHENTICATION_SUFFIX, callbackUrl, callbackUrlResolver, urlResolver
      • Fields inherited from class org.pac4j.core.client.BaseClient

        logger, saveProfileInSession
    • Constructor Summary

      Constructors 
      Constructor Description
      FormClient()  
      FormClient​(java.lang.String loginUrl, java.lang.String usernameParameter, java.lang.String passwordParameter, org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator)  
      FormClient​(java.lang.String loginUrl, org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator)  
      FormClient​(java.lang.String loginUrl, org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator, org.pac4j.core.profile.creator.ProfileCreator profileCreator)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.String computeErrorMessage​(java.lang.Exception e)
      Return the error message depending on the thrown exception.
      java.lang.String getLoginUrl()  
      java.lang.String getPasswordParameter()  
      java.lang.String getUsernameParameter()  
      protected org.pac4j.core.exception.http.HttpAction handleInvalidCredentials​(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore, java.lang.String username, java.lang.String message, java.lang.String errorMessage)  
      protected void internalInit()  
      protected java.util.Optional<org.pac4j.core.credentials.Credentials> retrieveCredentials​(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore)  
      void setLoginUrl​(java.lang.String loginUrl)  
      void setPasswordParameter​(java.lang.String passwordParameter)  
      void setUsernameParameter​(java.lang.String usernameParameter)  
      java.lang.String toString()  
      • Methods inherited from class org.pac4j.core.client.IndirectClient

        afterInternalInit, beforeInternalInit, computeFinalCallbackUrl, defaultLogoutActionBuilder, defaultRedirectionActionBuilder, getAjaxRequestResolver, getCallbackUrl, getCallbackUrlResolver, getCodeVerifierSessionAttributeName, getCredentials, getLogoutAction, getLogoutActionBuilder, getNonceSessionAttributeName, getRedirectionAction, getRedirectionActionBuilder, getStateSessionAttributeName, getUrlResolver, isCheckAuthenticationAttempt, newDefaultCallbackUrlResolver, setAjaxRequestResolver, setCallbackUrl, setCallbackUrlResolver, setCheckAuthenticationAttempt, setLogoutActionBuilder, setRedirectionActionBuilder, setUrlResolver
      • Methods inherited from class org.pac4j.core.client.BaseClient

        addAuthorizationGenerator, addAuthorizationGenerators, defaultAuthenticator, defaultCredentialsExtractor, defaultProfileCreator, getAuthenticator, getAuthorizationGenerators, getCredentialsExtractor, getCustomProperties, getName, getProfileCreator, getProfileFactoryWhenNotAuthenticated, getSaveProfileInSession, getUserProfile, isMultiProfile, notifySessionRenewal, renewUserProfile, retrieveUserProfile, setAuthenticator, setAuthorizationGenerator, setAuthorizationGenerators, setAuthorizationGenerators, setCredentialsExtractor, setCustomProperties, setMultiProfile, setName, setProfileCreator, setProfileFactoryWhenNotAuthenticated, setSaveProfileInSession
      • Methods inherited from class org.pac4j.core.util.InitializableObject

        init, isInitialized
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • MISSING_FIELD_ERROR

        public static final java.lang.String MISSING_FIELD_ERROR
        See Also:
        Constant Field Values
    • Constructor Detail

      • FormClient

        public FormClient()
      • FormClient

        public FormClient​(java.lang.String loginUrl,
                          org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator)
      • FormClient

        public FormClient​(java.lang.String loginUrl,
                          java.lang.String usernameParameter,
                          java.lang.String passwordParameter,
                          org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator)
      • FormClient

        public FormClient​(java.lang.String loginUrl,
                          org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator,
                          org.pac4j.core.profile.creator.ProfileCreator profileCreator)
    • Method Detail

      • internalInit

        protected void internalInit()
        Specified by:
        internalInit in class org.pac4j.core.util.InitializableObject
      • retrieveCredentials

        protected java.util.Optional<org.pac4j.core.credentials.Credentials> retrieveCredentials​(org.pac4j.core.context.WebContext context,
                                                                                                 org.pac4j.core.context.session.SessionStore sessionStore)
        Overrides:
        retrieveCredentials in class org.pac4j.core.client.BaseClient
      • handleInvalidCredentials

        protected org.pac4j.core.exception.http.HttpAction handleInvalidCredentials​(org.pac4j.core.context.WebContext context,
                                                                                    org.pac4j.core.context.session.SessionStore sessionStore,
                                                                                    java.lang.String username,
                                                                                    java.lang.String message,
                                                                                    java.lang.String errorMessage)
      • computeErrorMessage

        protected java.lang.String computeErrorMessage​(java.lang.Exception e)
        Return the error message depending on the thrown exception. Can be overriden for other message computation.
        Parameters:
        e - the technical exception
        Returns:
        the error message
      • getLoginUrl

        public java.lang.String getLoginUrl()
      • setLoginUrl

        public void setLoginUrl​(java.lang.String loginUrl)
      • getUsernameParameter

        public java.lang.String getUsernameParameter()
      • setUsernameParameter

        public void setUsernameParameter​(java.lang.String usernameParameter)
      • getPasswordParameter

        public java.lang.String getPasswordParameter()
      • setPasswordParameter

        public void setPasswordParameter​(java.lang.String passwordParameter)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class org.pac4j.core.client.IndirectClient