You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Lars Krapf (JIRA)" <ji...@apache.org> on 2016/04/20 23:50:25 UTC

[jira] [Created] (SLING-5675) Logout only called if AuthenticationHandler is registered to "/"

Lars Krapf created SLING-5675:
---------------------------------

             Summary: Logout only called if AuthenticationHandler is registered to "/"
                 Key: SLING-5675
                 URL: https://issues.apache.org/jira/browse/SLING-5675
             Project: Sling
          Issue Type: Bug
          Components: Authentication
    Affects Versions: Auth Core 1.3.14
            Reporter: Lars Krapf


In {{SlingAuthenticator.logout()}} only the AuthenticationHandlers which are registered on paths which are roots of {{SlingAuthenticator.getHandlerSelectionPath()}} are selected.

This path should either be taken from the servlet path, or will be read from the {{Authenticator.LOGIN_RESOURCE}} request attribute _if it is present_.

Now, in {{LogoutServlet.service()}} the LOGIN_RESOURCE is _always_ set to it's default value ("/") by calling {{AuthUtil.setLoginResourceAttribute()}}. 

As a result, {{dropCredentials()}} will only be called on authentication handlers which are registered to "/". 

My expectation is that the selection of logout handlers should be independent of their registration paths, in order to allow a POST to {{/system/sling/logout}} have *all* registered handlers drop credentials. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)