diff options
Diffstat (limited to 'lib/user.php')
-rw-r--r-- | lib/user.php | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/lib/user.php b/lib/user.php index 0f6f40aec9a..da774ff86f0 100644 --- a/lib/user.php +++ b/lib/user.php @@ -410,22 +410,18 @@ class OC_User { * @brief Check if the password is correct * @param string $uid The username * @param string $password The password - * @return bool + * @return mixed user id a string on success, false otherwise * * Check if the password is correct without logging in the user * returns the user id or false */ public static function checkPassword($uid, $password) { - $user = self::getManager()->get($uid); - if ($user) { - if ($user->checkPassword($password)) { - return $user->getUID(); - } else { - return false; - } - } else { - return false; + $manager = self::getManager(); + $username = $manager->checkPassword($uid, $password); + if ($username !== false) { + return $manager->get($username)->getUID(); } + return false; } /** |