diff --git a/src/Model/User.php b/src/Model/User.php index 6178906aa2..27f7ff66f7 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -127,18 +127,18 @@ class User { $user = self::getAuthenticationInfo($user_info); - if (password_verify($password, $user['password'])) { - if (password_needs_rehash($user['password'], PASSWORD_DEFAULT)) { - self::updatePassword($user['uid'], $password); - } - - return $user['uid']; - } elseif (strpos($user['password'], '$') === false) { + if (strpos($user['password'], '$') === false) { if (self::hashPasswordLegacy($password) === $user['password']) { self::updatePassword($user['uid'], $password); return $user['uid']; } + } elseif (password_verify($password, $user['password'])) { + if (password_needs_rehash($user['password'], PASSWORD_DEFAULT)) { + self::updatePassword($user['uid'], $password); + } + + return $user['uid']; } throw new Exception(L10n::t('Login failed'));