Change user <-> assertion association to use the dn attribute
This commit is contained in:
parent
8af076abc5
commit
d240225ba2
11
start.php
11
start.php
|
@ -28,12 +28,15 @@
|
|||
$elgg_user = saml_map_attributes($attributes);
|
||||
if ($isAuth && ! isloggedin() && $elgg_user)
|
||||
{
|
||||
$user = get_user_by_username($elgg_user['username']);
|
||||
if ($user = get_entities_from_metadata('ldapDN', $dn, 'user')) {
|
||||
$user = $user[0];
|
||||
}
|
||||
if (! $user)
|
||||
{
|
||||
register_user($elgg_user['username'], $elgg_user['password'],
|
||||
register_user($elgg_user['ldapDN'], $elgg_user['password'],
|
||||
$elgg_user['name'], $elgg_user['email']);
|
||||
$user = get_user_by_username($elgg_user['username']);
|
||||
$user = get_user_by_username($elgg_user['ldapDN']);
|
||||
$user->ldapDN = $elgg_user['ldapDN'];
|
||||
}
|
||||
else
|
||||
saml_sync_user($user, $elgg_user);
|
||||
|
@ -62,6 +65,7 @@
|
|||
{
|
||||
$user->name = $elgg_user['name'];
|
||||
$user->email = $elgg_user['email'];
|
||||
$user->ldapDN = $elgg_user['ldapDN'];
|
||||
$user->save();
|
||||
}
|
||||
|
||||
|
@ -91,6 +95,7 @@
|
|||
$elgg_user['username'] = $attributes[$config->username][0];
|
||||
$elgg_user['password'] = gen_rand_pwd();
|
||||
$elgg_user['name'] = '';
|
||||
$elgg_user['ldapDN'] = $attributes['dn'];
|
||||
if ($attributes[$config->surname] || $attributes[$config->firstname])
|
||||
{
|
||||
if ($attributes[$config->firstname])
|
||||
|
|
Reference in New Issue