first(); if (! $user) { return; } $hashed = $user->password; if (!Hash::needsRehash($hashed)) { if (!Hash::check($password, $hashed)) { return; } } elseif (md5($password) !== $hashed) { return; } else { // ✅ Nếu MD5 khớp → nâng cấp lên bcrypt $user->password = Hash::make($password); $user->save(); } return new User($user->getAuthIdentifier()); } }