Package io.quarkus.vertx.http.deployment
Class HttpSecurityProcessor
java.lang.Object
io.quarkus.vertx.http.deployment.HttpSecurityProcessor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class(package private) static final class(package private) static final class(package private) static class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidaddRoutingCtxToSecurityEventsForCdiBeans(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.security.spi.AdditionalSecurityConstrainerEventPropsBuildItem> producer) static Set<org.jboss.jandex.ClassInfo> collectAnnotatedClasses(Collection<org.jboss.jandex.AnnotationInstance> instances, Predicate<org.jboss.jandex.ClassInfo> filter) static Set<org.jboss.jandex.MethodInfo> collectClassMethodsWithoutRbacAnnotation(Collection<org.jboss.jandex.ClassInfo> classes) (package private) voidcollectInterceptedMethods(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) static Set<org.jboss.jandex.MethodInfo> collectMethodsWithoutRbacAnnotation(Collection<org.jboss.jandex.MethodInfo> methods) (package private) io.quarkus.security.spi.CurrentIdentityAssociationClassBuildItem(package private) voidcreateHttpAuthenticationHandler(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) (package private) voiddetectBasicAuthImplicitlyRequired(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) (package private) io.quarkus.vertx.core.deployment.IgnoredContextLocalDataKeysBuildItemdontPropagateSecurityIdentityToDuplicateContext(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder) (package private) AuthorizationPolicyInstancesBuildItemgatherAuthorizationPolicyInstances(io.quarkus.deployment.builditem.CombinedIndexBuildItem combinedIndex, io.quarkus.deployment.Capabilities capabilities) (package private) voidgenerateAuthorizationPolicyStorage(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) ImplementsAuthorizationPolicyStorageas a bean.(package private) io.quarkus.arc.deployment.SyntheticBeanBuildIteminitBasicAuth(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig httpBuildTimeConfig, io.quarkus.deployment.annotations.BuildProducer<SecurityInformationBuildItem> securityInformationProducer) (package private) voidinitFormAuth(VertxWebRouterBuildItem vertxWebRouterBuildItem, io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig buildTimeConfig) (package private) HttpSecurityProcessor.HttpSecurityConfigSetupCompleteBuildIteminitializeHttpSecurity(Optional<HttpSecurityProcessor.HttpAuthenticationHandlerBuildItem> authenticationHandler, io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.arc.deployment.BeanContainerBuildItem beanContainerBuildItem, io.quarkus.deployment.builditem.ShutdownContextBuildItem shutdown) (package private) io.quarkus.arc.deployment.AdditionalBeanBuildIteminitMtlsClientAuth(io.quarkus.vertx.http.runtime.VertxHttpBuildTimeConfig buildTimeConfig) (package private) voidmakeRequiredBeansUnremovable(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.UnremovableBeanBuildItem> unremovableBeanProducer, io.quarkus.deployment.Capabilities capabilities) (package private) voidprepareCsrfConfigBuilder(io.quarkus.deployment.Capabilities capabilities, Optional<CsrfBuilderClassBuildItem> csrfBuilderClassBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> bytecodeTransformerProducer) (package private) voidproduceEagerSecurityInterceptorStorage(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) (package private) voidregisterAuthMechanismSelectionInterceptor(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) (package private) voidregisterFormAuthMechanism(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) (package private) List<HttpAuthMechanismAnnotationBuildItem> (package private) voidsetMtlsCertificateRoleProperties(io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder recorder, io.quarkus.deployment.Capabilities capabilities) (package private) voidsetupAuthenticationMechanisms(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)
-
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) ImplementsAuthorizationPolicyStorageas a bean. If noAuthorizationPolicyare detected, generated bean will look like this:
On the other hand, ifpublic class AuthorizationPolicyStorage_Imp extends AuthorizationPolicyStorage { AuthorizationPolicyStorage_Imp() { super(); } @Override protected Map<MethodDescription, String> getMethodToPolicyName() { return Map.of(); } }AuthorizationPolicyis detected,getMethodToPolicyNamereturns 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)
-