public function getConnect(OAuthInterface $oauth)
 {
     $roles = array();
     $enabled = true;
     $userNonExpired = true;
     $credentialsNonExpired = true;
     $userNonLocked = true;
     $user = new User($oauth->getNickname(), '', $roles, $enabled, $userNonExpired, $credentialsNonExpired, $userNonLocked);
     return $user;
 }
 public function connect(OAuthInterface $oauth, UserInterface $user = null)
 {
     if (!$user) {
         $user = $this->userManager->createUser();
         $user->setUsernameCanonical($oauth->getUsername());
         $user->setUsername($oauth->getNickname());
         $user->setEmail($this->generateEmail($oauth));
         $user->setEnabled(true);
         $this->userManager->updateUser($user);
     } else {
         if ($user->hasOAuth($oauth->getOwner())) {
             new \LogicException(sprintf('User %s is already connect %s oauth', $user->getUsername(), $oauth->getOwner()));
         }
     }
     $oauth->setUser($user);
     $this->oauthManager->updateOAuth($oauth);
     return $user;
 }