@Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @ConditionalOnMissingBean(name = CasWebflowConstants.ACTION_ID_MFA_CHECK_AVAILABLE)
        public Action mfaAvailableAction(final ConfigurableApplicationContext applicationContext,
                                         final CasConfigurationProperties casProperties,
                                         @Qualifier(TenantExtractor.BEAN_NAME)
                                         final TenantExtractor tenantExtractor) {
            return WebflowActionBeanSupplier.builder()
                .withApplicationContext(applicationContext)
                .withProperties(casProperties)
                .withAction(() -> new MultifactorAuthenticationAvailableAction(tenantExtractor))
                .withId(CasWebflowConstants.ACTION_ID_MFA_CHECK_AVAILABLE)
                .build()
                .get();
        }
This is {@link CasCoreMultifactorAuthenticationWebflowAutoConfiguration}.

@author Travis Schmidt
@since 6.0.0
core/cas-server-core-webflow-mfa/src/main/java/org/apereo/cas/config/CasCoreMultifactorAuthenticationWebflowAutoConfiguration.java