/** * {@inheritDoc} */ public function connect(UserInterface $user, UserResponseInterface $response) { $providerName = $response->getResourceOwner()->getName(); $uniqueId = $response->getUsername(); $user->addOAuthAccount($providerName, $uniqueId); $this->userManager->updateUser($user); }
/** * {@inheritdoc} */ protected function updateUserByOAuthUserResponse(UserInterface $user, UserResponseInterface $response) { /** @var UserOAuthInterface $oauth */ $oauth = $this->oauthFactory->createNew(); $oauth->setIdentifier($response->getUsername()); $oauth->setProvider($response->getResourceOwner()->getName()); $oauth->setAccessToken($response->getAccessToken()); $oauth->setProfilePicture($response->getProfilePicture()); /* @var DoSUserInterface $user */ $user->addOAuthAccount($oauth); $this->userManager->persist($user); $this->userManager->flush(); return $user; }
/** * Attach OAuth sign-in provider account to existing user. * * @param UserInterface $user * @param UserResponseInterface $response * * @return UserInterface */ private function updateUserByOAuthUserResponse(UserInterface $user, UserResponseInterface $response) { $oauth = $this->oauthFactory->createNew(); $oauth->setIdentifier($response->getUsername()); $oauth->setProvider($response->getResourceOwner()->getName()); $oauth->setAccessToken($response->getAccessToken()); $oauth->setRefreshToken($response->getRefreshToken()); /* @var $user SyliusUserInterface */ $user->addOAuthAccount($oauth); $this->userManager->persist($user); $this->userManager->flush(); return $user; }