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.AllowCorsPreflightNested 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, userSessionManagementFields inherited from class org.apache.catalina.authenticator.FormAuthenticator
authenticationSessionTimeout, characterEncoding, landingPageFields 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, ssoFields inherited from class org.apache.catalina.valves.ValveBase
asyncSupported, container, containerLog, nextFields 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 TypeMethodDescriptionbooleanauthenticate(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response) protected AbstractAuthenticatedActionsValvecreateAuthenticatedActionsValve(org.keycloak.adapters.AdapterDeploymentContext deploymentContext, org.apache.catalina.Valve next, org.apache.catalina.Container container) protected org.keycloak.adapters.tomcat.GenericPrincipalFactoryprotected CatalinaRequestAuthenticatorcreateRequestAuthenticator(org.apache.catalina.connector.Request request, CatalinaHttpFacade facade, org.keycloak.adapters.KeycloakDeployment deployment, org.keycloak.adapters.AdapterTokenStore tokenStore) protected booleandoAuthenticate(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response) protected booleanforwardToErrorPageInternal(org.apache.catalina.connector.Request request, jakarta.servlet.http.HttpServletResponse response, Object loginConfig) protected org.keycloak.adapters.AdapterTokenStoregetTokenStore(org.apache.catalina.connector.Request request, org.keycloak.adapters.spi.HttpFacade facade, org.keycloak.adapters.KeycloakDeployment resolvedDeployment) protected voidvoidlogout(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, logoutInternalMethods inherited from class org.apache.catalina.authenticator.FormAuthenticator
forwardToErrorPage, forwardToLoginPage, getAuthenticationSessionTimeout, getAuthMethod, getCharacterEncoding, getLandingPage, isContinuationRequired, matchRequest, register, restoreRequest, savedRequestURL, saveRequest, setAuthenticationSessionTimeout, setCharacterEncoding, setLandingPageMethods 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, stopInternalMethods inherited from class org.apache.catalina.valves.ValveBase
backgroundProcess, getDomainInternal, getNext, getObjectNameKeyProperties, isAsyncSupported, setAsyncSupported, setNext, toStringMethods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods 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:
authenticatein interfaceorg.apache.catalina.Authenticator- Overrides:
authenticatein 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:
doAuthenticatein 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:
forwardToErrorPageInternalin classAbstractKeycloakAuthenticatorValve- Throws:
IOException
-
initInternal
protected void initInternal()- Overrides:
initInternalin classorg.apache.catalina.valves.ValveBase
-
logout
public void logout(org.apache.catalina.connector.Request request) - Specified by:
logoutin interfaceorg.apache.catalina.Authenticator- Overrides:
logoutin classorg.apache.catalina.authenticator.AuthenticatorBase
-
createPrincipalFactory
protected org.keycloak.adapters.tomcat.GenericPrincipalFactory createPrincipalFactory()- Specified by:
createPrincipalFactoryin 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:
getTokenStorein classAbstractKeycloakAuthenticatorValve
-
createAuthenticatedActionsValve
protected AbstractAuthenticatedActionsValve createAuthenticatedActionsValve(org.keycloak.adapters.AdapterDeploymentContext deploymentContext, org.apache.catalina.Valve next, org.apache.catalina.Container container) - Specified by:
createAuthenticatedActionsValvein classAbstractKeycloakAuthenticatorValve
-
createRequestAuthenticator
protected CatalinaRequestAuthenticator createRequestAuthenticator(org.apache.catalina.connector.Request request, CatalinaHttpFacade facade, org.keycloak.adapters.KeycloakDeployment deployment, org.keycloak.adapters.AdapterTokenStore tokenStore) - Overrides:
createRequestAuthenticatorin classAbstractKeycloakAuthenticatorValve
-