Class 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> allowedRoles  
      protected org.keycloak.adapters.AdapterDeploymentContext deploymentContext  
      protected org.keycloak.adapters.spi.SessionIdMapper idMapper  
      static io.undertow.util.AttachmentKey<org.keycloak.KeycloakPrincipal> KEYCLOAK_PRINCIPAL_KEY  
      protected org.keycloak.adapters.NodesRegistrationManagement nodesRegistrationManagement  
      protected io.undertow.server.session.SessionManager sessionManager  
      • Fields inherited from class org.apache.camel.impl.DefaultConsumer

        log
      • Fields inherited from class org.apache.camel.support.ServiceSupport

        shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getConfidentialPort()  
      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)  
      void handleRequest​(io.undertow.server.HttpServerExchange httpExchange)  
      boolean isRoleAllowed​(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
      • Methods inherited from interface org.apache.camel.Service

        start, stop
    • 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
      • allowedRoles

        protected final List<String> allowedRoles
    • 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:
        handleRequest in interface io.undertow.server.HttpHandler
        Overrides:
        handleRequest in class org.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)