Json2Ldap

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Json2Ldap
DeveloperNimbusDS
Stable release
3.0.2 / April 8, 2014 (2014-04-08)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    PlatformJava
    TypeMiddleware
    LicenseProprietary
    Websitehttp://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

    [edit | edit source]

    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

    [edit | edit source]

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

    Client web interface:

    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:

    Example messages

    [edit | edit source]

    Example request message

    [edit | edit source]

    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

    [edit | edit source]

    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

    [edit | edit source]

    Json2Ldap is distributed as a Java web application archive (WAR) for deployment in a Java servlet container.[6]

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).