Class ElytronDeploymentProcessor
java.lang.Object
io.quarkus.elytron.security.deployment.ElytronDeploymentProcessor
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 -
Method Summary
Modifier and TypeMethodDescription(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.
-
Constructor Details
-
ElytronDeploymentProcessor
ElytronDeploymentProcessor()
-
-
Method Details
-
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
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
-