CAS Single Signout not working
<p>I have done the below changes to enable single signout:</p>

<pre><code>1. Add org.jasig.cas.client.session.SingleSignOutFilter as the first filter in filter chain.
2. Include org.jasig.cas.client.session.SingleSignOutHttpSessionListener in web.xml
</code></pre>

<p>But client sessions are not invalidated. Do you know why?</p>

<p>This is my server log which indicates that the server is sending logout requests to both the clients:</p>

<pre><code>181 DEBUG [org.jasig.cas.util.TGCCipherExecutor] - &lt;Successfully decoded value. Result in Base64-encoding is [ZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1USTRRMEpETFVoVE1qVTJJbjAuLjkzeTVhNFJkc2N0WTlPdXhWOVlMWHcuaVZVSUlfdWpwMlo2UmJXZnFQR05BUXd2cW1lS3RuRlljbGNfZlFGclZSWGN1Y05qVXp2UC1LTW5OT3JfYUNTbzc1SWc5TDg4YS1lTlBsSlQ2MnUzUi1ILVplLW1iQTFFQ0I4RDY1am51WHR6R3h3RzA2b0tXS3FyQmxhNFh3amtkNEpqQzhneEFONlJ1Sk1aZEY3ZGg1cGVnSGo5ZklIdVVETjM5TC1WVk5VeTgzTXpORFlqYzJJMjZUMTJ5dGIwVTlpbXFTQ056dTVybFZDaW9XNnBqWC14VU1mQ01RSTd4MTVCOEhrWmxFZ2xUX2gzTnpnSjgtX3ZtczUweFBFZmJ2UjF1eHNCX0FTRWdMd2gwSTFCZlEub2JzcGFOVk1CcWNxWk1CZWtCeGJIQQ==]&gt;
181 DEBUG [org.jasig.cas.util.TGCCipherExecutor] - &lt;Decrypting value...&gt;
182 DEBUG [org.jasig.cas.web.support.DefaultCasCookieValueManager] - &lt;Decoded cookie value is [TGT-**********************************************xO0zbG1hVN-cas01.example.org@0:0:0:0:0:0:0:1@Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36]&gt;
183 DEBUG [org.jasig.cas.CentralAuthenticationServiceImpl] - &lt;Removing ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org] from registry...&gt;
183 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] - &lt;Attempting to retrieve ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org]&gt;
183 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] - &lt;Ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org] found in registry.&gt;
184 DEBUG [org.jasig.cas.CentralAuthenticationServiceImpl] - &lt;Ticket found. Processing logout requests and then deleting the ticket...&gt;
185 DEBUG [org.jasig.cas.logout.SamlCompliantLogoutMessageCreator] - &lt;Generated logout message: [&lt;samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-5-XbgucCuIidiGsh1TjFeEcwsWKSUqIWk7oCw" Version="2.0" IssueInstant="2016-08-11T13:00:17Z"&gt;&lt;saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"&gt;@NOT_USED@&lt;/saml:NameID&gt;&lt;samlp:SessionIndex&gt;ST-6-JkoiXK3anY5RQKZwgJYB-cas01.example.org&lt;/samlp:SessionIndex&gt;&lt;/samlp:LogoutRequest&gt;]&gt;
185 DEBUG [org.jasig.cas.logout.LogoutManagerImpl] - &lt;Sending logout request for: [https://localhost:8443/test/newviews/home.xhtml]&gt;
187 DEBUG [org.jasig.cas.logout.LogoutManagerImpl] - &lt;Prepared logout message to send is [org.jasig.cas.logout.LogoutManagerImpl$LogoutHttpMessage@6dfc3c30[url=https://localhost:8443/test/newviews/home.xhtml,message=&lt;samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-5-XbgucCuIidiGsh1TjFeEcwsWKSUqIWk7oCw" Version="2.0" IssueInstant="2016-08-11T13:00:17Z"&gt;&lt;saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"&gt;@NOT_USED@&lt;/saml:NameID&gt;&lt;samlp:SessionIndex&gt;ST-6-JkoiXK3anY5RQKZwgJYB-cas01.example.org&lt;/samlp:SessionIndex&gt;&lt;/samlp:LogoutRequest&gt;,asynchronous=true,contentType=application/x-www-form-urlencoded]]&gt;
188 DEBUG [org.jasig.cas.logout.LogoutManagerImpl] - &lt;Captured logout request [org.jasig.cas.logout.DefaultLogoutRequest@30c9f96b[ticketId=ST-6-JkoiXK3anY5RQKZwgJYB-cas01.example.org,service=https://localhost:8443/test/newviews/home.xhtml,status=SUCCESS]]&gt;
189 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Connecting socket to localhost/127.0.0.1:8443 with timeout 5000&gt;
191 DEBUG [org.jasig.cas.logout.SamlCompliantLogoutMessageCreator] - &lt;Generated logout message: [&lt;samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-6-DgpO6cQ1ySIrFlAKjmLctLfSdVgkqUoQOI9" Version="2.0" IssueInstant="2016-08-11T13:00:17Z"&gt;&lt;saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"&gt;@NOT_USED@&lt;/saml:NameID&gt;&lt;samlp:SessionIndex&gt;ST-7-RhZCrItuoTVLcaJv2rdC-cas01.example.org&lt;/samlp:SessionIndex&gt;&lt;/samlp:LogoutRequest&gt;]&gt;
191 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Enabled protocols: [TLSv1, TLSv1.1, TLSv1.2]&gt;
191 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Enabled cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]&gt;
191 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Starting handshake&gt;
191 DEBUG [org.jasig.cas.logout.LogoutManagerImpl] - &lt;Sending logout request for: [https://localhost:7443/cas-sample/secure/index.jsp]&gt;
191 DEBUG [org.jasig.cas.logout.LogoutManagerImpl] - &lt;Prepared logout message to send is [org.jasig.cas.logout.LogoutManagerImpl$LogoutHttpMessage@68a12efb[url=https://localhost:7443/cas-sample/secure/index.jsp,message=&lt;samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-6-DgpO6cQ1ySIrFlAKjmLctLfSdVgkqUoQOI9" Version="2.0" IssueInstant="2016-08-11T13:00:17Z"&gt;&lt;saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"&gt;@NOT_USED@&lt;/saml:NameID&gt;&lt;samlp:SessionIndex&gt;ST-7-RhZCrItuoTVLcaJv2rdC-cas01.example.org&lt;/samlp:SessionIndex&gt;&lt;/samlp:LogoutRequest&gt;,asynchronous=true,contentType=application/x-www-form-urlencoded]]&gt;
193 DEBUG [org.jasig.cas.logout.LogoutManagerImpl] - &lt;Captured logout request [org.jasig.cas.logout.DefaultLogoutRequest@7a9049cf[ticketId=ST-7-RhZCrItuoTVLcaJv2rdC-cas01.example.org,service=https://localhost:7443/cas-sample/secure/index.jsp,status=SUCCESS]]&gt;
194 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Connecting socket to localhost/127.0.0.1:7443 with timeout 5000&gt;
194 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] - &lt;Attempting to retrieve ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org]&gt;
194 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Secure session established&gt;
194 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt; negotiated protocol: TLSv1.2&gt;
194 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt; negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256&gt;
194 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt; peer principal: CN=localhost, OU=IT, O=xxxx, L=xxxx, ST=xxxx, C=xxxx&gt;
194 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt; issuer principal: CN=localhost, OU=IT, O=xxxx, L=xxxx, ST=xxxx, C=xxxx&gt;
194 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] - &lt;Ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org] found in registry.&gt;
195 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] - &lt;Removing children of ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org] from the registry.&gt;
195 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] - &lt;Removing ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org] from the registry.&gt;
196 DEBUG [org.jasig.cas.CentralAuthenticationServiceImpl] - &lt;Publishing org.jasig.cas.support.events.CasTicketGrantingTicketDestroyedEvent@1a5ff277[ticketGrantingTicket=TGT-**********************************************xO0zbG1hVN-cas01.example.org]&gt;
197 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Enabled protocols: [TLSv1, TLSv1.1, TLSv1.2]&gt;
197 DEBUG [org.jasig.cas.audit.spi.AssertionAsReturnValuePrincipalResolver] - &lt;Trying to see if target's return value is instance of [Assertion]...&gt;
197 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Enabled cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]&gt;
197 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Starting handshake&gt;
197 DEBUG [org.jasig.cas.audit.spi.AssertionAsReturnValuePrincipalResolver] - &lt;Resolving principal from the delegate principal resolver: [org.jasig.cas.audit.spi.TicketOrCredentialPrincipalResolver@247e35d8]...&gt;
198 DEBUG [org.jasig.cas.audit.spi.TicketOrCredentialPrincipalResolver] - &lt;Resolving argument [String] for audit&gt;
198 DEBUG [org.jasig.cas.ticket.registry.DefaultTicketRegistry] - &lt;Attempting to retrieve ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org]&gt;
199 DEBUG [org.jasig.cas.CentralAuthenticationServiceImpl] - &lt;Ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org] by type [Ticket] cannot be found in the ticket registry.&gt;
202 DEBUG [org.jasig.cas.audit.spi.TicketOrCredentialPrincipalResolver] - &lt;Could not locate ticket [TGT-**********************************************xO0zbG1hVN-cas01.example.org] in the registry&gt;
202 DEBUG [org.jasig.cas.audit.spi.AssertionAsReturnValuePrincipalResolver] - &lt;Meaningful principal id could not be resolved by [org.jasig.cas.audit.spi.AssertionAsReturnValuePrincipalResolver@6e9c9d27]. Returning [audit:unknown]...&gt;
203 INFO [org.jasig.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - &lt;Audit trail record BEGIN
INFO   | jvm 1    | 2016/08/11 13:00:17 | =============================================================
INFO   | jvm 1    | 2016/08/11 13:00:17 | WHO: audit:unknown
INFO   | jvm 1    | 2016/08/11 13:00:17 | WHAT: TGT-**********************************************xO0zbG1hVN-cas01.example.org
INFO   | jvm 1    | 2016/08/11 13:00:17 | ACTION: TICKET_GRANTING_TICKET_DESTROYED
INFO   | jvm 1    | 2016/08/11 13:00:17 | APPLICATION: CAS
INFO   | jvm 1    | 2016/08/11 13:00:17 | WHEN: Thu Aug 11 13:00:17 EDT 2016
INFO   | jvm 1    | 2016/08/11 13:00:17 | CLIENT IP ADDRESS: 0:0:0:0:0:0:0:1
INFO   | jvm 1    | 2016/08/11 13:00:17 | SERVER IP ADDRESS: 0:0:0:0:0:0:0:1
INFO   | jvm 1    | 2016/08/11 13:00:17 | =============================================================
INFO   | jvm 1    | 2016/08/11 13:00:17 | 
INFO   | jvm 1    | 2016/08/11 13:00:17 | &gt;
203 DEBUG [org.jasig.cas.web.support.TGCCookieRetrievingCookieGenerator] - &lt;Removed cookie with name [TGC]&gt;
203 DEBUG [org.jasig.cas.web.WarningCookieRetrievingCookieGenerator] - &lt;Removed cookie with name [CASPRIVACY]&gt;
206 DEBUG [org.jasig.cas.services.web.RegisteredServiceThemeBasedViewResolver] - &lt;View resolved: /WEB-INF/view/jsp/default/ui/casLogoutView.jsp&gt;
210 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt;Secure session established&gt;
210 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt; negotiated protocol: TLSv1.2&gt;
210 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt; negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256&gt;
210 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt; peer principal: CN=localhost, OU=IT, O=xxxx, L=xxxx, ST=xxxx, C=xxxx&gt;
210 DEBUG [org.jasig.cas.authentication.FileTrustStoreSslSocketFactory] - &lt; issuer principal: CN=localhost, OU=IT, O=xxxx, L=xxxx, ST=xxxx, C=xxxx&gt;
</code></pre>

<p>During my further analysis, I changed SLO callbacks to synchronous.</p>

<pre><code>slo.callbacks.asynchronous=false
</code></pre>

<p>Now I get <code>WARN [org.jasig.cas.logout.LogoutManagerImpl] - &lt;Logout message not sent to [https://localhost:8443/test/newviews/home.xhtml]; Continuing processing...&gt;</code></p>

<p>So that means the logout messages were not sent to clients. I also noticed that there are no org.jasig.cas.util.SimpleHttpClient entries in my logs. I think this is the issue. Any suggestions to correct this?</p>