#summary Library module for LDAP
= Introduction =
This module is used by other modules to access an LDAP server. It's pretty useless on its own; you should use it if you want to write your own LDAP-related module, or if you want to use one of mine ([mod_auth_ldap2], [mod_storage_ldap]).
= Installation =
Simply copy ldap.lib.lua into your Prosody installation's plugins directory.
= Configuration =
Configuration for this module (and all modules that use it) goes into the _ldap_ section of your prosody.cfg.lua file. Each plugin that uses it may add their own sections; this plugin relies on the following keys:
* hostname - Where your LDAP server is located
* bind_dn - The DN to perform queries as
* bind_password - The password to use for queries
* use_tls - Whether or not TLS should be used to connect to the LDAP server
* user.usernamefield - The LDAP field that contains a user's username
* user.basedn - The base DN for user records
= API =
== ldap.getconnection() ==
Returns an LDAP connection object corresponding to the configuration in prosody.cfg.lua. The connection object is a [http://www.keplerproject.org/lualdap/ LuaLDAP] connection.
== ldap.getparams() ==
Returns the LDAP configuration provided in prosody.cfg.lua. Use this if you want to stick some configuration information for your module into the LDAP section in the configuration file.
== ldap.bind(username, password) ==
Verifies that _username_ and _password_ bind ok. *NOTE*: This does not bind the current LDAP connection to the given username!
== ldap.singlematch(query) ==
Used to fetch a single LDAP record given an LDAP query. A convenience function.
== ldap.filter.combine_and(...) ==
Takes a list of LDAP filter expressions and returns a filter expression that results in the intersection of each given expression (it ANDs them together).
= More Information =
For more information, please consult the README.md file under prosody-modules/mod_lib_ldap.