Class KeycloakAuthenticatorValve

  • 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 class KeycloakAuthenticatorValve
    extends AbstractKeycloakAuthenticatorValve
    Keycloak authentication valve
    Version:
    $Revision: 1 $
    Author:
    Bill Burke
    • Nested Class Summary

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

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

      • 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, 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean authenticate​(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response)
      Method called by Tomcat < 8.5.5
      protected AbstractAuthenticatedActionsValve createAuthenticatedActionsValve​(AdapterDeploymentContext deploymentContext, org.apache.catalina.Valve next, org.apache.catalina.Container container)  
      protected GenericPrincipalFactory createPrincipalFactory()  
      protected boolean doAuthenticate​(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response)
      Method called by Tomcat >= 8.5.5
      protected boolean forwardToErrorPageInternal​(org.apache.catalina.connector.Request request, javax.servlet.http.HttpServletResponse response, Object loginConfig)  
      protected AdapterTokenStore getTokenStore​(org.apache.catalina.connector.Request request, org.keycloak.adapters.spi.HttpFacade facade, KeycloakDeployment resolvedDeployment)  
      protected void initInternal()  
      void logout​(org.apache.catalina.connector.Request request)  
      • Methods inherited from class org.apache.catalina.authenticator.FormAuthenticator

        forwardToErrorPage, forwardToLoginPage, getAuthMethod, getCharacterEncoding, getLandingPage, isContinuationRequired, matchRequest, restoreRequest, savedRequestURL, saveRequest, setCharacterEncoding, setLandingPage
      • Methods inherited from class org.apache.catalina.authenticator.AuthenticatorBase

        associate, checkForCachedAuthentication, doLogin, getAlwaysUseSession, getCache, getChangeSessionIdOnAuthentication, getContainer, getDisableProxyCaching, getJaspicCallbackHandlerClass, getRealmName, getRequestCertificates, getSecurePagesWithPragma, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, login, notify, reauthenticateFromSSO, register, setAlwaysUseSession, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setJaspicCallbackHandlerClass, setSecurePagesWithPragma, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, startInternal, stopInternal
      • Methods inherited from class org.apache.catalina.valves.ValveBase

        backgroundProcess, getDomainInternal, getNext, getObjectNameKeyProperties, 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, init, removeLifecycleListener, setState, setState, start, stop
    • Constructor Detail

      • KeycloakAuthenticatorValve

        public KeycloakAuthenticatorValve()
    • Method Detail

      • authenticate

        public boolean authenticate​(org.apache.catalina.connector.Request request,
                                    javax.servlet.http.HttpServletResponse response)
                             throws IOException
        Method called by Tomcat < 8.5.5
        Specified by:
        authenticate in interface org.apache.catalina.Authenticator
        Overrides:
        authenticate in class org.apache.catalina.authenticator.AuthenticatorBase
        Throws:
        IOException
      • doAuthenticate

        protected boolean doAuthenticate​(org.apache.catalina.connector.Request request,
                                         javax.servlet.http.HttpServletResponse response)
                                  throws IOException
        Method called by Tomcat >= 8.5.5
        Overrides:
        doAuthenticate in class org.apache.catalina.authenticator.FormAuthenticator
        Throws:
        IOException
      • initInternal

        protected void initInternal()
        Overrides:
        initInternal in class org.apache.catalina.valves.ValveBase
      • logout

        public void logout​(org.apache.catalina.connector.Request request)
        Specified by:
        logout in interface org.apache.catalina.Authenticator
        Overrides:
        logout in class org.apache.catalina.authenticator.AuthenticatorBase