Allow custom AuthenticationProvider's to be registered via dependency injection
-------------------------------------------------------------------------------
Key: CMIS-379
URL: https://issues.apache.org/jira/browse/CMIS-379
Project: Chemistry
Issue Type: Wish
Components: opencmis-client
Affects Versions: OpenCMIS 0.3.0
Environment: n/a
Reporter: Peter Monks
As documented at
http://incubator.apache.org/chemistry/opencmis-client-bindings.html, the only
way to configure a custom AuthenticationProvider is to specify the
fully-qualified classname as a String entry in the Session parameters Map.
This is a crude approach that (amongst other things) makes it very difficult to
implement a custom AuthenticationProvider that itself has one or more
dependencies.
The solution is to support (but not require, obviously) the dependency
injection of custom AuthenticationProviders, either directly (can be injected
directly into the CmisBindingFactory) or indirectly (can be injected into
custom client code, and than passed either as a Session parameter or whatever
to CmisBindingFactory).
>From a brief perusal it appears there are at least two ways of achieving this:
# allow an *instance* of an AuthenticationProvider to be provided in the
Session parameters Map. Note: this would require that the type of the Map is
modified from Map<String, String> to Map<String, Object>, but this is probably
a good idea anyway as it seems unlikely that all Session parameters, now and in
the future, will always be Strings.
# add a setter to the CmisBindingFactory that allows the AuthenticationProvider
to be configured directly.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira