@Bean
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    @ConditionalOnMissingBean(name = "identityProviderDiscoveryFeedService")
    public SamlIdentityProviderDiscoveryFeedService identityProviderDiscoveryFeedService(
        final ObjectProvider<List<DelegatedClientIdentityProviderAuthorizer>> delegatedClientAuthorizers,
        @Qualifier("samlIdentityProviderEntityParser")
        final BeanContainer<SamlIdentityProviderEntityParser> samlIdentityProviderEntityParser,
        final CasConfigurationProperties casProperties,
        @Qualifier(DelegatedIdentityProviders.BEAN_NAME)
        final DelegatedIdentityProviders identityProviders,
        @Qualifier(ArgumentExtractor.BEAN_NAME)
        final ArgumentExtractor argumentExtractor) {

        val authorizers = Optional.ofNullable(delegatedClientAuthorizers.getIfAvailable())
            .orElseGet(ArrayList::new)
            .stream()
            .filter(BeanSupplier::isNotProxy)
            .collect(Collectors.toList());
        return new DefaultSamlIdentityProviderDiscoveryFeedService(casProperties,
            samlIdentityProviderEntityParser.toList(),
            identityProviders, argumentExtractor, authorizers);
    }
This is {@link CasSamlIdentityProviderDiscoveryAutoConfiguration}.

@author Misagh Moayyed
@since 6.1.0
support/cas-server-support-saml-idp-discovery/src/main/java/org/apereo/cas/config/CasSamlIdentityProviderDiscoveryAutoConfiguration.java