A +1 on that approach. Automate as much as possible, but also allow an 
override in specific cases.

Jan
-- 
Jan H Wildeboer                |
EMEA Open Source Affairs       | Office: +49 (0)89 205071-207
Red Hat GmbH                   | Mobile: +49 (0)174 33 23 249
Technopark II, Haus C          | Fax:    +49 (0)89 205071-111
Werner-von-Siemens-Ring 11 -15 |
85630 Grasbrunn                |
_____________________________________________________________________

Reg. Adresse: Red Hat GmbH,
Technopark II, Haus C, Werner-von-Siemens-Ring 11 -15
85630 Grasbrunn, Handelsregister: Amtsgericht Muenchen HRB 153243
Geschaeftsfuehrer: Brendan Lane, Charlie Peters, Michael Cunningham,
Charles Cachera
_____________________________________________________________________

GPG Key:     3AC3C8AB
Fingerprint: 3D1E C4E0 DD67 E16D E47A  9564 A72F 5C39 3AC3 C8AB

----- Original Message -----
From: statusnet-dev-boun...@lists.status.net 
<statusnet-dev-boun...@lists.status.net>
To: statusnet-dev@lists.status.net <statusnet-dev@lists.status.net>
Sent: Wed Dec 02 04:54:44 2009
Subject: [StatusNet-dev] ldap and jabber accounts consideration

Hi,

Normal statusnet sites have a sort of adhoc user base whereas a site
that uses the ldap plugin (with 'authoritative'=>true and
'autoregistration'=>true) already has a defined user base. This setup
probably corresponds to a company or an institution installation
(which is my case). In this scenario it's likely that the jabber
server also uses ldap to validate users.

The ldap plugin can take the user's email attribute from the ldap
server and set it in the database plus email_confirmed=true;
Our users will use statusnet primarily via xmpp, so we'd like to
automate the jabber account too.

We know the users' jabber accounts.
ejabberd.cfg
{auth_method, ldap}.
{ldap_base, "ou=people,dc=example,dc=com"}.
{ldap_uids, [{"uid", "%u"}]}.

'uid' is also used by the ldap plugin

config.php
addPlugin('ldapAuthentication', array(
    'attributes'=>array(
        'username'=>'uid',
        'nickname'=>'uid',
....

So we can set them in the statusnet databse.

plugins/LdapAuthentication/LdapAuthenticationPlugin.php
function autoRegister($username)
{
...
            if (common_config('xmpp', 'server')){
                $jabber_server = common_config('xmpp', 'server');
                $jabber_id=$username.'@'.$jabber_server;
                $registration_data['jabber']=$jabber_id;
            }
...

classes/User.php
static function register($fields) {
...
        if(isset($jabber) && $jabber) {
            $user->jabber = $jabber;
        }
...

It's rudimentary and I'm not sure if it would be practical to build
something like this into the default instalation, but you get the
picture.

Thanks,
Chris.
_______________________________________________
StatusNet-dev mailing list
StatusNet-dev@lists.status.net
http://lists.status.net/mailman/listinfo/statusnet-dev
_______________________________________________
StatusNet-dev mailing list
StatusNet-dev@lists.status.net
http://lists.status.net/mailman/listinfo/statusnet-dev

Reply via email to