Class HttpSecurityProcessor

java.lang.Object
io.quarkus.vertx.http.deployment.HttpSecurityProcessor

public class HttpSecurityProcessor extends Object
  • Constructor Details

    • HttpSecurityProcessor

      public HttpSecurityProcessor()
  • Method Details

    • initFormAuth

      void initFormAuth(VertxWebRouterBuildItem vertxWebRouterBuildItem, io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig buildTimeConfig)
    • makeRequiredBeansUnremovable

      void makeRequiredBeansUnremovable(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.UnremovableBeanBuildItem> unremovableBeanProducer, io.quarkus.deployment.Capabilities capabilities)
    • registerFormAuthMechanism

      void registerFormAuthMechanism(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanProducer, io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig buildTimeConfig, io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder)
    • initMtlsClientAuth

      io.quarkus.arc.deployment.AdditionalBeanBuildItem initMtlsClientAuth(io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig buildTimeConfig)
    • setMtlsCertificateRoleProperties

      void setMtlsCertificateRoleProperties(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.deployment.Capabilities capabilities)
    • detectBasicAuthImplicitlyRequired

      void detectBasicAuthImplicitlyRequired(io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig httpBuildTimeConfig, io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem beanRegistrationPhaseBuildItem, io.quarkus.deployment.builditem.ApplicationIndexBuildItem applicationIndexBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.SystemPropertyBuildItem> systemPropertyProducer, List<EagerSecurityInterceptorBindingBuildItem> eagerSecurityInterceptorBindings)
    • initBasicAuth

      io.quarkus.arc.deployment.SyntheticBeanBuildItem initBasicAuth(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig httpBuildTimeConfig, io.quarkus.deployment.annotations.BuildProducer<SecurityInformationBuildItem> securityInformationProducer)
    • setupAuthenticationMechanisms

      void setupAuthenticationMechanisms(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.deployment.annotations.BuildProducer<FilterBuildItem> filterBuildItemBuildProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> beanProducer, Optional<HttpSecurityProcessor.HttpAuthenticationHandlerBuildItem> authenticationHandlerBuildItem, io.quarkus.deployment.Capabilities capabilities, io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig httpBuildTimeConfig, io.quarkus.deployment.annotations.BuildProducer<SecurityInformationBuildItem> securityInformationProducer)
    • createHttpAuthenticationHandler

      void createHttpAuthenticationHandler(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.deployment.Capabilities capabilities, io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig httpBuildTimeConfig, io.quarkus.deployment.annotations.BuildProducer<HttpSecurityProcessor.HttpAuthenticationHandlerBuildItem> authenticationHandlerProducer)
    • prepareCsrfConfigBuilder

      void prepareCsrfConfigBuilder(io.quarkus.deployment.Capabilities capabilities, Optional<CsrfBuilderClassBuildItem> csrfBuilderClassBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> bytecodeTransformerProducer)
    • initializeHttpSecurity

      HttpSecurityProcessor.HttpSecurityConfigSetupCompleteBuildItem initializeHttpSecurity(Optional<HttpSecurityProcessor.HttpAuthenticationHandlerBuildItem> authenticationHandler, io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.arc.deployment.BeanContainerBuildItem beanContainerBuildItem, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdown)
    • registerHttpAuthMechanismAnnotations

      List<HttpAuthMechanismAnnotationBuildItem> registerHttpAuthMechanismAnnotations()
    • registerAuthMechanismSelectionInterceptor

      void registerAuthMechanismSelectionInterceptor(io.quarkus.deployment.Capabilities capabilities, io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig buildTimeConfig, io.quarkus.deployment.annotations.BuildProducer<EagerSecurityInterceptorBindingBuildItem> bindingProducer, io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.AdditionalSecuredMethodsBuildItem> additionalSecuredMethodsProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.RegisterClassSecurityCheckBuildItem> registerClassSecurityCheckProducer, List<io.quarkus.security.spi.ClassSecurityAnnotationBuildItem> classSecurityAnnotations, List<HttpAuthMechanismAnnotationBuildItem> additionalHttpAuthMechAnnotations, io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndexBuildItem)
    • collectInterceptedMethods

      void collectInterceptedMethods(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem, List<EagerSecurityInterceptorBindingBuildItem> interceptorBindings, List<io.quarkus.security.spi.ClassSecurityAnnotationBuildItem> classSecurityAnnotations, io.quarkus.deployment.annotations.BuildProducer<EagerSecurityInterceptorMethodsBuildItem> methodsProducer, io.quarkus.deployment.annotations.BuildProducer<EagerSecurityInterceptorClassesBuildItem> classesProducer)
    • produceEagerSecurityInterceptorStorage

      void produceEagerSecurityInterceptorStorage(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> producer, List<EagerSecurityInterceptorBindingBuildItem> interceptorBindings, List<EagerSecurityInterceptorClassesBuildItem> interceptorClasses, List<EagerSecurityInterceptorMethodsBuildItem> interceptorMethods)
    • addRoutingCtxToSecurityEventsForCdiBeans

      void addRoutingCtxToSecurityEventsForCdiBeans(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.AdditionalSecurityConstrainerEventPropsBuildItem> producer)
    • gatherAuthorizationPolicyInstances

      AuthorizationPolicyInstancesBuildItem gatherAuthorizationPolicyInstances(io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndex, io.quarkus.deployment.Capabilities capabilities)
    • generateAuthorizationPolicyStorage

      void generateAuthorizationPolicyStorage(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.GeneratedBeanBuildItem> generatedBeanProducer, io.quarkus.deployment.Capabilities capabilities, AuthorizationPolicyInstancesBuildItem authZPolicyInstancesItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.AdditionalSecurityAnnotationBuildItem> additionalSecurityAnnotationProducer)
      Implements AuthorizationPolicyStorage as a bean. If no AuthorizationPolicy are detected, generated bean will look like this:
       
       public class AuthorizationPolicyStorage_Imp extends AuthorizationPolicyStorage {
           AuthorizationPolicyStorage_Imp() {
               super();
           }
      
           @Override
           protected Map<MethodDescription, String> getMethodToPolicyName() {
               return Map.of();
           }
       }
       
       
      On the other hand, if AuthorizationPolicy is detected, getMethodToPolicyName returns method descriptions of detected annotation instances.
    • createCurrentIdentityAssociation

      io.quarkus.security.spi.CurrentIdentityAssociationClassBuildItem createCurrentIdentityAssociation()
    • dontPropagateSecurityIdentityToDuplicateContext

      io.quarkus.vertx.core.deployment.IgnoredContextLocalDataKeysBuildItem dontPropagateSecurityIdentityToDuplicateContext(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder)
    • collectClassMethodsWithoutRbacAnnotation

      public static Set<org.jboss.jandex.MethodInfo> collectClassMethodsWithoutRbacAnnotation(Collection<org.jboss.jandex.ClassInfo> classes)
    • collectMethodsWithoutRbacAnnotation

      public static Set<org.jboss.jandex.MethodInfo> collectMethodsWithoutRbacAnnotation(Collection<org.jboss.jandex.MethodInfo> methods)
    • collectAnnotatedClasses

      public static Set<org.jboss.jandex.ClassInfo> collectAnnotatedClasses(Collection<org.jboss.jandex.AnnotationInstance> instances, Predicate<org.jboss.jandex.ClassInfo> filter)