Class KeycloakAuthenticatorValve
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.nuxeo.shaded.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve
org.nuxeo.shaded.keycloak.adapters.tomcat.KeycloakAuthenticatorValve
- All Implemented Interfaces:
jakarta.security.auth.message.config.RegistrationListener
,MBeanRegistration
,org.apache.catalina.Authenticator
,org.apache.catalina.Contained
,org.apache.catalina.JmxEnabled
,org.apache.catalina.Lifecycle
,org.apache.catalina.LifecycleListener
,org.apache.catalina.Valve
Keycloak authentication valve
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
- Implementation Note:
- Copied from Keycloak Tomcat Adapter since it won't be upgraded to Jakarta as their support is dropped
-
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 inherited from class org.nuxeo.shaded.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve
deploymentContext, nodesRegistrationManagement, TOKEN_STORE_NOTE, userSessionManagement
Fields inherited from class org.apache.catalina.authenticator.FormAuthenticator
authenticationSessionTimeout, 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 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 -
Method Summary
Modifier and TypeMethodDescriptionboolean
authenticate
(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response) protected AbstractAuthenticatedActionsValve
createAuthenticatedActionsValve
(org.keycloak.adapters.AdapterDeploymentContext deploymentContext, org.apache.catalina.Valve next, org.apache.catalina.Container container) protected org.keycloak.adapters.tomcat.GenericPrincipalFactory
protected CatalinaRequestAuthenticator
createRequestAuthenticator
(org.apache.catalina.connector.Request request, CatalinaHttpFacade facade, org.keycloak.adapters.KeycloakDeployment deployment, org.keycloak.adapters.AdapterTokenStore tokenStore) protected boolean
doAuthenticate
(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response) protected boolean
forwardToErrorPageInternal
(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response, Object loginConfig) protected org.keycloak.adapters.AdapterTokenStore
getTokenStore
(org.apache.catalina.connector.Request request, org.keycloak.adapters.spi.HttpFacade facade, org.keycloak.adapters.KeycloakDeployment resolvedDeployment) protected void
void
logout
(org.apache.catalina.connector.Request request) Methods inherited from class org.nuxeo.shaded.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve
authenticateInternal, beforeStop, checkKeycloakSession, invoke, keycloakInit, keycloakRestoreRequest, keycloakSaveRequest, lifecycleEvent, logoutInternal
Methods inherited from class org.apache.catalina.authenticator.FormAuthenticator
forwardToErrorPage, forwardToLoginPage, getAuthenticationSessionTimeout, getAuthMethod, getCharacterEncoding, getLandingPage, isContinuationRequired, matchRequest, register, restoreRequest, savedRequestURL, saveRequest, setAuthenticationSessionTimeout, setCharacterEncoding, setLandingPage
Methods inherited from class org.apache.catalina.authenticator.AuthenticatorBase
allowCorsPreflightBypass, associate, changeSessionID, checkForCachedAuthentication, doLogin, getAllowCorsPreflight, getAlwaysUseSession, getCache, getChangeSessionIdOnAuthentication, getContainer, getDisableProxyCaching, getJaspicCallbackHandlerClass, getRealmName, getSecurePagesWithPragma, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, isPreemptiveAuthPossible, isSendAuthInfoResponseHeaders, login, 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, isAsyncSupported, setAsyncSupported, setNext, toString
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister
Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
Constructor Details
-
KeycloakAuthenticatorValve
public KeycloakAuthenticatorValve()
-
-
Method Details
-
authenticate
public boolean authenticate(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response) throws IOException - Specified by:
authenticate
in interfaceorg.apache.catalina.Authenticator
- Overrides:
authenticate
in classorg.apache.catalina.authenticator.AuthenticatorBase
- Throws:
IOException
-
doAuthenticate
protected boolean doAuthenticate(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response) throws IOException - Overrides:
doAuthenticate
in classorg.apache.catalina.authenticator.FormAuthenticator
- Throws:
IOException
-
forwardToErrorPageInternal
protected boolean forwardToErrorPageInternal(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response, Object loginConfig) throws IOException - Specified by:
forwardToErrorPageInternal
in classAbstractKeycloakAuthenticatorValve
- Throws:
IOException
-
initInternal
protected void initInternal()- Overrides:
initInternal
in classorg.apache.catalina.valves.ValveBase
-
logout
public void logout(org.apache.catalina.connector.Request request) - Specified by:
logout
in interfaceorg.apache.catalina.Authenticator
- Overrides:
logout
in classorg.apache.catalina.authenticator.AuthenticatorBase
-
createPrincipalFactory
protected org.keycloak.adapters.tomcat.GenericPrincipalFactory createPrincipalFactory()- Specified by:
createPrincipalFactory
in classAbstractKeycloakAuthenticatorValve
-
getTokenStore
protected org.keycloak.adapters.AdapterTokenStore getTokenStore(org.apache.catalina.connector.Request request, org.keycloak.adapters.spi.HttpFacade facade, org.keycloak.adapters.KeycloakDeployment resolvedDeployment) - Overrides:
getTokenStore
in classAbstractKeycloakAuthenticatorValve
-
createAuthenticatedActionsValve
protected AbstractAuthenticatedActionsValve createAuthenticatedActionsValve(org.keycloak.adapters.AdapterDeploymentContext deploymentContext, org.apache.catalina.Valve next, org.apache.catalina.Container container) - Specified by:
createAuthenticatedActionsValve
in classAbstractKeycloakAuthenticatorValve
-
createRequestAuthenticator
protected CatalinaRequestAuthenticator createRequestAuthenticator(org.apache.catalina.connector.Request request, CatalinaHttpFacade facade, org.keycloak.adapters.KeycloakDeployment deployment, org.keycloak.adapters.AdapterTokenStore tokenStore) - Overrides:
createRequestAuthenticator
in classAbstractKeycloakAuthenticatorValve
-