Implement LDAP credentials validation via HTTP API#14414
Merged
michaelklishin merged 2 commits intorabbitmq:mainfrom Sep 29, 2025
Merged
Implement LDAP credentials validation via HTTP API#14414michaelklishin merged 2 commits intorabbitmq:mainfrom
michaelklishin merged 2 commits intorabbitmq:mainfrom
Conversation
e6b0667 to
d60588b
Compare
b9af493 to
12a3d69
Compare
Collaborator
Author
|
cc @sunfinite for review as well. |
deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_mgmt.erl
Outdated
Show resolved
Hide resolved
deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_mgmt.erl
Outdated
Show resolved
Hide resolved
1faf571 to
2103317
Compare
the-mikedavis
approved these changes
Sep 19, 2025
2103317 to
9127acb
Compare
Collaborator
Author
|
@the-mikedavis @SimonUnge @sunfinite @BeichenZhang-BCZ - API writeup. Let me know if you have questions. |
See discussion rabbitmq#14244 These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment. * Add code and tests for `eldap:simple_bind` validation. * Add support for testing TLS connections to OpenLDAP * Add support for validating TLS related configuration via `/ldap/validate/simple-bind` * Add support for various TLS options: * versions * depth * multiple CA cert pem data * Fall back to system certs if neither `cacertfile` nor `cacerts_pem_data` are provided to the `simple-bind` validation. * Add `ssl_hostname_verification` support. * Return 422 when auth fails * Add more informative information when connection fails * Add more tests with invalid input * Catch parsing errors * Tests for edge-cases for password / user_dn * Add test for use_ssl + use_starttls combo * Add test for ssl_options.depth validation * Add validation tests for server_name_indication
e8cf69d to
9a4cb9c
Compare
the-mikedavis
approved these changes
Sep 29, 2025
michaelklishin
approved these changes
Sep 29, 2025
Collaborator
|
Given the scope of this endpoint, I guess asking for a new |
michaelklishin
added a commit
that referenced
this pull request
Sep 29, 2025
Implement LDAP credentials validation via HTTP API (backport #14414)
michaelklishin
added a commit
that referenced
this pull request
Sep 30, 2025
michaelklishin
added a commit
that referenced
this pull request
Sep 30, 2025
…x/pr-14414 Revert "Implement LDAP credentials validation via HTTP API (backport #14414)"
Collaborator
I take this back. Always enabling I guess a new |
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 2, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 2, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 2, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 2, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 2, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 3, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 3, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 3, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 10, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 22, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 23, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Oct 24, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
lukebakken
added a commit
to amazon-mq/upstream-to-rabbitmq-server
that referenced
this pull request
Nov 13, 2025
See discussion rabbitmq#14244 Follow-up to rabbitmq#14414 Cherry-picked from 9a4cb9c and then modified to move validation API endpoint to a separate plugin, `rabbitmq_auth_backend_ldap_management`. These changes will allow a user to make an HTTP API request to... ``` /api/ldap/validate/simple-bind ``` ...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See discussion #14244
These changes will allow a user to make an HTTP API request to...
...with an appropriate JSON body, and the plugin will attempt a connection to the specified LDAP server using the provided credentials. This allows validation that a connection can be made to an LDAP server from a RabbitMQ cluster environment.