Author: angela
Date: Wed Jul 20 10:32:35 2016
New Revision: 1753480

URL: http://svn.apache.org/viewvc?rev=1753480&view=rev
Log:
OAK-3211 : Document External Identity Management

Modified:
    
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/identitymanagement.md
    
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/ldap.md

Modified: 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/identitymanagement.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/identitymanagement.md?rev=1753480&r1=1753479&r2=1753480&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/identitymanagement.md
 (original)
+++ 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/identitymanagement.md
 Wed Jul 20 10:32:35 2016
@@ -26,24 +26,55 @@ of the external authentication with opti
 ### Identity Management API
 
 - [ExternalIdentityProviderManager]: factory for the `ExternalIdentityProvider`
-- [ExternalIdentityProvider]: provides user/group information from a third 
party system.
+- [ExternalIdentityProvider]: used to authenticate against the third party 
system. 
+Additionally provides method to obtain information about external user/group 
+accounts such as needed for the [synchronization](usersync.html) into the 
repository.
 - [ExternalIdentity]: base interface for an external user/group
     - [ExternalUser]
     - [ExternalGroup]
-- [ExternalIdentityRef]: reference to an external user/group
+- [ExternalIdentityRef]: reference to an external user/group consisting of id 
and provider name.
 
 ### Default Implementation
 
-The default implementation present with Oak 1.0 allows for third party 
authentication
-against LDAP.
+The `oak-auth-external` module come with a default implementation of the 
+`ExternalIdentityProviderManager` and OSGi component that tracks all
+external IDPs that are registered via OSGi. While OSGi setup is recommended
+way, it can equally be used in non-OSGi environments by manually adding 
+and removing the providers.
+
+There exists not default implementation for the other interfaces related
+to external identity management. However, Oak 1.0 provides support for third 
+party authentication and identity management against LDAP covered by
+a separate module `oak-auth-ldap`. This is covered by section [LDAP 
Integration](ldap.html).
 
-_todo_
+### Pluggability
 
-The configuration details are described in section [LDAP 
Integration](ldap.html).
+#### Custom External Identity Management
 
-### Pluggability
+In order to plug a custom implementation of the external identity management
+the following steps are required:
+
+- Write your own implementation [ExternalIdentityProvider] including your 
implementations of the external identities. 
+  _Note:_ If you are running Oak in an OSGi based setup, make sure the 
provider gets registered as OSGi service in which case it will be automatically 
tracked by the default [ExternalIdentityProviderManager].
+- Deploy the bundle containing your implementation such that the IDP gets
+  tracked by the [ExternalIdentityProviderManager]. In an non-OSGi environment
+  you have to register it manually
+- Link your identity provider to the `ExternalLoginModule` by configuring the 
IDP name accordingly (see section 
[Configuration](externalloginmodule.html#configuration))  
+
+##### Examples
+
+See [CustomExternalIdentityProvider] in the `oak-exercise` module for a
+very simplistic implementation for an OSGi-based Oak setup.
+
+#### Custom ExternalIdentityProviderManager
+
+Since `oak-auth-external` provides a default [ExternalIdentityProviderManager] 
+a custom identity management doesn't need provide a separate implementation 
+of this interface. 
 
-_todo_
+If you wish to provider your own [ExternalIdentityProviderManager] in an
+OSGi environment, please make sure it gets properly referenced by the
+`ExternalLoginModuleFactory`.
 
 <!-- references -->
 [ExternalIdentityProviderManager]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalIdentityProviderManager.html
@@ -51,4 +82,5 @@ _todo_
 [ExternalIdentity]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalIdentity.html
 [ExternalUser]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalUser.html
 [ExternalGroup]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalGroup.html
-[ExternalIdentityRef]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalIdentityRef.html
\ No newline at end of file
+[ExternalIdentityRef]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalIdentityRef.html
+[CustomExternalIdentityProvider]: 
http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/security/authentication/external/CustomExternalIdentityProvider.java
\ No newline at end of file

Modified: 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/ldap.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/ldap.md?rev=1753480&r1=1753479&r2=1753480&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/ldap.md 
(original)
+++ 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/ldap.md 
Wed Jul 20 10:32:35 2016
@@ -43,7 +43,7 @@ The [LdapIdentityProvider] is a service
 In an OSGi-base setup the configuration options required in order to establish
 connections to the LDAP are obtained form the properties associated with the 
service.
 
-Otherwise the identity provider must be instanciated with the corresponding
+Otherwise the identity provider must be instantiated with the corresponding
 `LdapProviderConfig` object revealing the mandatory config options. The details
 of the LDAP configuration are listed below in section Configuration.
 
@@ -51,7 +51,7 @@ of the LDAP configuration are listed bel
 
 Currently the only way to combine multiple LDAP sources is to have multiple
 entries of the `ExternalLoginModule` configured in the JAAS setup each coming
-with it's own identity provider implementation.
+with it's own identity provider implementation and sync handler.
 
 See [OAK-1839] for an improvement request that allows to have multiple identity
 provider implementations configured with the `ExternalLoginModule`.


Reply via email to