Active Directory REST API for querying and managing users, groups, and OUs over LDAP.
- SDK used in this workspace: .NET
10.0.101 - Application target framework:
net10.0 - Test target framework:
net10.0
- Exposes versioned REST endpoints for:
- Users
- Groups
- Organizational Units (OUs)
- Performs LDAP-backed read/write operations
- Uses API-key based auth + claims authorization (
isAdministrator,isMonitor) - Publishes OpenAPI/Swagger docs
adrapi/: Web API host, controllers, LDAP integration, security middleware, managersdomain/: Domain models and custom exceptionstests/: Test project and environment-specific test settingsbuild/: NUKE build tooling
Main runtime configuration lives in:
adrapi/appsettings.jsonadrapi/appsettings.Development.jsonadrapi/security.json
Important settings:
ldap: LDAP servers and connection detailscertificate:file/certificate:password: HTTPS certificate for KestrelAllowedHosts: Host binding behavior (*maps to0.0.0.0in startup)
The API expects these headers:
api-key:keyID:secretKeyapi-version: API version selector
Claims are loaded from security.json.
isAdministrator: read/write accessisMonitor: read-oriented access
dotnet restore adrapi.sln
dotnet run --project adrapi/adrapi.csprojDefault Kestrel bindings are configured in code:
- HTTP:
:6000 - HTTPS:
:6001
- Interactive docs:
/swagger - Detailed reference:
/Users/felipe/Dev/adrapi/docs/API_REFERENCE.md - Usage guide:
/Users/felipe/Dev/adrapi/docs/USAGE_GUIDE.md - Migration notes:
/Users/felipe/Dev/adrapi/docs/MIGRATION_NOTES.md - Curl collection:
/Users/felipe/Dev/adrapi/docs/CURL_COLLECTION.md
- Use a local
net10.0runtime/SDK for build and tests. - The repository includes legacy code paths and compatibility behaviors for older LDAP contracts; keep changes backward-compatible unless intentionally versioned.
Apache License v2.0