]> git.mxchange.org Git - friendica-addons.git/blobdiff - ldapauth/ldapauth.php
Merge pull request #445 from annando/new-worker
[friendica-addons.git] / ldapauth / ldapauth.php
index 55c855af99e839ccd3da4fd76e7b29cc7c8b8dce..699d0dca71b3c2ec5d73fd37046a57c5b25fed2b 100755 (executable)
  * //   attribute to get email - optional - default : 'mail'
  * $a->config['ldapauth']['ldap_autocreateaccount_emailattribute'] = 'mail';
  * //   attribute to get nickname - optional - default : 'givenName'
- * $a->config['ldapauth']['ldap_autocreateaccount_nameattribute'] = 'givenName';
+ * $a->config['ldapauth']['ldap_autocreateaccount_nameattribute'] = 'cn';
  *
  * ...etc.
  */
 
 require_once('include/user.php');
 
+use Friendica\Core\Config;
+
 
 function ldapauth_install() {
        register_hook('authenticate', 'addon/ldapauth/ldapauth.php', 'ldapauth_hook_authenticate');
@@ -78,35 +80,41 @@ function ldapauth_hook_authenticate($a,&$b) {
 
 function ldapauth_authenticate($username,$password) {
 
-    $ldap_server   = get_config('ldapauth','ldap_server');
-    $ldap_binddn   = get_config('ldapauth','ldap_binddn');
-    $ldap_bindpw   = get_config('ldapauth','ldap_bindpw');
-    $ldap_searchdn = get_config('ldapauth','ldap_searchdn');
-    $ldap_userattr = get_config('ldapauth','ldap_userattr');
-    $ldap_group    = get_config('ldapauth','ldap_group');
-    $ldap_autocreateaccount = get_config('ldapauth','ldap_autocreateaccount');
-    $ldap_autocreateaccount_emailattribute = get_config('ldapauth','ldap_autocreateaccount_emailattribute');
-    $ldap_autocreateaccount_nameattribute = get_config('ldapauth','ldap_autocreateaccount_nameattribute');
+    $ldap_server   = Config::get('ldapauth','ldap_server');
+    $ldap_binddn   = Config::get('ldapauth','ldap_binddn');
+    $ldap_bindpw   = Config::get('ldapauth','ldap_bindpw');
+    $ldap_searchdn = Config::get('ldapauth','ldap_searchdn');
+    $ldap_userattr = Config::get('ldapauth','ldap_userattr');
+    $ldap_group    = Config::get('ldapauth','ldap_group');
+    $ldap_autocreateaccount = Config::get('ldapauth','ldap_autocreateaccount');
+    $ldap_autocreateaccount_emailattribute = Config::get('ldapauth','ldap_autocreateaccount_emailattribute');
+    $ldap_autocreateaccount_nameattribute = Config::get('ldapauth','ldap_autocreateaccount_nameattribute');
        
     if(! ((strlen($password))
             && (function_exists('ldap_connect'))
-            && (strlen($ldap_server))))
+            && (strlen($ldap_server)))) {
+            logger("ldapauth: not configured or missing php-ldap module");
             return false;
+    }
 
     $connect = @ldap_connect($ldap_server);
 
-    if(! $connect)
+    if($connect === false) {
+        logger("ldapauth: could not connect to $ldap_server");
         return false;
+    }
 
     @ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION,3);
     @ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);
     if((@ldap_bind($connect,$ldap_binddn,$ldap_bindpw)) === false) {
+        logger("ldapauth: could not bind $ldap_server as $ldap_binddn");
         return false;
     }
 
     $res = @ldap_search($connect,$ldap_searchdn, $ldap_userattr . '=' . $username);
 
     if(! $res) {
+        logger("ldapauth: $ldap_userattr=$username,$ldap_searchdn not found");
         return false;
     }