I've been trying to setup LDAP Authentication with StatusNet 1.0.1 for a while with no dice. I don't seem to be able to login after putting this on my config.php (I've hidden sensible information):
addPlugin('ldapAuthentication', array(
'provider_name'=>'LDAP SERVER',
'authoritative'=>false,
'autoregistration'=>true,
'binddn'=>'uid=statusnet,ou=Applications,dc=ORGANIZATION-HIDDEN',
'bindpw'=>'PASSWORD-HIDEEN',
'basedn'=>'ou=People,dc=ORGANIZATION-HIDDEN',
'host'=>array('ldap'),
'password_changeable'=>false,
'email_changeable'=>false,
'attributes'=>array(
'username'=>'uid',
'nickname'=>'uid',
'email'=>'mail',
'fullname'=>'cn'
)
));
All I get on login is a blank screen.
The ldap server is not reached, based on ldap server logs. However, an XMPP server on the same machine is able to reach it, so there's not firewall/connection problem.
I've successfully setup StatusNet 0.9.7 with a not binding server on the past (only copypasted from there, added the binding lines). I've also tried to comment the binding lines (that would not succeed, but I'm still trying to reach the server! something goes very wrong somewhere!).
Commenting out all that lines (that is, not adding the plugin) makes login work again for admin user.
Some ideas on how can I proceed from here? How to make StatusNet more verbose? Logs somewhere?
Thank you.
Comments
PHP Fatal error: Class User_username contains 1 abstract method and must therefore be declared
abstract or implement the remaining methods (Managed_DataObject::schemaDef) in /var/www/statusnet/classes/User_username.php on line 63
Then, the bug might solve, to add following code after '###END_AUTOCODE' (26 lines) of 'classes/User_username.php'.
########## Code Start ##########
public static function schemaDef() {
return array(
'description' => 'local username',
'fields' => array(
'provider_name' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'collate' => 'utf8_bin', 'description' => 'provider name'),
'username' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'collate' => 'utf8_bin', 'description' => 'user name'),
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'user id'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
'primary key' => array('provider_name', 'username'),
);
}
########## Code End ##########
Best regards,