. */ namespace vierbergenlars\AuthserverOAuthAccountBundle\Controller; use HWI\Bundle\OAuthBundle\Controller\ConnectController as BaseConnectController; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use vierbergenlars\AuthserverExternalAccountBundle\Entity\ExternalUser; use vierbergenlars\AuthserverOAuthAccountBundle\DependencyInjection\AuthserverOAuthAccountExtension; class ConnectController extends BaseConnectController { protected function render($view, array $parameters = [], Response $response = null) { if($view === 'HWIOAuthBundle:Connect:connect_success.html.twig') return $this->redirectToRoute('user_profile'); $resourceOwnerConfig = $this->container->get(AuthserverOAuthAccountExtension::RESOURCE_OWNER_MAP_SERVICE); return parent::render($view, $parameters + ['resourceOwnerConfig' => $resourceOwnerConfig], $response); } public function disconnectServiceAction(Request $request, ExternalUser $externalUser) { if($externalUser->getUser() !== $this->getUser()) throw $this->createAccessDeniedException(); $form = $this->createForm(FormType::class); $form->handleRequest($request); if($form->isSubmitted() && $form->isValid()) { $this->container->get('hwi_oauth.account.connector')->disconnect($externalUser); return $this->redirectToRoute('user_profile'); } return $this->render('AuthserverOAuthAccountBundle:Connect:disconnect_service.html.twig', [ 'externalUser' => $externalUser, 'form' => $form->createView(), ]); } }