@ConditionalOnMissingBean(name = "duoMultifactorAuthenticationDeviceProviderAction")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public MultifactorAuthenticationDeviceProviderAction duoMultifactorAuthenticationDeviceProviderAction(
            final ConfigurableApplicationContext applicationContext) {
            return BeanSupplier.of(MultifactorAuthenticationDeviceProviderAction.class)
                .when(DuoSecurityAuthenticationService.CONDITION.given(applicationContext.getEnvironment()))
                .supply(DuoSecurityMultifactorAuthenticationDeviceProviderAction::new)
                .otherwiseProxy()
                .get();
        }
This is {@link DuoSecurityConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-duo/src/main/java/org/apereo/cas/config/DuoSecurityConfiguration.java