@ConditionalOnMissingBean(name = "mfaTwilioMultifactorBucketConsumer")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public BucketConsumer mfaTwilioMultifactorBucketConsumer(
            final ConfigurableApplicationContext applicationContext,
            @Qualifier("mfaTwilioMultifactorBucketStore")
            final BucketStore mfaTwilioMultifactorBucketStore,
            final CasConfigurationProperties casProperties) {
            return BeanSupplier.of(BucketConsumer.class)
                .when(CONDITION_BUCKET4J_ENABLED.given(applicationContext.getEnvironment()))
                .supply(() -> {
                    val twilio = casProperties.getAuthn().getMfa().getTwilio();
                    return new DefaultBucketConsumer(mfaTwilioMultifactorBucketStore, twilio.getBucket4j());
                })
                .otherwise(BucketConsumer::permitAll)
                .get();
        }
This is {@link CasTwilioMultifactorAuthenticationWebflowConfiguration}.

@author Misagh Moayyed
@since 7.2.0
support/cas-server-support-twilio-mfa/src/main/java/org/apereo/cas/config/CasTwilioMultifactorAuthenticationWebflowConfiguration.java