1

I am in need of using a bpmn2.0 standard engine, and among the options Camunda seemed the best for offering almost everything for free and open-source. But I don't want to use Camunda's user management and authentication system. I want to use my own module that I have made in NodeJS + MongoDB. From what I was seeing there is a Camunda activatable plugin to use LDAP servers for user authentication. Will I have to redo my entire module to be an LDAP server? Should I synchronize user information stored in Mongo on an LDAP server? Is Camunda the best option or should I think of a NodeJS library? (The libraries I've seen so far have a confusing syntax, so I'd prefer use the Camunda REST API, but I'm open to recommendations). Thanks in advance!

1 Answers1

0

Camunda internally uses an IdentityService (Java interface) for group and user management. The default implementation is using jdbc tables to store the data.

The LDAP plugin is an alternative implementation based on that interface that uses LDAP. You can easily provide a custom implementation of the same interface that uses something completely different for user/group storage and authentication. But since camunda is a java library/application, all of those will have to be java implementations. If you want to use mongo/node you will have to set up an IdentityService that connects to mongo or uses a node.js REST interface. This will be custom code, I am not aware of any existing solutions.

There are some examples and forum discussions online if you want to explore further, for example: https://github.com/hashlash/example-camunda-custom-identity-service

Jan Galinski
  • 11,768
  • 8
  • 54
  • 77
  • Thanks for your answer. So, if I have an OpenLDAP running on Docker, could I connect to it using the LDAP plugin of Camunda? – Lucio Fontanari Nov 27 '19 at 14:37
  • Yes. I didn't use the plugin myself so far, but it should just work by providing the address of the ldap installation, no matter if it's running on docker. – Jan Galinski Nov 27 '19 at 21:31