@Bean
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    public TicketSerializationExecutionPlanConfigurer samlIdPTicketSerializationExecutionPlanConfigurer(
        final ConfigurableApplicationContext applicationContext) {
        return plan -> {
            plan.registerTicketSerializer(new SamlArtifactTicketStringSerializer(applicationContext));
            plan.registerTicketSerializer(new SamlAttributeQueryTicketStringSerializer(applicationContext));

            plan.registerTicketSerializer(SamlArtifactTicket.class.getName(), new SamlArtifactTicketStringSerializer(applicationContext));
            plan.registerTicketSerializer(SamlAttributeQueryTicket.class.getName(), new SamlAttributeQueryTicketStringSerializer(applicationContext));

            plan.registerTicketSerializer(SamlArtifactTicket.PREFIX, new SamlArtifactTicketStringSerializer(applicationContext));
            plan.registerTicketSerializer(SamlAttributeQueryTicket.PREFIX, new SamlAttributeQueryTicketStringSerializer(applicationContext));
        };
    }
This is {@link SamlIdPTicketSerializationConfiguration}.

@author Bob Sandiford
@since 5.2.0
support/cas-server-support-saml-idp/src/main/java/org/apereo/cas/config/SamlIdPTicketSerializationConfiguration.java