Json2Ldap

Json2Ldap is a JSON-to-LDAP gateway software, written in Java and developed by Nimbus Directory Services. It provides a JSON-RPC 2.0 interface for web clients to access one or more LDAP v3 - compatible directories. The Json2Ldap web API supports the standard LDAP directory requests as well as several extended operations and controls.

Background
Json2Ldap was initially conceived as a lightweight JSON alternative to existing XML-based gateways for providing directory service access to web browsers. Its first official release was in May 2010. In May 2011 development of the software was passed to Nimbus Directory Services.

Interface specification
Json2Ldap provides a JSON web interface for establishing LDAP client connections to one or more directory servers.

Client web interface:
 * Version 2.0 of the JSON-RPC protocol.
 * Requests are accepted over HTTP POST.
 * Optional support for Cross-Origin Resource Sharing (CORS) requests.

Supported standard LDAP directory operations (as per RFC 4510):
 * Bind (authenticate): simple, plain SASL, digest MD5 SASL, anonymous
 * Search
 * Compare
 * Add a new entry
 * Delete an entry
 * Modify an entry
 * Modify distinguished name (DN)
 * Unbind

Supported extended LDAP operations:


 * Password Modify (RFC 3062)
 * StartTLS (RFC 4511)
 * Who am I (RFC 4532)

Supported extended LDAP controls:


 * Authorisation identity bind control (RFC 3829).
 * Server-side sorting of search results (RFC 2891).
 * Simple paged results (RFC 2696).
 * Virtual-list-view search control (draft-ietf-ldapext-ldapv3-vlv-09)
 * Sub-tree delete (draft-armijo-ldap-treedelete-02).

Non-standard extensions:


 * Secure Remote Password protocol (SRP-6a) authentication.

Example request message
Example directory search request:

Example response message
Example directory search response:

System requirements
Json2Ldap is distributed as a Java web application archive (WAR) for deployment in a Java servlet container.