Restore support for authentication-handler-specific Credentials
---------------------------------------------------------------

                 Key: SLING-1554
                 URL: https://issues.apache.org/jira/browse/SLING-1554
             Project: Sling
          Issue Type: Improvement
          Components: Commons
            Reporter: Ray Davis


Jackrabbit 1.6.2's standard repository login accepted any implementation of 
Credentials. This let Sling authentication plugins define their own Credentials 
classes, and the OpenID Authentication extension creates a component-specific 
Credentials class in its "extractCredentials" method and checks it in 
"canHandle".

Jackrabbit 2.0 changed the AbstractLoginModule to reject Credentials classes 
other than SimpleCredentials and GuestCredentials. As a result, by default 
"getCredentials" will return null if an AuthenticationHandler supplied any 
other implementation.

A superclass of DefaultLoginModule has two ways around this: to override 
getCredentials() or to override supportCredentials(). Currently, Sling's 
PluggableDefaultLoginModule overrides getCredentials but does so only to allow 
for Sling's TrustedCredentials class.

Either the PluggableDefaultLoginModule should let LoginModulePlugin 
implementations use their own Credentials classes (by doing the usual loop 
around "canHandle(creds)"), or the restriction should be documented and the 
OpenID extension changed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to