If the httpauth bundle *is* still needed, then it might need revision, as it appears to interpret the "sling:authRequestLogin" request parameter in a way that conflicts with other authentication handlers.

The request parameter "sling:authRequestLogin" is currently documented as a way to select which AuthenticationHandler receives a requestCredentials call. The OpenID authentication handler uses it in this fashion.

However, httpauth's AuthorizationHeaderAuthenticationHandler uses it in another way. If "sling:authRequestLogin" is any non-null value, then its extractCredentials method requests basic authentication and returns "AuthenticationInfo.DOING_AUTH". Since extractCredentials calls occur first, this effectively blocks the requestCredentials logic.

For example, using a current build of Sling trunk, with my only change being to open "/system/sling/openid/login" to anonymous access, I find that immediately after I submit the OpenID login form, I receive a basic authentication prompt from the browser. Only after I stop the org.apache.sling.httpauth bundle can OpenID authentication proceed as documented.

What's the recommendation here?

Thanks,
Ray

On 7/2/10 9:45 AM, Ian Boston wrote:
Hi

I notice that the extension http auth bundle is still in list.xml, however the 
Authentication hander does http basic by default if all else fails ?
are both still needed ?

Ian


Reply via email to