Json2Ldap
   HOME

TheInfoList



OR:

Json2Ldap is a
JSON JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
-to-
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed Directory service, directory information services over an Internet Protocol (IP) networ ...
gateway software, written in
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
and developed by Nimbus Directory Services. It provides a
JSON-RPC JSON-RPC (JavaScript Object Notation-Remote Procedure Call) is a JSON-based wire protocol for remote procedure calls (RPC). It is similar to the XML-RPC protocol, defining only a few data types and commands. JSON-RPC allows for notifications (data ...
2.0 interface for
web client On the Web, a user agent is a software agent responsible for retrieving and facilitating end-user interaction with Web content. This includes all web browsers, such as Google Chrome and Safari, some email clients, standalone download managers li ...
s to access one or more
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed Directory service, directory information services over an Internet Protocol (IP) networ ...
v3 - compatible directories. The Json2Ldap
web API A web API is an application programming interface (API) for either a web server or a web browser. As a web development concept, it can be related to a web application's client side (including any web frameworks being used). A server-side web AP ...
supports the standard LDAP directory requests as well as several extended operations and controls.


Background

Json2Ldap was initially conceived as a lightweight
JSON JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
alternative to existing XML-based gateways for providing
directory service In computing, a directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network ...
access to
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s. 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 JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
web interface for establishing
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed Directory service, directory information services over an Internet Protocol (IP) networ ...
client connections to one or more
directory server In computing, a directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network r ...
s. Client web interface: * Version 2.0 of the
JSON-RPC JSON-RPC (JavaScript Object Notation-Remote Procedure Call) is a JSON-based wire protocol for remote procedure calls (RPC). It is similar to the XML-RPC protocol, defining only a few data types and commands. JSON-RPC allows for notifications (data ...
protocol. * Requests are accepted over
HTTP HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
POST. * Optional support for
Cross-Origin Resource Sharing Cross-origin resource sharing (CORS) is a mechanism to safely bypass the same-origin policy, that is, it allows a web page to access restricted resources from a server on a domain different than the domain that served the web page. A web page m ...
(CORS) requests. Supported standard
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed Directory service, directory information services over an Internet Protocol (IP) networ ...
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 The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed Directory service, directory information services over an Internet Protocol (IP) networ ...
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 The Secure Remote Password protocol (SRP) is an augmented password-authenticated key exchange (PAKE) protocol, specifically designed to work around existing patents. Like all PAKE protocols, an eavesdropper or man in the middle cannot obtain eno ...
(SRP-6a) authentication.


Example messages


Example request message

Example directory search request:


Example response message

Example directory search response:


System requirements

Json2Ldap is distributed as a
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
web application archive (WAR) for deployment in a Java
servlet container A web container (also known as a servlet container; and compare "webcontainer" ) is the component of a web server that interacts with Jakarta Servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a pa ...
.


See also

*
JSON-RPC JSON-RPC (JavaScript Object Notation-Remote Procedure Call) is a JSON-based wire protocol for remote procedure calls (RPC). It is similar to the XML-RPC protocol, defining only a few data types and commands. JSON-RPC allows for notifications (data ...
*
List of LDAP software The following is a list of software programs that can communicate with and/or host directory services via the Lightweight Directory Access Protocol (LDAP). Server software Server software (Env + Auth + Access) * FS: Federation Services S ...


References

{{Reflist Java platform Directory services