Hi
My team is working with CAS (5.2.3) and delegated SAML authentication via pac4j libraries. What we have so far:
1. 3 separate services, each is configured through spring to authenticate with CAS.
2. CAS is configured to delegate authentication to SAML IDP via cas.properties config
3. We extended the ClientAuthenticationHandler with small changes and registered it through a @Configuration class.
With this basic setup, we are able to get the SSO to work correctly across the services, against okta sample IDP, with a flow similar to this:
SP -> CAS -> Delegate Authentication -> Redirect to IDP -> Input credentials -> IDP returns SAML response -> CasAuthenticationFilter finishes the authentication and ST issuing -> System redirects the original ‘service’ url.
However, we are trying to get single logout (SLO) to work with the existing framework, we got no luck.
It appears the system only logging out the local service, but not other services.
What we have at the moment:
For each of the service module, we have the following configured:
1. LogoutFilter via spring bean
2. SingleSignOutFilter via web.xml or spring bean
3. SingleSignOutHttpSessionListener in web.xml
Also we have ServiceRegistry json with logoutType: BACK_CHANNEL
spring config
<http use-expressions="true" entry-point-ref="casAuthenticationEntryPoint">
<intercept-url pattern="/resources/**" access="permitAll" />
<intercept-url pattern="/manifest" access="permitAll" method="GET" />
<intercept-url pattern="/**" access="isAuthenticated()" />
<!-- enable csrf protection -->
<csrf disabled="true" />
<custom-filter ref="requestSingleLogoutFilter" before="LOGOUT_FILTER" />
<custom-filter ref="singleLogoutFilter" before="CAS_FILTER" />
<custom-filter ref="casAuthenticationFilter" after="CAS_FILTER" />
</http>
<bean id="singleLogoutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter"
p:ignoreInitConfiguration="true" ß-----not sure if we need this
p:casServerUrlPrefix="${cas.server.app}/" />
<bean id="requestSingleLogoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter"
p:filterProcessesUrl="/logout/cas/" >
<constructor-arg value="${cas.server.app}/logout?service=${calendar.client.app}/" />
<constructor-arg>
<bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler"></bean>
</constructor-arg>
</bean>
In web.xml of each module, we have:
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
service registry:
{
"@class": "org.apereo.cas.services.RegexRegisteredService",
"serviceId": "^(http|https|imaps)://.*",
"name": "HTTPS and IMAPS",
"id": 10000001,
"description": "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
"evaluationOrder": 1,
"logoutType" : "BACK_CHANNEL",
….
Problem:
When we issue a logout via: https://localhost:8443/platformadmin/logout/cas/ , we see the LogoutFilter is triggered and in doFilter() session is invalidated.
SingleSignOutHttpSessionListener#sessionDestroy() is immediately triggered after.
Then SingleLogoutFilter is triggered, in which SingleSignoutHandler#process(..) method, BACK_CHANNEL logout is triggered.
In the console log however, I only see the ST of the current service (platformadmin) is destroyed.
If we access any modules other than platformadmin, we are directed to the app automatically.
It seems we are only logged out of the current service modules (local logout), but didn’t logout from the other service modules.
What configuration are we missing? I see posts in this group where they have SLO working,
We'd much appreciate if someone could provide a summary of their configuration.
Please let us know if you have any advices
Thanks!
--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+unsubscribe@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/43525944-da4f-4891-ae95-3f81eb7f07c0%40apereo.org.
@Override
protected Event doExecute(final RequestContext requestContext) {
try {
final HttpServletRequest request = WebUtils.getHttpServletRequestFromExternalWebflowContext(requestContext);
final HttpServletResponse response = WebUtils.getHttpServletResponseFromExternalWebflowContext(requestContext);
final J2EContext context = Pac4jUtils.getPac4jJ2EContext(request, response);
Client<?, ?> client;
try {
final String currentClientName = findCurrentClientName(context); //<-----------this is returning null, but we are overwriting this value in debug mode at the moment. likely something missed in the sso authentication flow.
client = (currentClientName == null) ? null : clients.findClient(currentClientName); //<-----------client is retrieved correctly
} catch(final TechnicalException e) {
// this exception indicates that the SAML2Client is not in the list
LOGGER.debug("No SAML2 client found");
client = null;
}
// Call logout on SAML2 clients only
if (client instanceof SAML2Client) {
final SAML2Client saml2Client = (SAML2Client) client;
LOGGER.debug("Located SAML2 client [{}]", saml2Client);
final RedirectAction action = saml2Client.getLogoutAction(context, null, null); //<-----------we see the correct slo url is generated here in the format https://<okta samlapp url>/slo/saml?SAMLRequest=....
LOGGER.debug("Preparing logout message to send is [{}]", action.getLocation());
action.perform(context); //<-----------this is executed without exception
} else {
LOGGER.debug("The current client is not a SAML2 client or it cannot be found at all, no logout action will be executed.");
}
} catch (final Exception e) {
LOGGER.warn(e.getMessage(), e);
}
return null;
}
-- Ray Bon Programmer analyst Development Services, University Systems 2507218831 | CLE 019 | rb...@uvic.ca
Thanks Ray,Apologizes I went to finish other tasks first, now this logout is pretty much the only piece remainingBelow is the output of a logout action. we currently have 3 SP modules deployed:
- calendar
- platformadmin
- user-api
After the logout, all 3 modules are logged from their session, but the user is not logged from IDP.2018-04-09 10:48:46,469 DEBUG [org.apereo.cas.util.EncodingUtils] - <Decrypting value...>2018-04-09 10:48:46,470 DEBUG [org.apereo.cas.web.support.DefaultCasCookieValueManager] - <Decoded cookie value is [TGT-1-rFbC-nomL1ZmEYpjvWvciFTKZ9M1vfOTYNFH...@127.0.0.1@Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36]>2018-04-09 10:48:46,470 DEBUG [org.apereo.cas.web.flow.TerminateSessionAction] - <Destroying SSO session linked to ticket-granting ticket [TGT-1-rFbC-nomL1ZmEYpjvWvciFTKZ9M1vfOTYNFHDbYyyimzstc98SE9X-1420SX91P-90A-ca-dev-dt43]>2018-04-09 10:48:46,470 DEBUG [org.apereo.cas.authentication.PseudoPlatformTransactionManager] - <Creating new transaction with name [org.apereo.cas.DefaultCentralAuthenticationService.destroyTicketGrantingTicket]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; 'ticketTransactionManager'>2018-04-09 10:48:46,470 DEBUG [org.apereo.cas.DefaultCentralAuthenticationService] - <Removing ticket [TGT-1-rFbC-nomL1ZmEYpjvWvciFTKZ9M1vfOTYNFHDbYyyimzstc98SE9X-1420SX91P-90A-ca-dev-dt43] from registry...>2018-04-09 10:48:46,470 DEBUG [org.apereo.cas.DefaultCentralAuthenticationService] - <Ticket found. Processing logout requests and then deleting the ticket...>2018-04-09 10:48:46,471 INFO [org.apereo.cas.logout.DefaultLogoutManager] - <Performing logout operations for [TGT-1-rFbC-nomL1ZmEYpjvWvciFTKZ9M1vfOTYNFHDbYyyimzstc98SE9X-1420SX91P-90A-ca-dev-dt43]>2018-04-09 10:48:46,476 DEBUG [org.apereo.cas.logout.DefaultLogoutManager] - <Handling single logout callback for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,476 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Processing logout request for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]...>2018-04-09 10:48:46,477 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] supports single logout and is found in the registry as [id=1,name=HTTPS and IMAPS,description=This service definition authorizes all application urls that support HTTPS and IMAPS protocols.,serviceId=^(http|https|imaps)://.*,usernameAttributeProvider=org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider@d,theme=<null>,evaluationOrder=1,logoutType=BACK_CHANNEL,attributeReleasePolicy=org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy@6f4230be[attributeFilter=<null>,principalAttributesRepository=org.apereo.cas.authentication.principal.DefaultPrincipalAttributesRepository@5c14927e[],authorizedToReleaseCredentialPassword=false,authorizedToReleaseAuthenticationAttributes=true,authorizedToReleaseProxyGrantingTicket=false,excludeDefaultAttributes=false,principalIdAttribute=<null>,consentPolicy=org.apereo.cas.services.consent.DefaultRegisteredServiceConsentPolicy@4b8d9d7f[excludedAttributes=<null>,includeOnlyAttributes=<null>,enabled=true],allowedAttributes=[]],accessStrategy=org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy@4f985406[enabled=true,ssoEnabled=true,requireAllAttributes=true,requiredAttributes={},unauthorizedRedirectUrl=<null>,caseInsensitive=false,rejectedAttributes={}],publicKey=<null>,proxyPolicy=org.apereo.cas.services.RefuseRegisteredServiceProxyPolicy@619ec8ca,logo=<null>,logoutUrl=<null>,requiredHandlers=[],properties={},multifactorPolicy=org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy@31a14a8b[multifactorAuthenticationProviders=[],failureMode=NOT_SET,principalAttributeNameTrigger=<null>,principalAttributeValueToMatch=<null>,bypassEnabled=false],informationUrl=<null>,privacyUrl=<null>,contacts=[],expirationPolicy=org.apereo.cas.services.DefaultRegisteredServiceExpirationPolicy@49dea9a3[deleteWhenExpired=false,notifyWhenDeleted=false,expirationDate=<null>],<null>]. Proceeding...>2018-04-09 10:48:46,477 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceLogoutUrlBuilder] - <Logout request will be sent to [https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/] for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,477 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Prepared logout url [https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/] for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,477 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Creating logout request for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] and ticket id [ST-3-j8U9yYSWKezbaw9v96O8-EQXYsI-ca-dev-dt43]>2018-04-09 10:48:46,497 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Logout request [org.apereo.cas.logout.DefaultLogoutRequest@57bb486b[ticketId=ST-3-j8U9yYSWKezbaw9v96O8-EQXYsI-ca-dev-dt43,service=org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML],status=NOT_ATTEMPTED]] created for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] and ticket id [ST-3-j8U9yYSWKezbaw9v96O8-EQXYsI-ca-dev-dt43]>2018-04-09 10:48:46,497 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Logout type registered for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] is [BACK_CHANNEL]>2018-04-09 10:48:46,498 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Creating back-channel logout request based on [org.apereo.cas.logout.DefaultLogoutRequest@57bb486b[ticketId=ST-3-j8U9yYSWKezbaw9v96O8-EQXYsI-ca-dev-dt43,service=org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@77c7f4eb[id=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML],status=NOT_ATTEMPTED]]>2018-04-09 10:48:46,518 DEBUG [org.apereo.cas.logout.SamlCompliantLogoutMessageCreator] - <Generated logout message: [<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-1-LbINYEkWrKUlao1gg1J0gfFG" Version="2.0" IssueInstant="2018-04-09T10:48:46Z"><saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">@NOT_USED@</saml:NameID><samlp:SessionIndex>ST-3-j8U9yYSWKezbaw9v96O8-EQXYsI-ca-dev-dt43</samlp:SessionIndex></samlp:LogoutRequest>]>2018-04-09 10:48:46,518 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Preparing logout request for [https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/] to [https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/]>2018-04-09 10:48:46,612 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Prepared logout message to send is [org.apereo.cas.logout.LogoutHttpMessage@224f39ce[url=https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/,message=<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-1-LbINYEkWrKUlao1gg1J0gfFG" Version="2.0" IssueInstant="2018-04-09T10:48:46Z"><saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">@NOT_USED@</saml:NameID><samlp:SessionIndex>ST-3-j8U9yYSWKezbaw9v96O8-EQXYsI-ca-dev-dt43</samlp:SessionIndex></samlp:LogoutRequest>,asynchronous=true,contentType=application/x-www-form-urlencoded,responseCode=0]]. Sending...>2018-04-09 10:48:46,625 DEBUG [org.apereo.cas.util.http.SimpleHttpClient] - <Created HTTP post message payload [POST https://ca-dev-dt43.dev.crosscap.com:8443/calendar/login/cas/ HTTP/1.1]>2018-04-09 10:48:46,633 DEBUG [org.apereo.cas.logout.DefaultLogoutManager] - <Handling single logout callback for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,633 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Processing logout request for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]...>2018-04-09 10:48:46,633 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] supports single logout and is found in the registry as [id=1,name=HTTPS and IMAPS,description=This service definition authorizes all application urls that support HTTPS and IMAPS protocols.,serviceId=^(http|https|imaps)://.*,usernameAttributeProvider=org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider@d,theme=<null>,evaluationOrder=1,logoutType=BACK_CHANNEL,attributeReleasePolicy=org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy@6f4230be[attributeFilter=<null>,principalAttributesRepository=org.apereo.cas.authentication.principal.DefaultPrincipalAttributesRepository@5c14927e[],authorizedToReleaseCredentialPassword=false,authorizedToReleaseAuthenticationAttributes=true,authorizedToReleaseProxyGrantingTicket=false,excludeDefaultAttributes=false,principalIdAttribute=<null>,consentPolicy=org.apereo.cas.services.consent.DefaultRegisteredServiceConsentPolicy@4b8d9d7f[excludedAttributes=<null>,includeOnlyAttributes=<null>,enabled=true],allowedAttributes=[]],accessStrategy=org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy@4f985406[enabled=true,ssoEnabled=true,requireAllAttributes=true,requiredAttributes={},unauthorizedRedirectUrl=<null>,caseInsensitive=false,rejectedAttributes={}],publicKey=<null>,proxyPolicy=org.apereo.cas.services.RefuseRegisteredServiceProxyPolicy@619ec8ca,logo=<null>,logoutUrl=<null>,requiredHandlers=[],properties={},multifactorPolicy=org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy@31a14a8b[multifactorAuthenticationProviders=[],failureMode=NOT_SET,principalAttributeNameTrigger=<null>,principalAttributeValueToMatch=<null>,bypassEnabled=false],informationUrl=<null>,privacyUrl=<null>,contacts=[],expirationPolicy=org.apereo.cas.services.DefaultRegisteredServiceExpirationPolicy@49dea9a3[deleteWhenExpired=false,notifyWhenDeleted=false,expirationDate=<null>],<null>]. Proceeding...>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceLogoutUrlBuilder] - <Logout request will be sent to [https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/] for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Prepared logout url [https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/] for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Creating logout request for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] and ticket id [ST-1-YDJa9sviT8B4b4arci0kun1fsKY-ca-dev-dt43]>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Logout request [org.apereo.cas.logout.DefaultLogoutRequest@6dca6c59[ticketId=ST-1-YDJa9sviT8B4b4arci0kun1fsKY-ca-dev-dt43,service=org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML],status=NOT_ATTEMPTED]] created for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] and ticket id [ST-1-YDJa9sviT8B4b4arci0kun1fsKY-ca-dev-dt43]>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Logout type registered for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] is [BACK_CHANNEL]>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Creating back-channel logout request based on [org.apereo.cas.logout.DefaultLogoutRequest@6dca6c59[ticketId=ST-1-YDJa9sviT8B4b4arci0kun1fsKY-ca-dev-dt43,service=org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@715df035[id=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML],status=NOT_ATTEMPTED]]>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.SamlCompliantLogoutMessageCreator] - <Generated logout message: [<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-2-4dhucG-ZvdihfzLTYzTSiGRk" Version="2.0" IssueInstant="2018-04-09T10:48:46Z"><saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">@NOT_USED@</saml:NameID><samlp:SessionIndex>ST-1-YDJa9sviT8B4b4arci0kun1fsKY-ca-dev-dt43</samlp:SessionIndex></samlp:LogoutRequest>]>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Preparing logout request for [https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/] to [https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/]>2018-04-09 10:48:46,634 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Prepared logout message to send is [org.apereo.cas.logout.LogoutHttpMessage@66c728cd[url=https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/,message=<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-2-4dhucG-ZvdihfzLTYzTSiGRk" Version="2.0" IssueInstant="2018-04-09T10:48:46Z"><saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">@NOT_USED@</saml:NameID><samlp:SessionIndex>ST-1-YDJa9sviT8B4b4arci0kun1fsKY-ca-dev-dt43</samlp:SessionIndex></samlp:LogoutRequest>,asynchronous=true,contentType=application/x-www-form-urlencoded,responseCode=0]]. Sending...>2018-04-09 10:48:46,636 DEBUG [org.apereo.cas.util.http.SimpleHttpClient] - <Created HTTP post message payload [POST https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/login/cas/ HTTP/1.1]>2018-04-09 10:48:46,636 DEBUG [org.apereo.cas.logout.DefaultLogoutManager] - <Handling single logout callback for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,636 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Processing logout request for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]...>2018-04-09 10:48:46,637 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] supports single logout and is found in the registry as [id=1,name=HTTPS and IMAPS,description=This service definition authorizes all application urls that support HTTPS and IMAPS protocols.,serviceId=^(http|https|imaps)://.*,usernameAttributeProvider=org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider@d,theme=<null>,evaluationOrder=1,logoutType=BACK_CHANNEL,attributeReleasePolicy=org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy@6f4230be[attributeFilter=<null>,principalAttributesRepository=org.apereo.cas.authentication.principal.DefaultPrincipalAttributesRepository@5c14927e[],authorizedToReleaseCredentialPassword=false,authorizedToReleaseAuthenticationAttributes=true,authorizedToReleaseProxyGrantingTicket=false,excludeDefaultAttributes=false,principalIdAttribute=<null>,consentPolicy=org.apereo.cas.services.consent.DefaultRegisteredServiceConsentPolicy@4b8d9d7f[excludedAttributes=<null>,includeOnlyAttributes=<null>,enabled=true],allowedAttributes=[]],accessStrategy=org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy@4f985406[enabled=true,ssoEnabled=true,requireAllAttributes=true,requiredAttributes={},unauthorizedRedirectUrl=<null>,caseInsensitive=false,rejectedAttributes={}],publicKey=<null>,proxyPolicy=org.apereo.cas.services.RefuseRegisteredServiceProxyPolicy@619ec8ca,logo=<null>,logoutUrl=<null>,requiredHandlers=[],properties={},multifactorPolicy=org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy@31a14a8b[multifactorAuthenticationProviders=[],failureMode=NOT_SET,principalAttributeNameTrigger=<null>,principalAttributeValueToMatch=<null>,bypassEnabled=false],informationUrl=<null>,privacyUrl=<null>,contacts=[],expirationPolicy=org.apereo.cas.services.DefaultRegisteredServiceExpirationPolicy@49dea9a3[deleteWhenExpired=false,notifyWhenDeleted=false,expirationDate=<null>],<null>]. Proceeding...>2018-04-09 10:48:46,637 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceLogoutUrlBuilder] - <Logout request will be sent to [https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/] for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,637 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Prepared logout url [https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/] for service [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]]>2018-04-09 10:48:46,637 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Creating logout request for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] and ticket id [ST-2-DnO-sHlxfAgVZ3fDbfTdZR-1NsI-ca-dev-dt43]>2018-04-09 10:48:46,637 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Logout request [org.apereo.cas.logout.DefaultLogoutRequest@6c78b7d1[ticketId=ST-2-DnO-sHlxfAgVZ3fDbfTdZR-1NsI-ca-dev-dt43,service=org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML],status=NOT_ATTEMPTED]] created for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] and ticket id [ST-2-DnO-sHlxfAgVZ3fDbfTdZR-1NsI-ca-dev-dt43]>2018-04-09 10:48:46,637 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Logout type registered for [org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML]] is [BACK_CHANNEL]>2018-04-09 10:48:46,637 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Creating back-channel logout request based on [org.apereo.cas.logout.DefaultLogoutRequest@6c78b7d1[ticketId=ST-2-DnO-sHlxfAgVZ3fDbfTdZR-1NsI-ca-dev-dt43,service=org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl@1b58e17f[id=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,originalUrl=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,artifactId=<null>,principal=z...@crosscap.com|crosscapdev,loggedOutAlready=false,format=XML],status=NOT_ATTEMPTED]]>2018-04-09 10:48:46,638 DEBUG [org.apereo.cas.logout.SamlCompliantLogoutMessageCreator] - <Generated logout message: [<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-3-GTdAHeNvXTCyjYcI5ZiDRNVI" Version="2.0" IssueInstant="2018-04-09T10:48:46Z"><saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">@NOT_USED@</saml:NameID><samlp:SessionIndex>ST-2-DnO-sHlxfAgVZ3fDbfTdZR-1NsI-ca-dev-dt43</samlp:SessionIndex></samlp:LogoutRequest>]>2018-04-09 10:48:46,638 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Preparing logout request for [https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/] to [https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/]>2018-04-09 10:48:46,638 DEBUG [org.apereo.cas.logout.DefaultSingleLogoutServiceMessageHandler] - <Prepared logout message to send is [org.apereo.cas.logout.LogoutHttpMessage@52eea6a3[url=https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/,message=<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="LR-3-GTdAHeNvXTCyjYcI5ZiDRNVI" Version="2.0" IssueInstant="2018-04-09T10:48:46Z"><saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">@NOT_USED@</saml:NameID><samlp:SessionIndex>ST-2-DnO-sHlxfAgVZ3fDbfTdZR-1NsI-ca-dev-dt43</samlp:SessionIndex></samlp:LogoutRequest>,asynchronous=true,contentType=application/x-www-form-urlencoded,responseCode=0]]. Sending...>2018-04-09 10:48:46,639 DEBUG [org.apereo.cas.util.http.SimpleHttpClient] - <Created HTTP post message payload [POST https://ca-dev-dt43.dev.crosscap.com:8443/user-api/login/cas/ HTTP/1.1]>2018-04-09 10:48:46,643 INFO [org.apereo.cas.logout.DefaultLogoutManager] - <[3] logout requests were processed>2018-04-09 10:48:46,643 DEBUG [org.apereo.cas.ticket.registry.AbstractTicketRegistry] - <Removing children of ticket [TGT-1-rFbC-nomL1ZmEYpjvWvciFTKZ9M1vfOTYNFHDbYyyimzstc98SE9X-1420SX91P-90A-ca-dev-dt43] from the registry.>2018-04-09 10:48:46,644 DEBUG [org.apereo.cas.ticket.registry.AbstractTicketRegistry] - <Unable to remove ticket [ST-3-j8U9yYSWKezbaw9v96O8-EQXYsI-ca-dev-dt43]>2018-04-09 10:48:46,644 DEBUG [org.apereo.cas.ticket.registry.AbstractTicketRegistry] - <Unable to remove ticket [ST-1-YDJa9sviT8B4b4arci0kun1fsKY-ca-dev-dt43]>2018-04-09 10:48:46,644 DEBUG [org.apereo.cas.ticket.registry.AbstractTicketRegistry] - <Unable to remove ticket [ST-2-DnO-sHlxfAgVZ3fDbfTdZR-1NsI-ca-dev-dt43]>2018-04-09 10:48:46,645 DEBUG [org.apereo.cas.ticket.registry.AbstractTicketRegistry] - <Removing ticket [TGT-1-rFbC-nomL1ZmEYpjvWvciFTKZ9M1vfOTYNFHDbYyyimzstc98SE9X-1420SX91P-90A-ca-dev-dt43] from the registry.>2018-04-09 10:48:46,645 DEBUG [org.apereo.cas.AbstractCentralAuthenticationService] - <Publishing [org.apereo.cas.support.events.ticket.CasTicketGrantingTicketDestroyedEvent@7a5d2ef3[ticketGrantingTicket=TGT-1-rFbC-nomL1ZmEYpjvWvciFTKZ9M1vfOTYNFHDbYyyimzstc98SE9X-1420SX91P-90A-ca-dev-dt43]]>2018-04-09 10:48:46,647 DEBUG [org.apereo.cas.authentication.PseudoPlatformTransactionManager] - <Initiating transaction commit>2018-04-09 10:48:46,647 DEBUG [org.apereo.cas.web.flow.TerminateSessionAction] - <Removing CAS cookies>2018-04-09 10:48:46,647 DEBUG [org.apereo.cas.web.support.TGCCookieRetrievingCookieGenerator] - <Removed cookie with name [TGC]>2018-04-09 10:48:46,647 DEBUG [org.apereo.cas.web.WarningCookieRetrievingCookieGenerator] - <Removed cookie with name [CASPRIVACY]>2018-04-09 10:48:46,647 DEBUG [org.apereo.cas.web.flow.TerminateSessionAction] - <Destroying application session>2018-04-09 10:48:46,681 DEBUG [org.apereo.cas.web.flow.TerminateSessionAction] - <Terminated all CAS sessions successfully.>2018-04-09 10:48:46,689 DEBUG [org.apereo.cas.web.flow.LogoutAction] - <Using parameter name [service] to detect destination service, if any>2018-04-09 10:48:46,689 DEBUG [org.apereo.cas.web.flow.LogoutAction] - <Located target service [service] for redirection after logout>2018-04-09 10:48:46,689 DEBUG [org.apereo.cas.web.flow.LogoutAction] - <Redirecting to service [https://ca-dev-dt43.dev.crosscap.com:8443/platformadmin/]>2018-04-09 10:48:46,689 DEBUG [org.apereo.cas.web.flow.LogoutAction] - <Moving forward to finish the logout process>2018-04-09 10:48:46,693 DEBUG [org.apereo.cas.support.pac4j.web.flow.SAML2ClientLogoutAction] - <The current client is not a SAML2 client or it cannot be found at all, no logout action will be executed.>Right now, the system is able to logout out of all the SP modules, but not logged out from the SAML IDP.The reason that no SAML2 client is found during logout, is because no userProfile is saved in the session.It seems the userProfile is saved via org.pac4j.core.engine.DefaultCallbackLogic#saveUserProfile.We didn't use the callBackFilter in our delegate authentication flow, as we couldn't get it work together with the other CAS filters. We just used the CasAuthenticationEntryPoint and CasAuthenticationFilter.Does this mean we must use the pac4j callBackFilter to get the SAML2ClientLogoutAction to perform correctly?ThanksPaul L
--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+u...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/aa01f261-99a6-4837-9c1d-7ffab62987b9%40apereo.org.