/**
  * @param Request $request
  * @return RedirectResponse
  */
 public function authorize(Request $request)
 {
     $query = $request->query;
     $token = $this->authService->getStoredRequestToken();
     if ($query->get('oauth_token') == $token->getToken() && $query->get('oauth_verifier')) {
         $user = $this->authService->getAccessToken($token, $query->get('oauth_verifier'));
         $this->authService->removeStoredRequestToken();
         $this->userSessionService->setMinimalUserInfo($user);
     }
     if ($query->get('destination')) {
         return new RedirectResponse($query->get('destination'));
     } else {
         return new RedirectResponse($this->urlGenerator->generate($this->defaultDestination));
     }
 }
 /**
  * @param GetResponseEvent $event
  */
 public function handle(GetResponseEvent $event)
 {
     $user = $this->userSessionService->getMinimalUserInfo();
     if (!is_null($user)) {
         $token = new UiTIDToken();
         $token->setUser((string) $user->getId());
         try {
             $authToken = $this->authenticationManager->authenticate($token);
             $this->tokenStorage->setToken($authToken);
             return;
         } catch (AuthenticationException $exception) {
         }
     }
     $response = new Response('Unauthorized access.', Response::HTTP_UNAUTHORIZED);
     $event->setResponse($response);
 }
 /**
  * @return Response
  */
 public function logout()
 {
     $this->userSessionService->logout();
     return new Response();
 }