Skip to content

Conversation

codepitbull
Copy link
Contributor

@codepitbull codepitbull commented Oct 16, 2025

Motivation

Resolves #36525

Changes
Add LDAP authentication support

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request adds LDAP authentication support to the HiveMQ Edge Admin API, allowing users to be authenticated against an LDAP directory server instead of using a static user list in the configuration file.

Key Changes:

  • Implemented comprehensive LDAP client library with support for multiple TLS modes (NONE, LDAPS, START_TLS)
  • Added XML configuration schema and entities for LDAP authentication
  • Refactored authentication provider interface from IUsernamePasswordProvider to IUsernameRolesProvider
  • Integrated UnboundID LDAP SDK and Testcontainers for testing

Reviewed Changes

Copilot reviewed 45 out of 45 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
hivemq-edge/src/main/java/com/hivemq/api/auth/provider/impl/ldap/*.java Core LDAP client implementation with connection management, DN resolution strategies, and TLS support
hivemq-edge/src/main/java/com/hivemq/configuration/entity/api/Ldap*.java XML configuration entities for LDAP authentication settings
hivemq-edge/src/main/resources/config.xsd Schema definition for LDAP configuration elements
hivemq-edge/src/main/java/com/hivemq/api/auth/provider/IUsernameRolesProvider.java Refactored authentication provider interface
hivemq-edge/src/main/java/com/hivemq/api/ioc/ApiModule.java Dependency injection configuration for LDAP authentication
hivemq-edge/src/test/java/com/hivemq/api/auth/provider/impl/ldap/*.java Comprehensive integration and unit tests with testcontainers
hivemq-edge/build.gradle.kts, gradle/libs.versions.toml Added UnboundID LDAP SDK and Testcontainers dependencies

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@codepitbull codepitbull force-pushed the feature/36525-ldap-support branch from 81fc017 to 554e05a Compare October 16, 2025 15:07
Copy link
Contributor

@marregui marregui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me, all tests pass. I left a few knits to pick.

Copy link
Member

@caoccao caoccao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants