Class UndertowKeycloakConsumer
- java.lang.Object
-
- org.apache.camel.support.ServiceSupport
-
- org.apache.camel.impl.DefaultConsumer
-
- org.apache.camel.component.undertow.UndertowConsumer
-
- org.keycloak.adapters.camel.undertow.UndertowKeycloakConsumer
-
- All Implemented Interfaces:
io.undertow.server.HttpHandler,org.apache.camel.Consumer,org.apache.camel.EndpointAware,org.apache.camel.RouteAware,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
public class UndertowKeycloakConsumer extends org.apache.camel.component.undertow.UndertowConsumer- Author:
- hmlnarik
-
-
Field Summary
Fields Modifier and Type Field Description protected List<String>allowedRolesprotected org.keycloak.adapters.AdapterDeploymentContextdeploymentContextprotected org.keycloak.adapters.spi.SessionIdMapperidMapperstatic io.undertow.util.AttachmentKey<org.keycloak.KeycloakPrincipal>KEYCLOAK_PRINCIPAL_KEYprotected org.keycloak.adapters.NodesRegistrationManagementnodesRegistrationManagementprotected io.undertow.server.session.SessionManagersessionManager
-
Constructor Summary
Constructors Constructor Description UndertowKeycloakConsumer(UndertowKeycloakEndpoint endpoint, org.apache.camel.Processor processor, org.keycloak.adapters.AdapterDeploymentContext deploymentContext, Pattern skipPattern, List<String> allowedRoles, int confidentialPort)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetConfidentialPort()protected org.keycloak.adapters.AdapterTokenStoregetTokenStore(io.undertow.server.HttpServerExchange exchange, org.keycloak.adapters.spi.HttpFacade facade, org.keycloak.adapters.KeycloakDeployment deployment, io.undertow.security.api.SecurityContext securityContext)voidhandleRequest(io.undertow.server.HttpServerExchange httpExchange)booleanisRoleAllowed(Set<String> roles, io.undertow.server.HttpServerExchange httpExchange)-
Methods inherited from class org.apache.camel.component.undertow.UndertowConsumer
doStart, doStop, getEndpoint, sendEventNotification, sendMessage
-
Methods inherited from class org.apache.camel.impl.DefaultConsumer
createUoW, doneUoW, getAsyncProcessor, getExceptionHandler, getProcessor, getRoute, handleException, handleException, setExceptionHandler, setRoute, toString
-
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
-
-
-
-
Field Detail
-
KEYCLOAK_PRINCIPAL_KEY
public static final io.undertow.util.AttachmentKey<org.keycloak.KeycloakPrincipal> KEYCLOAK_PRINCIPAL_KEY
-
idMapper
protected org.keycloak.adapters.spi.SessionIdMapper idMapper
-
nodesRegistrationManagement
protected final org.keycloak.adapters.NodesRegistrationManagement nodesRegistrationManagement
-
deploymentContext
protected final org.keycloak.adapters.AdapterDeploymentContext deploymentContext
-
sessionManager
protected final io.undertow.server.session.SessionManager sessionManager
-
-
Constructor Detail
-
UndertowKeycloakConsumer
public UndertowKeycloakConsumer(UndertowKeycloakEndpoint endpoint, org.apache.camel.Processor processor, org.keycloak.adapters.AdapterDeploymentContext deploymentContext, Pattern skipPattern, List<String> allowedRoles, int confidentialPort)
-
-
Method Detail
-
getConfidentialPort
public int getConfidentialPort()
-
handleRequest
public void handleRequest(io.undertow.server.HttpServerExchange httpExchange) throws Exception- Specified by:
handleRequestin interfaceio.undertow.server.HttpHandler- Overrides:
handleRequestin classorg.apache.camel.component.undertow.UndertowConsumer- Throws:
Exception
-
isRoleAllowed
public boolean isRoleAllowed(Set<String> roles, io.undertow.server.HttpServerExchange httpExchange) throws Exception
- Throws:
Exception
-
getTokenStore
protected org.keycloak.adapters.AdapterTokenStore getTokenStore(io.undertow.server.HttpServerExchange exchange, org.keycloak.adapters.spi.HttpFacade facade, org.keycloak.adapters.KeycloakDeployment deployment, io.undertow.security.api.SecurityContext securityContext)
-
-