@RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @Bean
        @ConditionalOnMissingBean(name = "loginFlowExecutor")
        public FlowExecutor loginFlowExecutor(
            @Qualifier(TenantExtractor.BEAN_NAME)
            final TenantExtractor tenantExtractor,
            @Qualifier("loginFlowUrlHandler")
            final FlowUrlHandler loginFlowUrlHandler,
            final CasConfigurationProperties casProperties,
            @Qualifier(CasWebflowConstants.BEAN_NAME_FLOW_DEFINITION_REGISTRY)
            final FlowDefinitionRegistry flowDefinitionRegistry,
            @Qualifier(CipherExecutor.BEAN_NAME_WEBFLOW_CIPHER_EXECUTOR)
            final CipherExecutor webflowCipherExecutor) {
            val factory = new WebflowExecutorFactory(casProperties.getWebflow(),
                flowDefinitionRegistry, webflowCipherExecutor,
                FLOW_EXECUTION_LISTENERS, loginFlowUrlHandler, tenantExtractor);

            return factory.build();
        }
This is {@link CasWebflowContextConfiguration} that attempts to create Spring-managed beans
backed by external configuration.

@author Misagh Moayyed
@since 5.0.0
core/cas-server-core-webflow/src/main/java/org/apereo/cas/config/CasWebflowContextConfiguration.java