public function loadUserByUsername($username) { $user = $this->userRepository->findOneBy(['spotifyId' => $username]); if (!$user instanceof SpotifyUser) { return new SpotifyUser($username); } if ($user->getAccessTokenExpires() <= time() + 10) { $refreshResponse = $this->resourceOwner->refreshAccessToken($user->getRefreshToken()); $user->setAccessToken($refreshResponse['access_token']); $user->setAccessTokenExpires(time() + $refreshResponse['expires_in']); $this->em->persist($user); $this->em->flush(); } return $user; }