/** * Attach OAuth sign-in provider account to existing user * * @param FOSUserInterface $user * @param UserResponseInterface $response * * @return FOSUserInterface */ protected function updateUserByOAuthUserResponse(FOSUserInterface $user, UserResponseInterface $response) { $oauth = $this->oauthRepository->createNew(); $oauth->setIdentifier($response->getUsername()); $oauth->setProvider($response->getResourceOwner()->getName()); $oauth->setAccessToken($response->getAccessToken()); /* @var $user SyliusUserInterface */ $user->addOAuthAccount($oauth); $this->userManager->updateUser($user); return $user; }