]> git.mxchange.org Git - friendica-addons.git/commitdiff
[ldapauth] Add addon config
authorHypolite Petovan <mrpetovan@gmail.com>
Thu, 28 Jun 2018 03:14:29 +0000 (23:14 -0400)
committerHypolite Petovan <mrpetovan@gmail.com>
Tue, 10 Jul 2018 12:39:47 +0000 (08:39 -0400)
- Update mentions of .htconfig.php

ldapauth/README
ldapauth/config/ldapauth.ini.php [new file with mode: 0644]
ldapauth/ldapauth.php

index ee09e94d67fe6ced31b82dae654bb793624b7820..9aac825826c4c357ab10935f51759890ea6d9cbd 100644 (file)
@@ -3,35 +3,36 @@ Useful for Windows Active Directory and other LDAP-based organisations
 to maintain a single password across the organisation.
 Optionally authenticates only if a member of a given group in the directory.
 
-By default, the person must have registered with Friendica using the normal registration 
+By default, the person must have registered with Friendica using the normal registration
 procedures in order to have a Friendica user record, contact, and profile.
 However, it's possible with an option to automate the creation of a Friendica basic account.
 
 Note when using with Windows Active Directory: you may need to set TLS_CACERT in your site
-ldap.conf file to the signing cert for your LDAP server. 
+ldap.conf file to the signing cert for your LDAP server.
 
-The configuration options for this module may be set in the .htconfig.php file
+The configuration options for this module may be set in the config/local.ini.php file
 e.g.:
 
-// ldap hostname server - required
-$a->config['ldapauth']['ldap_server'] = 'host.example.com';
-// dn to search users - required
-$a->config['ldapauth']['ldap_searchdn'] = 'ou=users,dc=example,dc=com';
-// attribute to find username - required
-$a->config['ldapauth']['ldap_userattr'] = 'uid';
+       [ldapauth]
+       // ldap hostname server - required
+       ldap_server = host.example.com
+       // dn to search users - required
+       ldap_searchdn = ou=users,dc=example,dc=com
+       // attribute to find username - required
+       ldap_userattr = uid
 
-// admin dn - optional - only if ldap server dont have anonymous access
-$a->config['ldapauth']['ldap_binddn'] = 'cn=admin,dc=example,dc=com';
-// admin password - optional - only if ldap server dont have anonymous access
-$a->config['ldapauth']['ldap_bindpw'] = 'password';
+       // admin dn - optional - only if ldap server dont have anonymous access
+       ldap_binddn = cn=admin,dc=example,dc=com
+       // admin password - optional - only if ldap server dont have anonymous access
+       ldap_bindpw = password
 
-// for create Friendica account if user exist in ldap
-//     required an email and a simple (beautiful) nickname on user ldap object
-//   active account creation - optional - default none
-$a->config['ldapauth']['ldap_autocreateaccount'] = 'true';
-//   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';
+       // for create Friendica account if user exist in ldap
+       //     required an email and a simple (beautiful) nickname on user ldap object
+       //   active account creation - optional - default none
+       ldap_autocreateaccount = true
+       //   attribute to get email - optional - default : 'mail'
+       ldap_autocreateaccount_emailattribute = mail
+       //   attribute to get nickname - optional - default : 'givenName'
+       ldap_autocreateaccount_nameattribute = givenName
 
 ...etc.
