camunda / camunda-bpm-platform

Flexible framework for workflow and decision automation with BPMN and DMN. Integration with Quarkus, Spring, Spring Boot, CDI.
https://camunda.com/
Apache License 2.0
4.11k stars 1.55k forks source link

LDAP identity plugin passes authentication exceptions to the engine #3474

Closed mboskamp closed 1 year ago

mboskamp commented 1 year ago

Acceptance Criteria (Required on creation)

The LDAP identity plugin can perform a password check for a given user. If the LDAP server responds with an error, this error is never propagated back to the calling code. There should be a way to handle those exceptions as ProcessEngineExceptions.

Hints

This code performs the password check and handles the returned error.

Links

Breakdown

### Tasks
- [ ] https://github.com/camunda/camunda-bpm-platform/pull/3529
- [ ] https://github.com/camunda/camunda-docs-manual/pull/1487
mboskamp commented 1 year ago

Solution ideas

Option 1: Plugin config flag

Introduce a plugin configuration flag that controls whether an LdapAuthenticationException is silently caught or re-thrown in the password check method

Pros:

Cons:

~Option 2: Dedicated password check~

The webapps could use a different password check method than the Java API. This dedicated method would re-throw the LdapAuthenticationException.

Pros:

Cons:

mboskamp commented 1 year ago

Decision:

We will go with solution 1: plugin config flag