Class ElytronDeploymentProcessor
- java.lang.Object
-
- io.quarkus.elytron.security.deployment.ElytronDeploymentProcessor
-
class ElytronDeploymentProcessor extends Object
The build time process for the security aspects of the deployment. This creates BuildSteps for integration with the Elytron security services. This supports the Elytron LegacyPropertiesSecurityRealm and SimpleMapBackedSecurityRealm realm implementations. Others could be added by creating an extension that produces a SecurityRealmBuildItem for the realm. Additional authentication mechanisms can be added by producing AuthConfigBuildItems and including the associated io.undertow.servlet.ServletExtension implementations to register the io.undertow.security.api.AuthenticationMechanismFactory. TODO: The handling of the configuration to SecurityRealm instance creation/loading is clumsy to not being able to have a config object annotated with @ConfigGroup inherit from another object with MP config annotated properties.
-
-
Constructor Summary
Constructors Constructor Description ElytronDeploymentProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddBeans(BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> beans, List<ElytronPasswordMarkerBuildItem> pw, List<ElytronTokenMarkerBuildItem> token)(package private) SecurityDomainBuildItembuild(ElytronRecorder recorder, List<SecurityRealmBuildItem> realms)Create the deployment SecurityDomain using the SecurityRealm build items that have been created.(package private) voididentityManager(ElytronRecorder recorder, SecurityDomainBuildItem securityDomain, io.quarkus.arc.deployment.BeanContainerBuildItem bc)(package private) voidloadRealm(ElytronRecorder recorder, List<SecurityRealmBuildItem> realms)For each SecurityRealm, load it's runtime state.
-
-
-
Method Detail
-
addBeans
void addBeans(BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> beans, List<ElytronPasswordMarkerBuildItem> pw, List<ElytronTokenMarkerBuildItem> token)
-
build
SecurityDomainBuildItem build(ElytronRecorder recorder, List<SecurityRealmBuildItem> realms) throws Exception
Create the deployment SecurityDomain using the SecurityRealm build items that have been created.- Parameters:
recorder- - the runtime recorder class used to access runtime behaviorsrealms- - the previously created SecurityRealm runtime values- Returns:
- the SecurityDomain runtime value build item
- Throws:
Exception
-
identityManager
void identityManager(ElytronRecorder recorder, SecurityDomainBuildItem securityDomain, io.quarkus.arc.deployment.BeanContainerBuildItem bc)
-
loadRealm
void loadRealm(ElytronRecorder recorder, List<SecurityRealmBuildItem> realms) throws Exception
For each SecurityRealm, load it's runtime state. This is currently a little strange due to how the AuthConfig is downcast to the type of SecurityRealm configuration instance.- Parameters:
recorder- - the runtime recorder class used to access runtime behaviorsrealms- - the previously created SecurityRealm runtime values- Throws:
Exception
-
-