diff --git a/ldapauth/config/ldapauth.ini.php b/ldapauth/config/ldapauth.ini.php
new file mode 100644 (file)
index 0000000..19d5549
--- /dev/null
@@ -0,0 +1,50 @@
+<?php return <<<INI
+
+; Warning: Don't change this file! It only holds the default config values for this addon.
+; Instead overwrite these config values in config/local.ini.php in your Friendica directory
+
+[ldapauth]
+; ldap_server (String)
+; ldap hostname server - required
+; Example: ldap_server = host.example.com
+ldap_server =
+
+; ldap_binddn (String)
+; admin dn - optional - only if ldap server dont have anonymous access
+; Example: ldap_binddn = cn=admin,dc=example,dc=com
+ldap_binddn =
+
+; ldap_bindpw (String)
+; admin password - optional - only if ldap server dont have anonymous access
+ldap_bindpw =
+
+; ldap_searchdn (String)
+; dn to search users - required
+; Example: ldap_searchdn = ou=users,dc=example,dc=com
+ldap_searchdn =
+
+; ldap_userattr (String)
+; attribute to find username - required
+; Example: ldap_userattr = uid
+ldap_userattr =
+
+; ldap_group (String)
+; DN of the group whose member can auth on Friendica - optional
+ldap_group =
+
+; ldap_autocreateaccount (Boolean)
+; for create Friendica account if user exist in ldap
+;      required an email and a simple (beautiful) nickname on user ldap object
+; active account creation - optional - default none
+ldap_autocreateaccount = true
+
+; ldap_autocreateaccount_emailattribute (String)
+; attribute to get email - optional - default : 'mail'
+ldap_autocreateaccount_emailattribute = mail
+
+; ldap_autocreateaccount_nameattribute (String)
+; attribute to get nickname - optional - default : 'givenName'
+ldap_autocreateaccount_nameattribute = givenName
+
+INI;
+//Keep this line
\ No newline at end of file
index d06874b7cbfaf1696e7a0416a4ee0c7ee28c2573..134a97df1f0dec9597ebf3c71f661af302a135cf 100644 (file)
  * Note when using with Windows Active Directory: you may need to set TLS_CACERT in your site
  * ldap.conf file to the signing cert for your LDAP server.
  *
- * The configuration options for this module may be set in the .htconfig.php file
+ * The configuration options for this module may be set in the config/local.ini.php file
  * e.g.:
  *
- * // ldap hostname server - required
- * $a->config['ldapauth']['ldap_server'] = 'host.example.com';
- * // dn to search users - required
- * $a->config['ldapauth']['ldap_searchdn'] = 'ou=users,dc=example,dc=com';
- * // attribute to find username - required
- * $a->config['ldapauth']['ldap_userattr'] = 'uid';
+ * [ldapauth]
+ * ; ldap hostname server - required
+ * ldap_server = host.example.com
+ * ; dn to search users - required
+ * ldap_searchdn = ou=users,dc=example,dc=com
+ * ; attribute to find username - required
+ * ldap_userattr = uid
  *
- * // admin dn - optional - only if ldap server dont have anonymous access
- * $a->config['ldapauth']['ldap_binddn'] = 'cn=admin,dc=example,dc=com';
- * // admin password - optional - only if ldap server dont have anonymous access
- * $a->config['ldapauth']['ldap_bindpw'] = 'password';
+ * ; admin dn - optional - only if ldap server dont have anonymous access
+ * ldap_binddn = cn=admin,dc=example,dc=com
+ * ; admin password - optional - only if ldap server dont have anonymous access
+ * ldap_bindpw = password
  *
- * // for create Friendica account if user exist in ldap
- * //     required an email and a simple (beautiful) nickname on user ldap object
- * //   active account creation - optional - default none
- * $a->config['ldapauth']['ldap_autocreateaccount'] = 'true';
- * //   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'] = 'cn';
+ * ; for create Friendica account if user exist in ldap
+ * ;     required an email and a simple (beautiful) nickname on user ldap object
+ * ;   active account creation - optional - default none
+ * ldap_autocreateaccount = true
+ * ;   attribute to get email - optional - default : 'mail'
+ * ldap_autocreateaccount_emailattribute = mail
+ * ;   attribute to get nickname - optional - default : 'givenName'
+ * ldap_autocreateaccount_nameattribute = cn
  *
  * ...etc.
  */
@@ -58,14 +59,21 @@ use Friendica\Model\User;
 
 function ldapauth_install()
 {
+       Addon::registerHook('load_config',  'addon/ldapauth/ldapauth.php', 'ldapauth_load_config');
        Addon::registerHook('authenticate', 'addon/ldapauth/ldapauth.php', 'ldapauth_hook_authenticate');
 }
 
 function ldapauth_uninstall()
 {
+       Addon::unregisterHook('load_config',  'addon/ldapauth/ldapauth.php', 'ldapauth_load_config');
        Addon::unregisterHook('authenticate', 'addon/ldapauth/ldapauth.php', 'ldapauth_hook_authenticate');
 }
 
+function ldapauth_load_config(\Friendica\App $a)
+{
+       $a->loadConfigFile(__DIR__. '/config/ldapauth.ini.php');
+}
+
 function ldapauth_hook_authenticate($a, &$b)
 {
        if (ldapauth_authenticate($b['username'], $b['password'])) {