On 11/05/2016 09:39, Shagun Akarsh wrote:
Thanks Francesco.
In my scenario I am trying to synchronizing user information from
central user repository (openLdap) to application database (MySQL) and
vice-versa using Syncope. But my applications (web application)
databases can be on different datacenters and are behind firewall and
thus cannot establish direct DB connections, so instead I need to sync
it over http/REST based APIs.
We need external cloud Identity Management connector that can connect
to application's public REST or http based API's to update
application's linked DB. I found a similar project
<https://wiki.evolveum.com/display/midPoint/Google+summer+of+code+2016#Googlesummerofcode2016-Project:CloudIdentitymanagement>
in Midpoint IdM's project list, so this hints that I need to write a
connector for connecting to my external web service (behind which
application DB is present).
Understand. writing your own REST connector is definitely an option;
another option is to extend / customize the ConnId SOAP connector.
https://connid.atlassian.net/wiki/display/BASE/SOAP
https://github.com/Tirasa/ConnIdSOAPBundle
To create a connector for our web service I read this connId
documentation
https://connid.atlassian.net/wiki/display/BASE/Create+new+connector. I
get the following error on running maven command:
Failed to execute goal
org.apache.maven.plugins:maven-archetype-plugin:2.4:generate
(default-cli) on project standalone-pom: The desired archetype does
not exist (net.tirasa.connid:connector-archetype:1.4.3.0).
This question pertains more the ConnId user list, but I can provide help
here as well.
ConnId 1.4.3.0 is not released yet, so for the time being the command to
execute for generating a project from archetype is instead
mvn archetype:generate \
-DarchetypeGroupId=net.tirasa.connid \
-DarchetypeArtifactId=connector-archetype \
-DarchetypeRepository=https://oss.sonatype.org/content/repositories/snapshots/
\
-DarchetypeVersion=1.4.3.0-SNAPSHOT
Then you can edit the generated pom.xml by replacing any
1.4.3.0-SNAPSHOT occurrence with 1.4.2.0.
For your reference, here is a connector my company Tirasa is
contributing to the CHOReVOLUTION project, which implements its methods
by invoking a remote REST service:
https://tuleap.ow2.org/plugins/git/chorevolution/connid-federation-server
HTH
Regards.
On Mon, May 9, 2016 at 7:00 PM, Francesco Chicchiriccò
<[email protected] <mailto:[email protected]>> wrote:
On 09/05/2016 14:58, Shagun Akarsh wrote:
Hello,
I am using ldap-connector (1.4.0) with syncope (1.2.7) and
openLdap (2.4.40) to synchronize user repository but it shows a
"?" (undefined status) symbol when external resource (ldap) is
added to a user.
LDAP as protocol does not provide a standardized way to determine
user status, so the LDAP connector allows to specify a
statusManagementClass for the purpose.
If you set it to
net.tirasa.connid.bundles.ldap.commons.AttributeStatusManagement
then Syncope will transparently handle it by using the
"description" attribute.
More information on
https://connid.atlassian.net/wiki/display/BASE/LDAP#Configuration
(one of last properties there).
Although it is able to create new entries in ldap & syncope mysql
db, but it fails to update on openLdap when we update an existing
entry using GUI.
This is probably due to some misconfiguration in the connector;
please take a look at this - for Syncope 1.1 but easily adaptable
to 1.2 - old post of mine for some recipes:
http://blog.tirasa.net/unlock-full-ldap-features-in.html
Moreover reading
<https://connid.atlassian.net/wiki/display/BASE/LDAP#LDAP-Installation>
about ldap-connector I found this "Sync (only with Sun Directory
Server Enterprise Edition)", so is this the reason for the issue
of sync with openLdap ? Do we need to write custom connector for
full ldap synchronization ?
From the "Changelog" chapter in the post above:
During synchronization, Apache Syncope can query the LDAP
directory server in two distinct ways: either the full list of
entries (that will need to be parsed in order to catch the actual
modifications performed since last run) or just such actual
modifications.
As anyone can see, the latter is much more better than the former
but its usage is limited due to the fact that the ConnId LDAP
connector currently supports actual synchronization operation
only from some servers (as Sun Directory Server or OpenDJ).
Unfortunately, no one has yet provided the necessary contribution
to enhance the LDAP connector with support for actual
synchronization in OpenLDAP, as you can also read from
https://connid.atlassian.net/browse/LDAP-1
At the moment, then, you can definitely pull users (and groups)
from OpenLDAP, but there is no yet support for SyncRepl (RFC 4533).
AFAICT the ConnId project would be glad to receive such
contribution ;-)
HTH
Regards.
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC,
Olingo PMC, CXF Committer, OpenJPA Committer
http://home.apache.org/~ilgrosso/