Class DirectCasClient

java.lang.Object
org.pac4j.core.util.InitializableObject
org.pac4j.core.client.BaseClient
org.pac4j.core.client.DirectClient
org.pac4j.cas.client.direct.DirectCasClient
All Implemented Interfaces:
org.pac4j.core.client.Client

public class DirectCasClient extends org.pac4j.core.client.DirectClient

This class is the direct client to authenticate users on a CAS server for a web application in a stateless way: when trying to access a protected area, the user will be redirected to the CAS server for login and then back directly to this originally requested url.

You should generally use the CasClient instead (this one is very specific and was designed for OAuth / OpenID Connect implementations in the CAS server.

The configuration can be defined via the configuration object.

As no session is meant to be created, this client does not handle CAS logout requests.

For proxy support, a CasProxyReceptor must be defined in the configuration (the corresponding "callback filter" must be enabled) and set to the CAS configuration of this client. In that case, a CasProxyProfile will be return (instead of a CasProfile) to be able to request proxy tickets.

Since:
1.9.2
Author:
Jerome Leleu
  • Field Summary

    Fields inherited from class org.pac4j.core.client.BaseClient

    logger, saveProfileInSession
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor for DirectCasClient.
    Constructor for DirectCasClient.
  • Method Summary

    Modifier and Type
    Method
    Description
    Optional<org.pac4j.core.credentials.Credentials>
    getCredentials(org.pac4j.core.context.CallContext ctx)
    protected void
    internalInit(boolean forceReinits)
    protected Optional<org.pac4j.core.credentials.Credentials>
    internalValidateCredentials(org.pac4j.core.context.CallContext ctx, org.pac4j.core.credentials.Credentials credentials)
    protected void
    setAuthenticatorIfUndefined(org.pac4j.core.credentials.authenticator.Authenticator authenticator)

    Methods inherited from class org.pac4j.core.client.DirectClient

    afterInternalInit, beforeInternalInit, getLogoutAction, getRedirectionAction, processLogout

    Methods inherited from class org.pac4j.core.client.BaseClient

    addAuthorizationGenerator, addAuthorizationGenerators, checkCredentials, getAuthenticator, getAuthorizationGenerators, getCredentialsExtractor, getCustomProperties, getLogger, getName, getProfileCreator, getProfileFactoryWhenNotAuthenticated, getSaveProfileInSession, getSaveProfileInSession, getUserProfile, isMultiProfile, isMultiProfile, notifySessionRenewal, renewUserProfile, setAuthenticator, setAuthorizationGenerator, setAuthorizationGenerators, setAuthorizationGenerators, setCredentialsExtractor, setCredentialsExtractorIfUndefined, setCustomProperties, setMultiProfile, setName, setProfileCreator, setProfileCreatorIfUndefined, setProfileFactoryWhenNotAuthenticated, setSaveProfileInSession, toString, validateCredentials

    Methods inherited from class org.pac4j.core.util.InitializableObject

    getInitialized, 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
  • Constructor Details

    • DirectCasClient

      public DirectCasClient()

      Constructor for DirectCasClient.

    • DirectCasClient

      public DirectCasClient(CasConfiguration casConfiguration)

      Constructor for DirectCasClient.

      Parameters:
      casConfiguration - a CasConfiguration object
  • Method Details

    • internalInit

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

      public Optional<org.pac4j.core.credentials.Credentials> getCredentials(org.pac4j.core.context.CallContext ctx)
      Specified by:
      getCredentials in interface org.pac4j.core.client.Client
      Overrides:
      getCredentials in class org.pac4j.core.client.BaseClient
    • internalValidateCredentials

      protected Optional<org.pac4j.core.credentials.Credentials> internalValidateCredentials(org.pac4j.core.context.CallContext ctx, org.pac4j.core.credentials.Credentials credentials)
      Overrides:
      internalValidateCredentials in class org.pac4j.core.client.BaseClient
    • setAuthenticatorIfUndefined

      protected void setAuthenticatorIfUndefined(org.pac4j.core.credentials.authenticator.Authenticator authenticator)
      Overrides:
      setAuthenticatorIfUndefined in class org.pac4j.core.client.BaseClient