Hello everybody.
I am running CAS 6.3.2 and set up Delegated Authentication towards an external OpenID Connect service based upon Keycloak.
Authentication works fine, I get back a Principal with ID taken from the "preferred_username" field.
But when application logs out from CAS, the session against the external provider keeps alive and further authentication attempts go through without credential submission.
It seems that the Pac4J OidcLogoutActionBuilder does not come into play also if it should, I am having an hard time to tell why.
When KeycloakOidcClient is created, OidcLogoutActionBuilder seems to be built and logoutUrl is correct (but I had to explicitly set it in configuration, otherwise it was null).
I cannot understand why the authentication flow misses that logout step, I believe CAS server should send a request to that logoutUrl when client ticket is destroyed.
Dependencies in build.gradle:
compile "org.apereo.cas:cas-server-support-jdbc-drivers:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-jpa-ticket-registry:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-jpa-service-registry:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-jdbc:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-ldap:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-pac4j-webflow:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-saml:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-rest:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-reports:${casServerVersion}"
compile "org.apereo.cas:cas-server-support-openid:${casServerVersion}"
compile "org.apereo.cas:cas-server-core-authentication-api:${casServerVersion}"
compile "org.apereo.cas:cas-server-core-api-configuration-model:${casServerVersion}"
CAS Configuration: cas.properties (attached)
Service json: general-1001.json (attached)
Sample log: sample.log (attached)
Thank you very much.
Vincenzo Colonnella