aservo / ldap-crowd-adapter

An LDAP server that delegates request to Atlassian Crowd
Apache License 2.0
2 stars 3 forks source link

Synchronization crowd data error #18

Closed h6happy closed 2 years ago

h6happy commented 2 years ago

hi,I run a container according to the following instructions

docker run \ --detach \ --net=host \ --name crowd-ldap-server \ --env "CROWD_APP_NAME=crowd-openid-server" \ --env "CROWD_APP_PASSWORD=my_password" \ --env "CROWD_SERVER_URL=http://my_crowd_ip:port/crowd/services/" \ --env "SERVER_BIND_ADDRESS=localhost:10389" \ aservo/crowd-ldap-server:latest

The crowd parameter has been modified to the correct value,And it can be connected to crowd correctly. But it seems that the following happens when synchronizing crowd data:

1、The container reported the following error: ldap-crowd-adapter | [error] [2022-05-20T03:16:44,905] [pool-3-thread-1] [de.aservo.ldap.adapter.backend.MirroredCrowdDirectoryBackend] An error occurred during synchronization.

2、The crowd reported the following error: INFO [crowd.manager.application.ApplicationServiceGeneric] Invalid credentials for user admin in directory MyCrowd (163841), aborting

How to solve this problem? Thank you very much

brettaufheber commented 2 years ago

Hello @h6happy, the problem is that two ways of authentication are needed because this tool uses the application and the admin API of the Crowd server.

For authentication (login) and authorization (user, group queries) an application entry in Crowd is needed.

For synchronization with Crowd a user with admin privileges is needed.

Check the file etc/backend.properties for example values.

Also, we highly recommend to use this tool with a PostgreSQL database in production. This allows materialized views for high throughput and stability. PostgreSQL is, as far as I know, the only database that prevents phantom reads for isolation level "Repeatable read" which is important for very frequent synchronizations with the Crowd server.

Example config for PostgreSQL database:

Unfortunately, a useful documentation is currently missing. But the documentation will be made in the near future.

The file init.sh shows the full range of environment variables.

Let me know if you have any further problems with the deployment.

Best regards

h6happy commented 2 years ago

Your reply is very timely and useful. The problem has been solved. Thank you very much. Best regards