gnu-social/plugins/LdapAuthentication
Craig Andrews ed690615de Added a User_username table that links the external username with a StatusNet user_id
Added EmailAuthenticationPlugin
Added ReverseUsernameAuthenticationPlugin
Changed the StartChangePassword and EndChangePassword events to take a user, instead of a nickname
User::allowed_nickname was declared non-static, but used as if it was static, so I made the declaration static
2009-11-12 20:12:36 -05:00
..
LdapAuthenticationPlugin.php Added a User_username table that links the external username with a StatusNet user_id 2009-11-12 20:12:36 -05:00
README Added a User_username table that links the external username with a StatusNet user_id 2009-11-12 20:12:36 -05:00

The LDAP Authentication plugin allows for StatusNet to handle authentication through LDAP.

Installation
============
add "addPlugin('ldapAuthentication', array('setting'=>'value', 'setting2'=>'value2', ...);" to the bottom of your config.php

Settings
========
provider_name*: a unique name for this authentication provider.
authoritative (false): Set to true if LDAP's responses are authoritative (meaning if LDAP fails, do check any other plugins or the internal password database).
autoregistration (false): Set to true if users should be automatically created when they attempt to login.
email_changeable (true): Are users allowed to change their email address? (true or false)
password_changeable (true): Are users allowed to change their passwords? (true or false)

host*: LDAP server name to connect to. You can provide several hosts in an array in which case the hosts are tried from left to right.. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
port: Port on the server. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
version: LDAP version. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
starttls: TLS is started after connecting. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
binddn: The distinguished name to bind as (username). See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
bindpw: Password for the binddn. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
basedn*: LDAP base name (root directory). See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
options: See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
filter: Default search filter. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
scope: Default search scope. See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php

attributes: an array with the key being the StatusNet user attribute name, and the value the LDAP attribute name
    username*
    nickname*
    email
    fullname
    homepage
    location
    
* required
default values are in (parenthesis)

Example
=======
Here's an example of an LDAP plugin configuration that connects to Microsoft Active Directory.

addPlugin('ldapAuthentication', array(
    'provider_name'=>'Example',
    'authoritative'=>true,
    'autoregistration'=>true,
    'binddn'=>'username',
    'bindpw'=>'password',
    'basedn'=>'OU=Users,OU=StatusNet,OU=US,DC=americas,DC=global,DC=loc',
    'host'=>array('server1', 'server2'),
    'attributes'=>array(
        'nickname'=>'sAMAccountName',
        'email'=>'mail',
        'fullname'=>'displayName')
));