Hello,
CAS 7.3.1 overlay, I do Not want to enable account profile management for authenticated users (e.g., if they walked away from computer, someone else gets the hands on browser and start modifying user setting, just as one example), but I do want to use the existing GoogleAuth and WebAuthN account profile manage for the following.
For an authenticated user, I create a new endpoint: /updatemfa, where they can modifying their desired MFA provider, for instance, some may enable simple-mfa via SMS and email, others may enable Google Authenticator -And- simple-mfa, yet others may enable WebAuthN (passkey).
The problem I run into is that WebAuthnAccountProfileWebflowConfiguration (Gauth is the same) is created with lowest order on @AutoConfigureOrder.
My custom updateMfaWebflowConfigurer gets initialized BEFORE WebAuthN and GAuthN, I need it to be AFTER WebAuthN and GAuthN initialization. I tried the following @DependsOn, the constructors are called in the right order, But, the doInitialize() function, that is the bulk of webflow configuration, still runs my CustomWebflow first, followed by Gauth and WebAuthN, the opposite order that I desire.
Any suggestions?
Thx!
@Bean(name = "enableMfaWebflowConfigurer")
@DependsOn({"defaultWebflowConfigurer","webAuthnMultifactorWebflowConfigurer", "googleAccountProfileWebflowConfigurer"})
public EnableMfaWebflowConfigurer enableMfaWebflowConfigurer() {
return new EnableMfaWebflowConfigurer(flowBuilderServices,
flowDefinitionRegistry,
applicationContext, casProperties);
}
@Configuration(value = "WebAuthnAccountProfileWebflowConfiguration", proxyBeanMethods = false)
@EnableConfigurationProperties(CasConfigurationProperties.class)
@ConditionalOnFeatureEnabled(feature = CasFeatureModule.FeatureCatalog.AccountManagement, enabledByDefault = false)
@AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE)
static class WebAuthnAccountProfileWebflowConfiguration {