/** * @inheritdoc */ public function loadUserByOAuthUserResponse(UserResponseInterface $response) { try { $user = $this->userManager->findUser($response->getEmail()); } catch (\Exception $e) { $username = $response->getEmail(); $firstName = $response->getFirstName() != '' ? $response->getFirstName() : $response->getNickName(); $lastName = $response->getLastName() != '' ? $response->getLastName() : ''; try { $user = $this->userManager->createNewUser($username, $response->getEmail(), $firstName, $lastName); } catch (\Exception $e) { throw $e; } } return new User($user); }
protected function loadTwitterUser(UserResponseInterface $response) { $user = $this->userManager->createUser(); $user->setUsername($response->getUsername()); $user->setEmail($response->getEmail()); $user->setLastName($response->getRealName()); $user->setFirstName($response->getNickName()); $user->setType($response->getResourceOwner()->getName()); $user->setAccessToken($response->getAccessToken()); $user->setLocale($response->getLocale()); if (is_null($user->getLocale())) { $user->setLocale('fr'); } $user->setRoles(['ROLE_USER']); $user->setPassword(''); $user->setEnabled(true); $user->setCreatedAt(new \DateTime()); $user->setUpdatedAt(new \DateTime()); $this->userManager->updateUser($user); return $user; }