@Override
    public SingleLogoutMessage create(final SingleLogoutRequestContext request) throws Throwable {
        val configurationContext = configurationProvider.getObject();

        val builder = SingleLogoutMessage.builder();
        if (request.getLogoutType() == RegisteredServiceLogoutType.BACK_CHANNEL) {
            LOGGER.trace("Building logout token for [{}]", request.getRegisteredService());

            val claims = buildJwtClaims(request);
            val logoutToken = configurationContext.getIdTokenSigningAndEncryptionService()
                .encode((OAuthRegisteredService) request.getRegisteredService(), claims);
            return builder.payload(logoutToken).build();
        }
        return builder.payload(StringUtils.EMPTY).build();
    }
The message creator for the OIDC protocol.

@author Jerome LELEU
@since 6.2.0
support/cas-server-support-oidc-core-api/src/main/java/org/apereo/cas/oidc/slo/OidcSingleLogoutMessageCreator.java