[Ldap] fix refreshUser() ignoring extra_fields
This commit is contained in:
parent
5b719d1ee4
commit
cb8f12996c
|
@ -108,7 +108,7 @@ class LdapUserProvider implements UserProviderInterface, PasswordUpgraderInterfa
|
|||
throw new UnsupportedUserException(sprintf('Instances of "%s" are not supported.', \get_class($user)));
|
||||
}
|
||||
|
||||
return new LdapUser($user->getEntry(), $user->getUsername(), $user->getPassword(), $user->getRoles());
|
||||
return new LdapUser($user->getEntry(), $user->getUsername(), $user->getPassword(), $user->getRoles(), $user->getExtraFields());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -330,4 +330,14 @@ class LdapUserProviderTest extends TestCase
|
|||
$provider = new LdapUserProvider($ldap, 'ou=MyBusiness,dc=symfony,dc=com', null, null, [], 'sAMAccountName', '({uid_key}={username})', 'userpassword', ['email']);
|
||||
$this->assertInstanceOf(LdapUser::class, $provider->loadUserByUsername('foo'));
|
||||
}
|
||||
|
||||
public function testRefreshUserShouldReturnUserWithSameProperties()
|
||||
{
|
||||
$ldap = $this->createMock(LdapInterface::class);
|
||||
$provider = new LdapUserProvider($ldap, 'ou=MyBusiness,dc=symfony,dc=com', null, null, [], 'sAMAccountName', '({uid_key}={username})', 'userpassword', ['email']);
|
||||
|
||||
$user = new LdapUser(new Entry('foo'), 'foo', 'bar', ['ROLE_DUMMY'], ['email' => 'foo@symfony.com']);
|
||||
|
||||
$this->assertEquals($user, $provider->refreshUser($user));
|
||||
}
|
||||
}
|
||||
|
|
Reference in New Issue