@ConditionalOnMissingBean(name = "samlProfileSamlAttributeStatementBuilder")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public SamlProfileObjectBuilder<AttributeStatement> samlProfileSamlAttributeStatementBuilder(
            final CasConfigurationProperties casProperties,
            @Qualifier("samlObjectEncrypter")
            final SamlIdPObjectEncrypter samlObjectEncrypter,
            @Qualifier("samlProfileSamlNameIdBuilder")
            final SamlProfileObjectBuilder<SAMLObject> samlProfileSamlNameIdBuilder,
            @Qualifier(OpenSamlConfigBean.DEFAULT_BEAN_NAME)
            final OpenSamlConfigBean openSamlConfigBean,
            @Qualifier("samlIdPServiceFactory")
            final ServiceFactory samlIdPServiceFactory,
            @Qualifier(AttributeDefinitionStore.BEAN_NAME)
            final AttributeDefinitionStore attributeDefinitionStore,
            @Qualifier("casSamlIdPMetadataResolver")
            final MetadataResolver casSamlIdPMetadataResolver) {
            return new SamlProfileSamlAttributeStatementBuilder(openSamlConfigBean,
                casProperties, samlObjectEncrypter,
                attributeDefinitionStore, samlIdPServiceFactory,
                samlProfileSamlNameIdBuilder, casSamlIdPMetadataResolver);
        }
The {@link SamlIdPConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-saml-idp/src/main/java/org/apereo/cas/config/SamlIdPConfiguration.java