@Bean
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    @ConditionalOnMissingBean(name = OidcFederationTrustChainResolver.BEAN_NAME)
    public OidcFederationTrustChainResolver oidcFederationTrustChainResolver(
        final ConfigurableApplicationContext applicationContext,
        final CasConfigurationProperties casProperties) {
        val trustChainResolvers = casProperties.getAuthn().getOidc().getFederation().getAuthorityHints()
            .stream()
            .map(EntityID::new)
            .map(TrustChainResolver::new)
            .collect(Collectors.toList());

        val resolvers = applicationContext.getBeansOfType(TrustChainResolver.class).values();
        trustChainResolvers.addAll(resolvers);

        return new OidcFederationDefaultTrustChainResolver(trustChainResolvers);
    }
This is {@link OidcFederationConfiguration}.

@author Misagh Moayyed
@since 7.3.0
support/cas-server-support-oidc/src/main/java/org/apereo/cas/config/OidcFederationConfiguration.java