@ConditionalOnMissingBean(name = "samlResponseBuilderConfigurationContext")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
        public SamlProfileSamlResponseBuilderConfigurationContext samlResponseBuilderConfigurationContext(
            final ConfigurableApplicationContext applicationContext,
            final CasConfigurationProperties casProperties,
            @Qualifier("casSamlIdPMetadataResolver")
            final MetadataResolver casSamlIdPMetadataResolver,
            @Qualifier(OpenSamlConfigBean.DEFAULT_BEAN_NAME)
            final OpenSamlConfigBean openSamlConfigBean,
            @Qualifier("samlObjectSigner")
            final SamlIdPObjectSigner samlObjectSigner,
            @Qualifier("velocityEngineFactory")
            final VelocityEngine velocityEngineFactory,
            @Qualifier("samlProfileSamlAssertionBuilder")
            final SamlProfileObjectBuilder<Assertion> samlProfileSamlAssertionBuilder,
            @Qualifier("samlObjectEncrypter")
            final SamlIdPObjectEncrypter samlObjectEncrypter,
            @Qualifier(CasCookieBuilder.BEAN_NAME_TICKET_GRANTING_COOKIE_BUILDER)
            final CasCookieBuilder ticketGrantingTicketCookieGenerator,
            @Qualifier(TicketRegistry.BEAN_NAME)
            final TicketRegistry ticketRegistry,
            @Qualifier("samlIdPDistributedSessionStore")
            final SessionStore samlIdPDistributedSessionStore,
            @Qualifier("samlArtifactMap")
            final SAMLArtifactMap samlArtifactMap,
            @Qualifier(TicketFactory.BEAN_NAME)
            final TicketFactory ticketFactory,
            @Qualifier(CentralAuthenticationService.BEAN_NAME)
            final CentralAuthenticationService centralAuthenticationService) {
            return SamlProfileSamlResponseBuilderConfigurationContext.builder()
                .applicationContext(applicationContext)
                .samlIdPMetadataResolver(casSamlIdPMetadataResolver)
                .openSamlConfigBean(openSamlConfigBean)
                .samlObjectSigner(samlObjectSigner)
                .velocityEngineFactory(velocityEngineFactory)
                .samlProfileSamlAssertionBuilder(samlProfileSamlAssertionBuilder)
                .samlObjectEncrypter(samlObjectEncrypter)
                .ticketGrantingTicketCookieGenerator(ticketGrantingTicketCookieGenerator)
                .ticketRegistry(ticketRegistry)
                .sessionStore(samlIdPDistributedSessionStore)
                .samlArtifactMap(samlArtifactMap)
                .centralAuthenticationService(centralAuthenticationService)
                .casProperties(casProperties)
                .ticketFactory(ticketFactory)
                .build();
        }
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