コード例 #1
0
 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;
 }