@Override
    protected Collection<SingleLogoutRequestContext> createLogoutRequests(final String ticketId,
                                                                          final WebApplicationService selectedService,
                                                                          final RegisteredService registeredService,
                                                                          final Collection<SingleLogoutUrl> logoutUrls,
                                                                          final SingleLogoutExecutionRequest context) {
        return logoutUrls
            .stream()
            .map(url -> {
                var newSloUrl = url;
                val logoutType = url.getLogoutType();
                if (logoutType == RegisteredServiceLogoutType.FRONT_CHANNEL) {
                    var newUrl = CommonHelper.addParameter(url.getUrl(), ReservedClaimNames.ISSUER,
                        issuerService.determineIssuer(Optional.empty()));
                    newUrl = CommonHelper.addParameter(newUrl, OidcConstants.CLAIM_SESSION_ID,
                        DigestUtils.sha(context.getTicketGrantingTicket().getId()));
                    newSloUrl = new SingleLogoutUrl(newUrl, logoutType);
                }
                return createLogoutRequest(ticketId, selectedService, registeredService, newSloUrl, context);
            })
            .filter(Objects::nonNull)
            .collect(Collectors.toList());
    }
The message handler 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/OidcSingleLogoutServiceMessageHandler.java