-
Notifications
You must be signed in to change notification settings - Fork 4k
Implement LDAP credentials validation via HTTP API #14414
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement LDAP credentials validation via HTTP API #14414
Conversation
e6b0667 to
d60588b
Compare
b9af493 to
12a3d69
Compare
|
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
2103317 to
9127acb
Compare
|
@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
|
Given the scope of this endpoint, I guess asking for a new |
Implement LDAP credentials validation via HTTP API (backport #14414)
…x/pr-14414 Revert "Implement LDAP credentials validation via HTTP API (backport #14414)"
I take this back. Always enabling I guess a new |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.