SAML Logout
I'm working on SAML 2.0 integration on totally clean 6.4.8.1 instance.
Login works properly. However, logout fails with NPE. In logs I see:
19.06.2020 11:32:21.061 *ERROR* [0:0:0:0:0:0:0:1 [1592555541049] GET /system/sling/logout.html HTTP/1.1] com.adobe.granite.auth.saml.SamlAuthenticationHandler Unable to perform SAML logout.
java.lang.NullPointerException: null
at com.adobe.granite.auth.saml.SamlAuthenticationHandler.createLogoutRequest(SamlAuthenticationHandler.java:916) [com.adobe.granite.auth.saml:1.0.10.CQ640-B0012]
at com.adobe.granite.auth.saml.SamlAuthenticationHandler.dropCredentials(SamlAuthenticationHandler.java:663) [com.adobe.granite.auth.saml:1.0.10.CQ640-B0012]
at org.apache.sling.auth.core.impl.AuthenticationHandlerHolder.doDropCredentials(AuthenticationHandlerHolder.java:95) [org.apache.sling.auth.core:1.4.2]
at org.apache.sling.auth.core.impl.AbstractAuthenticationHandlerHolder.dropCredentials(AbstractAuthenticationHandlerHolder.java:103) [org.apache.sling.auth.core:1.4.2]
........................................................................
In settings dropCredentials set to true and logoutUrl is filled with KeyCloak logout URL.
According to my investigation, the handler's code might try to get NameQualifier and SpNameQualifier. SAML 2.0 specification defines these attributes as optional. Also, these attributes are not present in the IdP response.
I'm confused since I have just two logout-related configuration options and there is nothing I can do more.
Any ideas how to resolve the issue?
Thanks