@ConditionalOnMissingBean(name = "mfaTrustProviderSelectionCriteria")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public MultifactorProviderSelectionCriteria mfaTrustProviderSelectionCriteria(
            final CasConfigurationProperties casProperties,
            @Qualifier("deviceFingerprintCookieGenerator")
            final CasCookieBuilder deviceFingerprintCookieGenerator,
            @Qualifier(ServicesManager.BEAN_NAME)
            final ServicesManager servicesManager,
            @Qualifier(MultifactorAuthenticationTrustStorage.BEAN_NAME)
            final MultifactorAuthenticationTrustStorage mfaTrustEngine,
            @Qualifier("mfaTrustDeviceNamingStrategy")
            final MultifactorAuthenticationTrustedDeviceNamingStrategy mfaTrustDeviceNamingStrategy,
            @Qualifier("deviceFingerprintStrategy")
            final DeviceFingerprintStrategy deviceFingerprintStrategy) {
            return new MultifactorAuthenticationTrustProviderSelectionCriteria(servicesManager,
                mfaTrustEngine, mfaTrustDeviceNamingStrategy, deviceFingerprintStrategy, deviceFingerprintCookieGenerator, casProperties);
        }
This is {@link MultifactorAuthnTrustWebflowConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-trusted-mfa/src/main/java/org/apereo/cas/config/MultifactorAuthnTrustWebflowConfiguration.java