Software:Json2Ldap
![]() | |
Developer(s) | NimbusDS |
---|---|
Stable release | 3.0.2
/ April 8, 2014 |
Operating system | Cross-platform |
Platform | Java |
Type | Middleware |
License | Proprietary |
Website | http://connect2id.com |
Json2Ldap is a JSON-to-LDAP gateway software, written in Java and developed by Nimbus Directory Services.[1] It provides a JSON-RPC 2.0 interface for web clients to access one or more LDAP v3 - compatible directories.[2] The Json2Ldap web API supports the standard LDAP directory requests as well as several extended operations and controls.[3]
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.[4] In May 2011 development of the software was passed to Nimbus Directory Services.[5]
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 messages
Example request message
Example directory search request:
{ "method" : "ldap.search", "params" : { "CID" : "096032ca-ca91-47eb-a366-143832ff4a26", "baseDN" : "ou=people,dc=my,dc=org", "scope" : "SUB", "filter" : "(givenName=Alice)" }, "id" : "0001", "jsonrpc" : "2.0" }
Example response message
Example directory search response:
{ "result" : { "objectClass" : [ "top", "person", "inetOrgPerson" ], "uid" : [ "alice" ], "mail" : [ "alice@wonderland.net" ], "sn" : [ "Kingsleigh" ], "cn" : [ "Alice Kingsleigh" ], "initials" : [ "AK" ], "mobile" : [ "+44 755 123 456" ] }, "id" : "0001", "jsonrpc" : "2.0" }
System requirements
Json2Ldap is distributed as a Java web application archive (WAR) for deployment in a Java servlet container.[6]
See also
References
- ↑ "Announcement of Nimbus Directory Services taking over Json2Ldap development". http://blog.dzhuvinov.com/?p=791.
- ↑ "Network World, Security Identity Management Alert, 2010-07-20". 20 July 2010. http://www.networkworld.com/newsletters/2010/071910id2.html.
- ↑ "Json2Ldap web API". http://connect2id.com/products/json2ldap/web-api.
- ↑ "Give your LDAP server a JSON front-end". http://blog.dzhuvinov.com/?p=96.
- ↑ "Announcement of Nimbus Directory Services taking over Json2Ldap development". http://blog.dzhuvinov.com/?p=791.
- ↑ "Json2Ldap system requirements". http://connect2id.com/products/json2ldap/datasheet.