@Bean
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    @ConditionalOnMissingBean(name = "casTwilioMultifactorAuthenticationProvider")
    public MultifactorAuthenticationProvider casTwilioMultifactorAuthenticationProvider(
        @Qualifier("casTwilioMultifactorBypassEvaluator")
        final MultifactorAuthenticationProviderBypassEvaluator casTwilioMultifactorBypassEvaluator,
        @Qualifier("failureModeEvaluator")
        final MultifactorAuthenticationFailureModeEvaluator failureModeEvaluator,
        final CasConfigurationProperties casProperties) {
        val twilio = casProperties.getAuthn().getMfa().getTwilio();
        val provider = new CasTwilioMultifactorAuthenticationProvider();
        provider.setBypassEvaluator(casTwilioMultifactorBypassEvaluator);
        provider.setFailureMode(twilio.getFailureMode());
        provider.setFailureModeEvaluator(failureModeEvaluator);
        provider.setOrder(twilio.getRank());
        provider.setId(twilio.getId());
        return provider;
    }
This is {@link CasTwilioMultifactorAuthenticationEventExecutionPlanConfiguration}.

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