@Override
    public boolean supports(final HttpServletRequest request, final HttpServletResponse response) {
        val registeredService = WebUtils.getRegisteredService(request);
        if (registeredService instanceof final SamlRegisteredService samlRegisteredService) {
            val logout = configurationContext.getCasProperties().getAuthn().getSamlIdp().getLogout();
            val sloRequest = WebUtils.getSingleLogoutRequest(request);
            var async = false;
            if (StringUtils.isNotBlank(sloRequest)) {
                async = getLogoutRequest(request)
                    .map(RequestAbstractType::getExtensions)
                    .stream()
                    .filter(Objects::nonNull)
                    .anyMatch(extensions -> !extensions.getUnknownXMLObjects(Asynchronous.DEFAULT_ELEMENT_NAME).isEmpty());
            }
            return logout.isSendLogoutResponse()
                && samlRegisteredService.isLogoutResponseEnabled()
                && sloRequest != null
                && !async;
        }
        return false;
    }
This is {@link SamlIdPSingleLogoutRedirectionStrategy}.

@author Misagh Moayyed
@since 6.3.0
support/cas-server-support-saml-idp-web/src/main/java/org/apereo/cas/support/saml/web/idp/profile/slo/SamlIdPSingleLogoutRedirectionStrategy.java