/** * @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(); }