Class AbstractSamlAuthenticatorValve

java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.valves.ValveBase
org.apache.catalina.authenticator.AuthenticatorBase
org.apache.catalina.authenticator.FormAuthenticator
org.keycloak.adapters.saml.AbstractSamlAuthenticatorValve
All Implemented Interfaces:
MBeanRegistration, javax.security.auth.message.config.RegistrationListener, org.apache.catalina.Authenticator, org.apache.catalina.Contained, org.apache.catalina.JmxEnabled, org.apache.catalina.Lifecycle, org.apache.catalina.LifecycleListener, org.apache.catalina.Valve

public abstract class AbstractSamlAuthenticatorValve extends org.apache.catalina.authenticator.FormAuthenticator implements org.apache.catalina.LifecycleListener
Keycloak authentication valve
Version:
$Revision: 1 $
Author:
Davide Ungari, Bill Burke
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.catalina.authenticator.AuthenticatorBase

    org.apache.catalina.authenticator.AuthenticatorBase.AllowCorsPreflight

    Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle

    org.apache.catalina.Lifecycle.SingleUse
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     
    protected SessionIdMapper
     
    static final String
     
     

    Fields inherited from class org.apache.catalina.authenticator.FormAuthenticator

    characterEncoding, landingPage

    Fields inherited from class org.apache.catalina.authenticator.AuthenticatorBase

    alwaysUseSession, AUTH_HEADER_NAME, cache, changeSessionIdOnAuthentication, context, disableProxyCaching, jaspicCallbackHandlerClass, REALM_NAME, securePagesWithPragma, secureRandomAlgorithm, secureRandomClass, secureRandomProvider, sendAuthInfoResponseHeaders, sessionIdGenerator, sm, sso

    Fields inherited from class org.apache.catalina.valves.ValveBase

    asyncSupported, container, containerLog, next

    Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase

    mserver

    Fields inherited from interface org.apache.catalina.Lifecycle

    AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected boolean
    authenticateInternal(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, Object loginConfig)
     
    protected void
     
    protected abstract PrincipalFactory
     
    createSessionStore(org.apache.catalina.connector.Request request, HttpFacade facade, SamlDeployment resolvedDeployment)
     
    protected boolean
    executeAuthenticator(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, CatalinaHttpFacade facade, SamlDeployment deployment, SamlAuthenticator authenticator)
     
    protected abstract boolean
    forwardToErrorPageInternal(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, Object loginConfig)
     
    protected void
    forwardToLogoutPage(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, SamlDeployment deployment)
     
     
    getSessionStore(org.apache.catalina.connector.Request request, HttpFacade facade, SamlDeployment resolvedDeployment)
     
    void
    invoke(org.apache.catalina.connector.Request request, org.apache.catalina.connector.Response response)
     
    void
     
    boolean
    keycloakRestoreRequest(org.apache.catalina.connector.Request request)
     
    void
    keycloakSaveRequest(org.apache.catalina.connector.Request request)
     
    void
    lifecycleEvent(org.apache.catalina.LifecycleEvent event)
     
    protected void
    logoutInternal(org.apache.catalina.connector.Request request)
     
    void
     

    Methods inherited from class org.apache.catalina.authenticator.FormAuthenticator

    doAuthenticate, forwardToErrorPage, forwardToLoginPage, getAuthMethod, getCharacterEncoding, getLandingPage, isContinuationRequired, matchRequest, register, restoreRequest, savedRequestURL, saveRequest, setCharacterEncoding, setLandingPage

    Methods inherited from class org.apache.catalina.authenticator.AuthenticatorBase

    allowCorsPreflightBypass, associate, authenticate, changeSessionID, checkForCachedAuthentication, doLogin, getAllowCorsPreflight, getAlwaysUseSession, getCache, getChangeSessionIdOnAuthentication, getContainer, getDisableProxyCaching, getJaspicCallbackHandlerClass, getRealmName, getSecurePagesWithPragma, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, isPreemptiveAuthPossible, isSendAuthInfoResponseHeaders, login, logout, notify, reauthenticateFromSSO, register, setAllowCorsPreflight, setAlwaysUseSession, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setJaspicCallbackHandlerClass, setSecurePagesWithPragma, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSendAuthInfoResponseHeaders, startInternal, stopInternal

    Methods inherited from class org.apache.catalina.valves.ValveBase

    backgroundProcess, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setNext, toString

    Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase

    destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister

    Methods inherited from class org.apache.catalina.util.LifecycleBase

    addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop

    Methods inherited from class java.lang.Object

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

  • Constructor Details

    • AbstractSamlAuthenticatorValve

      public AbstractSamlAuthenticatorValve()
  • Method Details

    • lifecycleEvent

      public void lifecycleEvent(org.apache.catalina.LifecycleEvent event)
      Specified by:
      lifecycleEvent in interface org.apache.catalina.LifecycleListener
    • logoutInternal

      protected void logoutInternal(org.apache.catalina.connector.Request request)
    • keycloakInit

      public void keycloakInit()
    • beforeStop

      protected void beforeStop()
    • invoke

      public void invoke(org.apache.catalina.connector.Request request, org.apache.catalina.connector.Response response) throws IOException, javax.servlet.ServletException
      Specified by:
      invoke in interface org.apache.catalina.Valve
      Overrides:
      invoke in class org.apache.catalina.authenticator.AuthenticatorBase
      Throws:
      IOException
      javax.servlet.ServletException
    • createPrincipalFactory

      protected abstract PrincipalFactory createPrincipalFactory()
    • forwardToErrorPageInternal

      protected abstract boolean forwardToErrorPageInternal(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, Object loginConfig) throws IOException
      Throws:
      IOException
    • forwardToLogoutPage

      protected void forwardToLogoutPage(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, SamlDeployment deployment)
    • authenticateInternal

      protected boolean authenticateInternal(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, Object loginConfig) throws IOException
      Throws:
      IOException
    • executeAuthenticator

      protected boolean executeAuthenticator(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, CatalinaHttpFacade facade, SamlDeployment deployment, SamlAuthenticator authenticator)
    • keycloakSaveRequest

      public void keycloakSaveRequest(org.apache.catalina.connector.Request request) throws IOException
      Throws:
      IOException
    • keycloakRestoreRequest

      public boolean keycloakRestoreRequest(org.apache.catalina.connector.Request request)
    • getSessionStore

      protected SamlSessionStore getSessionStore(org.apache.catalina.connector.Request request, HttpFacade facade, SamlDeployment resolvedDeployment)
    • createSessionStore

      protected SamlSessionStore createSessionStore(org.apache.catalina.connector.Request request, HttpFacade facade, SamlDeployment resolvedDeployment)
    • addTokenStoreUpdaters

      protected void addTokenStoreUpdaters()
    • getIdMapperUpdater

      public SessionIdMapperUpdater getIdMapperUpdater()
    • setIdMapperUpdater

      public void setIdMapperUpdater(SessionIdMapperUpdater idMapperUpdater)