Class FormClient

java.lang.Object
org.pac4j.core.util.InitializableObject
org.pac4j.core.client.BaseClient
org.pac4j.core.client.IndirectClient
org.pac4j.http.client.indirect.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 final String
     
    static final String
     

    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(String loginUrl, String usernameParameter, String passwordParameter, org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator)
     
    FormClient(String loginUrl, org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator)
     
    FormClient(String loginUrl, org.pac4j.core.credentials.authenticator.Authenticator usernamePasswordAuthenticator, org.pac4j.core.profile.creator.ProfileCreator profileCreator)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected String
    Return the error message depending on the thrown exception.
     
     
     
    protected org.pac4j.core.exception.http.HttpAction
    handleInvalidCredentials(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore, String username, String message, String errorMessage)
     
    protected void
    internalInit(boolean forceReinit)
     
    protected Optional<org.pac4j.core.credentials.Credentials>
    retrieveCredentials(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore)
     
    void
    setLoginUrl(String loginUrl)
     
    void
    setPasswordParameter(String passwordParameter)
     
    void
    setUsernameParameter(String usernameParameter)
     
     

    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

    getLastAttempt, getMaxAttempts, getMinTimeIntervalBetweenAttemptsInMilliseconds, getNbAttempts, init, init, isInitialized, reinit, setMaxAttempts, setMinTimeIntervalBetweenAttemptsInMilliseconds, shouldInitialize

    Methods inherited from class java.lang.Object

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

  • Constructor Details

    • FormClient

      public FormClient()
    • FormClient

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

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

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

    • internalInit

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

      protected 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, String username, String message, String errorMessage)
    • computeErrorMessage

      protected String computeErrorMessage(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 String getLoginUrl()
    • setLoginUrl

      public void setLoginUrl(String loginUrl)
    • getUsernameParameter

      public String getUsernameParameter()
    • setUsernameParameter

      public void setUsernameParameter(String usernameParameter)
    • getPasswordParameter

      public String getPasswordParameter()
    • setPasswordParameter

      public void setPasswordParameter(String passwordParameter)
    • toString

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